Chubak Bidpaa's Libre Project Showcase
Welcome to my Github profile, where I host git repositoriies of my libre projects. Please use the menu below to navigate to the several interweaving sections of this document. All the repos listed in this page are released under either GPLv3 or MIT license.
- Introduction
- Special Showcase
- Projects by Topic
- Codes and Projects by Language
- Donation
- Sites and Social Media
Introduction
Hi, I go by Chubak but you can call me anything you want. I do systems programming, mostly with C. I know a good amount of *NIX and POSIX system calls, the STDC library, Windows 32 and 64 API, shell scripting, x86-64 and Aarch64 Assembly, Python scripting, and also, I am learning electronics --- enough so I can make my own embedded devices.
I really enjoy venturing into the world of the unknown and coming back with a sackfull of knowledge. Kinda like Indiana Jones. I read up on a lot of computational theory, discrete mathematics, language development, electronics, digital design, etc. These are my favorite books, or 'Pentateuch' on the subject:
1- Sipser's book on computational theory
2- The Dragon Book
3- The Wizard Book
4- Digital Design and Computer Architecture
5- Art of Electronics
And I guess for now the Apocrypha would be AST's OS Dev Books (The MINIX book, Modern OS Book, Distributed Systems book).
Special Showcase
Below are some of my curated sizable projects that you will find more details about in the latter sections, and inside their repository as well:
- Stackls -> List process stack frame in Win32 API and Linux
- PoxHash -> A custom block hashing algorithm implemented in C, Rust, Go, Nim, Python and JS
- TransGatacca -> A DNA/Protein [Reverse] Translator, ABI in Aarch64 and x86-64 Assembly with C/Rust/Python API
- mathcord -> A Discord bot in Go with Shunting Yard, SHA-512 and Edwards-512 implemented manually
- PuertoRECO -> A face recognition system with liveness decetion in Python
- ProtoGen -> A series of generic application-layer protocols in Go
- Samovar -> A WIP web framework in Rust
- Profiterole -> An overhead-free profiler in C with native interface for Python
And below are some of my special small code pieces in Github Gist form:
- ShibaJS1.h -> A quick 'n dirty JSON parser in C
- DJB2-ASM -> An implementation DJB2 hash in Aarch64 and x86-64 assembly languages
- CodonEncode -> A way to encode Codon table in 8bit and 64bit integers
- Go MD5 -> An implementation of MD5 in Go
- DynoFiler -> A metaprogram in Bash for Python's line_profiler
- XUtils-1 -> PRNG for x86-64 Assembly and Hash for Aarch64 Assembly
- DNSRezulf -> A DNS Resolver in Python
- MangoMacs -> Macros and Assembly Wrappers for Linux Syscalls
- xvDSO -> Manually loading the vDSO by looking up auxillary vectors and parsing the ELF
- sGrant -> Static memory region grants based on A. Tannenbaum's paper
I have many more projects you can view below.
Projects by Topic
Eclectic Engineering
Electronics and Embedded Programming
- Scheesim -> A WIP electronics circuit simulator written entirely in Rust. As of this moment, the linear an algebraic equation solution systems have been written. Parser is at work. Next is the element stamps. Is it like SPICE? Well, kind of! You be the judge when it's done.
Math
- auster-integer [WIP] -> Big Math library. Right now contains implementations for binary operations only.
Cryptography
- PoxHash -> My very own block hashing algorithm implemented in Go, Rust, Python, Nim, JS, and C.
Bioinformatics
- ProteinToCodonTranslator and pn2codon -> Translating Amino Acid PEPs to Dash-Aligned Codons, FFI for Python in Rust.
- pylibfastcompare -> Lazy Hamming written in C for Python for bioinformatics.
- pylibfastadedupe -> Successor to pylibfastcompare (note: one is 'fast'compare one is 'fasta'dedupe.
- PhyMMR Tools -> Tools for PhyMMR in Rust. Most of it is done by @mvalentine but I did some stuff too.
Machine Learning, Auditory and Vision
- PuertoRECO -> Despite the lame pun, this is a very intricate face recognition API. It's in Python so it's not very fast. In the recent months I have decided to do less and less projects in Python because of how slow and inefficient it is. But if you are going to give me a job in Python I will do it. I especially like training using Python and predicting and doing the MLOps in Rust or Go.
- WillSh3B33 -> Basically a backend and a fronted for a model I made. This shows my skills in MLOps. The model itself, it's not very strong but I have learned a lot about training and structuring models since then.
- Arriv-O-Pred -> Basic train time arrival tool which Felix helped me make in my early days. After Tanami, I owe most my professional life to Felix. This man's a behemoth of ML!
- SongOfSprockets -> A voice conversion tool using GMM, a fork of Sprocker-VC with a UI using Dear Imgui.
- ClickBait Generator -> A very simple click-bait generator project.
- pyramid-anomaly-detection -> Anomaly detection in Python that makes heavy use of vectorization.
- intresignia -> Traffic sign detection.
- SummerSavory -> Shape irregularity index score, contains implementation of several algorithms in classical vision, WIP
Systems and Network
Web and System Automation
- Upsc3ne -> An obscenity detector written in Rust. It's kinda incomplete but already contains implementation for Levenshtein distance and fuzzy string matching.
- mathcord -> My pride and joy. A Discord math bot that includes CUSTOM implementation of Edwards-25519, SHA-512, Shunting Yard and communication with Discord API.
- potpourri -> A webscraper library for Python. Can search Google too. Can do a lot of stuff.
- CroonJoobGoo -> A cron job automator written entirely in Go. Right now it only does SQL queries/commands.
- rusty-bot-swarm -> Intricate bot project.
- Kaibash -> Very WIP Proxy in C
- ProtoGen -> A couple of application-layer potocols in Go. First is ProtoQuore (TCP) and the second is ProtoDir ( UDM). I will add a UDP one soon I just need an idea.
- Slitherbain -> Python code runner in C++. It is WIP but nearly done.
- Profiterole -> An overhead-free profiler in C with native interface for Python
- Broshelli -> A shell for the browser (mostly experimental)
- Stackls -> List process stack frame in Win32 API and Linux
Networking, Internet, and Web
- Samovar -> A full-fledged Web Framework in Rust that I keep working on until it becomes viable.
- Mongoose Jumblator -> A Typescript NPM package that encrypts MongoDB database content.
- rusty-csv-protcol -> A protocol in the application layer of OSI.
- hmac-tree -> Merkle Trees, but with HMAC! Also contains the implementation of SHA-512 and HMAC besdies MT.
- rusty-you-dee-pee -> UDP implementation in Rust with a TAP/TUN interface, includes implementation of IPv4 too, sends packets without a link layer.
- FourChidori -> A browser extension for 4chan.
- HDTP -> A WIP application-layer protocol in C. The spec document is not exactly going to be what it's going to be. But it should give you a clear idea. It's almost 40% complete, the lexer/parser is done for config files.
- Panah -> A packet wrangler and tunnel in C and Assembly.
Graphics Programming and Gaming
- Expelligraphicus -> Software rasterizer [WIP]
- Bedlam Noise Apparatus -> A pretty solid After Effects plugin that generates noise using OpenGL and GLSL. I think it's one of the few FOSS After Effects plugins out there.
- Rusty Random Pattern Generator -> A simple pattern generator in Rust.
- Pong Q-Learning -> This is a composite of ML and Game Dev. It uses Reinforcement learning to play Pong. Written in Nim using SDL.
- cep-panel and its backend -> Invisible Adobe Premiere Panel and its backend.
- NaqshSmit Renderer -> A software renderer, it's currently WIP and right now I am just following tutorials to get a foothold in rendering algos. But soon it will spiral into something worthwhile.
Small Projects in Gist
- ShibaJS1.h -> A quick 'n dirty JSON parser in C
- CUDA Gaussian Elimination -> Guassian Elmination for CUDA
- DynoFiler -> A wrapper for line_profiler around PhyMMR for easier profiling.
- PerioDetect -> For removing period-terminated sequences from FASTA files (made for PhyMMR but anyone can use it).
- Stinky -> An extremely small Morse Code translator API with a custom HTTP framework, built upon Python Streaming API
- BitwiseWord -> A small script, bitwise operations in Python on words, on binary lists of size 16
- Newton-Rhapson Intrinsics -> Newton-Rhapson method with Intel Intrinsics in C and Assembly
- Delphia Scripts -> Utility for my brother
- Go MD5 -> MD5 Implementation in Go
- LazySplit -> Lazy string/bytearray splitting in Python.
- CodonEncode -> Assembly-friendly encoding for Codons tables and their frequency.
- Zinteger -> Typed ctypes integers wrappers, dynamically-generated.
- DJB2-ASM -> An implementation DJB2 hash in Aarch64 and x86-64 assembly languages.
- SpudMacs -> Cross-architecture (x64 an a64) macros for GAS.
- XUtils-1 -> PRNG for x86-64 Assembly and Hash for Aarch64 Assembly
- DNSRezulf -> A DNS Resolver in Python
- PommeMacs -> C Preprocessor macros to make C/x86-64 Assembly cross-programming easier
- MangoMacs -> Macros and Assembly Wrappers for Linux Syscalls
- xvDSO -> Manually loading the vDSO by looking up auxillary vectors and parsing the ELF
Projects I Contribute to
- Cherry-Node -> for my work in Cherry.
- PhyMMR -> A bioinformatics project that I actively participate to for my work.
Codes and Projects by Language
Multilingual
Topic | Assembly | C | Rust | Go | Python | Nim | JS | Repo | Description | Status |
---|---|---|---|---|---|---|---|---|---|---|
Cryptography | Neither | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | PoxHash | A block hash algorithm with high avalanche effect | Finished |
Bioinformatics | Both | ✓ | ✓ | ✘ | ✓ | ✘ | ✘ | TransGatacca | DNA/Protein [Reverse] Translator | Active Development |
Network | x64 | ✓ | ✘ | ✘ | ✘ | ✘ | ✘ | Panah | A packet wrangler and tunnel | Suspended |
Assembly
Topic | x86-64 | Aarh64 | Repo | Description | Status |
---|---|---|---|---|---|
Utility/Snippet | ✓ | ✓ | DJB2 Hash | DJB2, a non-cryptographic hash function | Finished |
Metaprogramming | ✓ | ✓ | SpudMacs | Cross-architecture (x64 an a64) macros for GAS | Finished |
Utility/Subroutine | ✓ | ✓ | XUtils-1 | PRNG for x86-64 Assembly and Hash for Aarch64 Assembly | Finished |
Metaprogramming | ✓ | ✘ | PommeMacs | C Preprocessor macros to make cross-programming C and x64 Assembly easier | Finished |
Metaprogramming | ✓ | ✘ | MangoMacs | Macros and Assembly Wrappers for Linux Syscalls | FInished |
Math/Calculus | ✓ | ✘ | Newton-Rhapson Intrinsics | Newton-Rhapson method with Intel Intrinsics in C and Assembly | Finished |
C
Topic | Repo | Description | Status |
---|---|---|---|
Grammars | ShibaJS1.h | A quick 'n dirty JSON parser | Finished |
Systems/Network | Slitherbrain | Pythcode code runner in C++ | Indefinite Development |
Graphics Programming | Bedlam Noise Apparatus | Noise-generating After Effects plugin | Finished |
Bioinformatics | pylibfastcompare | Lazy-hamming multi-threaded DNA sequence deduper | Terminated |
Bioinformatics | pylibfastadedupe | Same as above, C++ version with updated perforomance | Terminated |
Network | HDTP | WIP, Hyper Data Transfer Protocol spec and implementation | Indefinite Development |
Network | Kaibash | Very WIP proxy | Rough Draft |
Math | CUDA Gaussian Elimination | Gaussian elimination in CUDA | Finished |
System/Linux | xvDSO | Manually loading the vDSO by looking up auxillary vectors and parsing the ELF | Finished |
Systems/Tracing | Profiterole | An overhead-free profiler in C with native interface for Python | Mostly Done |
System/Shell | Broshelli | A shell for the browser (mostly experimental) | Experimental |
Memory | sGrant | Static memory region grants based on A. Tannenbaum's paper | Finished |
System/Memory | Stackls | List process stack frame in Win32 API and Linux | Finished |
Rust
Topic | Repo | Description | Status |
---|---|---|---|
Electronics | Scheesim | Electronics circuit simulator similar to SPICE | Indefinite Development |
Network | Samovar | HTTP 1.1 framework, WIP | Revision Considered |
Network | rusty-csv-protcol | Application-level protcol | Finished |
Cryptography | hmac-tree | Merkle trees with HMAC | Finished |
Network | rusty-you-dee-pee | UDP implementation, WIP | Indefinite Development |
Bioinformatics | pn2codon | Revese-Translate Protein to DNA | Finished |
Graphics Programming | Rusty Random Pattern Generator | Pattern generator | Finished |
Graphics Programming | NaqshSmit Renderer | Software rendered, concept | Terminated |
Automation | rusty-bot-swarm | Prototype for Twitter bot pre-Musk | Terminated |
Graphics Programming | Expelligraphicus | Another concept for a rasterizer | Finished |
Automation | Upsc3ne | An early Rust code, an obscenity detector | Terminated |
Math | auster-integer | Big math WIP | Indefinite Development |
Bioinformatics | PhyMMR Tools | FFI tools for PhyMMR, some by me | Active Development |
Classical Vision | SummerSavory | Shape irregularity index score, WIP | Active Development |
Python
Topic | Repo | Description | Status |
---|---|---|---|
AI Vision | PuertoRECO | Face recognition framework | Finished |
Automation | potpourri | Web scraping framework | Finished |
AI NLP | WillSh3B33 | AI model deployed with a frontend | Finished |
AI Classical | Arriv-O-Pred | Train time arrival prediction | Finished |
Automation | PerioDetect | Period (I mean dot!) detection script | Finished |
AI Auditory | SongOfSprockets | Voice conversion tool | Finished |
AI NLP | ClickBait Generator | Very simple clickbait AI model Colab notebook | Finished |
Vision Classical | intresignia | Red traffic sign detection | Finished |
Math | pyramid-anomaly-detection | Anomaly detection tool for Python, vetorized | Finished |
Network | Stinky | Simple Python API with custom HTTP backend | Finished |
Math | BitwiseWord | Bitwise operations on word-sized binary lists | Finished |
Linux Utility | Delphia Scripts | Sripts for my brother | Active Development |
Byte Utils | LazySplit | Lazy string/bytearray splitting in Python | Finished |
Bioinformatics | CodonEncode | Assembly-friendly Cododn encoding | Finished |
Bioinformatics | ProteinToCodonTranslator | Frontend for pn2codon | Finished |
Zinteger | Zinteger | Dynamically-generated typed integers | Finished |
Internet Protocol | DNSRezulf | A DNS Resolver in Python | Finished |
Go
Topic | Repo | Description | Status |
---|---|---|---|
Network | mathcord | Discord bot with everything written from scratch | Finished |
Automation | CroonJoobGoo | SQL cron job | Finished |
Network | ProtoGen | Application-layer protocols in Go | Expansion Considered |
Misc.
Language | Topic | Repo | Description | Status |
---|---|---|---|---|
VanillaJS | Browser Addon | FourChidori | A browser add-on for 4chan | Finished |
NodeJS | Databases | Mongoose Jumblator | A plugin for Mongoose for encrpyting MongoDB | Finished |
AdobeExtendScript | Extensions | cep-panel and its backend | Concept projects for an Adobe Premiere panel | Terminated |
Bash | System Script | DynoFiler | Script for wrapaping line_profiler around PhyMMR | Finished |
Nim | ClassicalLearning | Pong Q-Learning | A test project in Nim | Finished |
Donation
If you like my work, please consider donating any amount to these wallets:
Ethereum and Binance Network:
0x503A3B99c0c086fD81186a0d5ac815eBd15e5983
TRX:
TABihfZH9tHWJnCDAK3tkpFwmSxocgn25A
BTC:
13xM3LbEFjbjwMSAs9Ybz4T6pdmJtB8F9m
BEP2 address and tags:
BEP2 Address -> bnb13eqrynp3rls3m6dsw58d3y5l7z6zfdw5zj3sdy
BEP2 Tag -> 136103027
Your donation is appreciated, and is delegated towards development of stiff libre software. Thanks in advance in case you make a donation!
Sites and Social Media
- Website -> https://chubakbidpaa.com
- Twitter -> @gvlside
- Discord -> .chubak
- Telegram -> @bidpaafx
- Email -> [email protected]
Thanks, and please take care.