Git Product home page Git Product logo

Kiyoshika

My name is Zach, Kiyoshika is random alias I used in a game called RuneScape.

I'm a self-taught programmer but also pretty passionate about statistics.

I heavily prefer statically typed languages, more specifically C and C++. I love memory management and pointers even though it can be frustrating at times.

Active contributor to Gosub Browser (Oct 2023 - Jan 2024), a web browser written in Rust.

Quick Summary

Clearly I am a fan of C

Top Langs

GitHub Streak

Projects

General (Non-Embedded)

Languages

  • Terminal Markup Language - A markup language to render interactive elements in the terminal. Essentially HTML/JS for the terminal.

Libraries

  • CSV Reader - A very simple CSV parser in C++ to process CSV files.
  • Inverse Exponential - A Python implementation of a custom inverse exponential distribution to model exponentially ascending data
  • JSON Parser for Java - A minimalistic JSON parser for Java
  • JSON Parser for C - A simple-to-use JSON parser for the C language written because I was bored on a Thursday night.
  • DataTable - A library to handle/process tabular data in C similar to Pandas for Python.
  • Cerveurus - My fork of cerveur. A simple web server framework to build web backends written in C.
  • Generalized Modelling Framework (libgmf) - A very flexible optimization framework for building different types of predictive models with modularity in mind - like legos, but for predictive modelling.
  • hashmap - A generic hashmap that supports user-defined keys and values and dynamically grows in size.
  • lookup - A generic and dynamically-sized lookup table data structure to support inserting chunks of data and performing many queries against it
  • Zumpy - A numpy-inspired array module for Python written in C. I started this project to understand how to use shared libraries in other languages, specifically Python.
  • CMatrix - A simple C matrix library for the learning experience.

Algorithms

  • asm-quicksort - A quicksort implementation written in pure assembly (GAS/gcc)
  • Generic Quicksort - A templated generic quicksort algorithm in C++ to support native and user-defined data types.
  • Simple Expression Parser - A simple mathematical expression parser that takes a character buffer representing a mathematical expression and returns the evaluated value as a float. This will be used in an upcoming embedded calculator project.
  • Quick Select - A simple implementation of the QuickSelect algorithm in C to find the k-th largest element in an unsorted array.

Software

  • Auto Systemd - A command line tool to deploy servers/jobs to a linux server using systemd.
  • Terminal Text Edit - A terminal text editor greatly inspired by vi(m) that I wrote to learn how the ncurses library works to build interactive terminal applications.
  • Feather WMS - A basic WMS (Warehouse Management System) to simulate operations within a warehouse such as queueing orders for picking, replenishment, cycle counting, receiving POs and put-away.
  • Vertisec - A Vertica SQL parser to improve the bad error messages Vertica gives by default.
  • Source Tracker - A heavily simplified "git" clone for local version control of files/code. I started this project to learn more about file management in C++ (using C++17's filesystem API).

Services

  • Mini Web Services - My tiny remake of Amazon Web Services to practice Java
  • Order Service - A mock microservice managing orders in an e-commerce platform.

Embedded

Libraries

  • HD44780 LCD Library - A lightweight library for the HD44780 16x2 character LCD for STM32 MCUs. This code in particular was written for STM32F411xx but with some code tweaks can support (in theory) any STM32 board.
  • Matrix Keypad Library - A simple library for dealing with matrix keypads. This code in particular was written for STM32F411xx but with some code tweaks can support (in theory) any STM32 board.

Samples

  • UART Server Client - A sample project to show how to make two different MCUs communicate with each other over UART. This was written "bare metal" with no libraries (besides device headers).

Software

  • Physical Clipboard Manager - My second embedded project, a physical board with 8 buttons: 4 copy, 4 paste. When you press a copy button, it will fetch the current clipboard content and store it in FLASH memory on the MCU. When you press a paste button, it will retrieve the data from memory and paste it wherever your cursor currently is. This gives you 4 unique clipboards instead of the one default with Ctrl+C & Ctrl+V.
  • Clone Hero Controller - My first embedded project, a minature game controller for playing Clone Hero assembled (messily) onto a breadboard with a STM32F411xx microcontroller.

Zach Weaver's Projects

asm-sumtwo icon asm-sumtwo

A sample program which contains a function to add two integers using 64-bit GNU assembly

auto-systemd icon auto-systemd

A command line tool to help with deploying projects to remote servers using systemd services

bare-metal-button-interrupt icon bare-metal-button-interrupt

This is some sample code I wrote for an STM32WB55xx board to toggle an LED with a button interrupt using "bare metal" code (i.e. interacting directly with the register addresses).

bootstrappercpp icon bootstrappercpp

Example implementation of a bootstrapper to estimate 95% confidence interval of the mean of sample data.

c-clipboard-api icon c-clipboard-api

A simple wrapper around different APIs for fetching and setting clipboard content.

c-linked-list icon c-linked-list

A very barebones implementation of a generic linked list in C.

cacao icon cacao

Rust bindings for AppKit (macOS) and UIKit (iOS/tvOS). Experimental, but working!

celestial icon celestial

A lightweight C library for very common data structures

cerveur icon cerveur

A HTTP Web Server Framework Written In C (Just For Fun)

cerveurus icon cerveurus

My original fork from cerveur - a simple web server framework written in C for fun and learning.

cloneherocontroller icon cloneherocontroller

A small project for building a mini physical controller for playing the game Clone Hero

cmatrix icon cmatrix

Experimental matrix / linear algebra library in pure C for my learning experience.

cppezml icon cppezml

A work in progress C++ machine learning library designed to be very easy to use. Everything pretty much written from scratch.

custom-bayesian-ttest icon custom-bayesian-ttest

This was my attempt to derive a bayesian ttest from scratch. I added notes on how it's derived but didn't actually include the math (integrals)

datatable icon datatable

A data table library similar to Pandas that I eventually want to wrap in Python and maybe other languages.

entropy-based-model-selection icon entropy-based-model-selection

Researching entropy-based model selection, this is an example of how to use information theory to select regression models.

generic-quicksort icon generic-quicksort

This is my attempt at creating a generic quicksort to work with native types as well as user-defined types.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.