Vritually all my projects are me reading a book and trying stuff out. I guess I’m not there yet.

  • tlpi
    This is a collection of numerous Linux system programs in C. I wrote this following examples and exercises from the book The Linux Programming Interface. This was one of my first introductions to C and by far the most fun book on programming. C programming and operating systems, this book made me good at both. Some notable programs I wrote are listed in the README file.
  • lox
    A tree-walk intrepreter in Go for the Lox programming language I wrote following the book Crafting Intrepreters (you can read it online for free!). This book was a nice introduction to algorithm design and I got to write a big program in Go. I wrote tests and realized the importance of them.
  • clox
    The book then goes on to writing a bytecode intrepreter in C. I was able to write some of it, but too dumb to follow through completely. Because of that, I started learning about algorithms and maybe I’ll come back to it soon.
  • algorithms
    So yeah, there I landed. This consists of examples and exercises from the book The Algorithm Desing Manual.
  • goldchain
    Second program I wrote in Go. It was a lot of fun because it involved P2P networking and Bitcoin is a fun technology in general. I wanted to implement a Bitcoin client. I read the Bitcoin specification and the official Go implementation for help. I’d say I got pretty far with this say considering my skill level. Eventually, because of lack of tests, my shitty code organization skills, and, even though P2P was fun, my lack of algorithm designing skills meant I couldn’t do it, I had to give up.
  • website
    Hugo source code that generates this website.
  • work
    My very first program in Go. This was supposed to be something like a C&C server, but because it’s kind of in the legal gray area so I couldn’t pour my heart in it. I don’t know what it turned out to be in the end. Networking made it fun and it was a nice introduction to Go.
  • purtorrent
    The first “real” program I wrote. Before this, the only programming I ever did was watching videos of someone coding and copying what they wrote. Inspired by some people, I decided to stop that and work on my own project using google for all I need to know. The fact that I didn’t have an idea about what to code couldn’t stop me because I could just implement something that has already been made and it’d still be a great learning experience. Again, networking made this fun. I read the Bittorrent specification, someone else’s python implementation, and a couple of text tutorials.
  • screwdriver
    This was inspired by purtorrent and uses its code. It connects to a torrent and runs a nmap scan on each of the peers.
  • smol
    Inspired by the hutter prize, I wanted to write a compressor, but it ended up making files bigger.
  • scripts
    Python scripts that have made my life easier. They have saved from numerous serious predicaments.
  • sicp
    I guess I read Structure and Interpretation of Computer Programs at some point.
  • configs
    I don’t customize things much, but here’s what I have. I use neovim, tmux, bash, and awesome window manager.