Arch Linux desktop

This is the setup that I use daily and I’m pretty happy with it. It’s gotten to a point where I don’t really change it much since it has 99% of the things I need. There’s two important parts: my dwm fork and my config files. dwm dwm is a minimalistic tiling window manager for X11, which I’ve really liked since the first time I tried it. As it’s written in C and kept to a small number of lines of code, it’s very efficient compared to other window managers. This repo contains my dwm fork that I’ve been tinkering with for almost a year. I heavily customized the config.h file to include my own keybinds, colors, and patches. I applied the “systray” patch and the “uselessgap” patch to it. ...

RV32IM disassembler

I made this riscv disassembler in 200 lines of C code and shared it in this repo. I’ve been wanting to do this project since I learned about riscv on my digital systems course, so as soon as I had some free time I got right on it. When I finished programming the command line tool, I began porting it to run in the browser, and did this all this in a few days. ...

Home server

I use a laptop I had lying around which was idle since I upgraded to a desktop PC. I first installed Ubuntu Server but didn’t like all the default services it comes with, so I ended up installing Debian on it and that worked for me. It’s connected to the router via ethernet cable for maximum reliability and I remote into it using SSH. For better performance, I didn’t install any desktop environment so I only use it from the terminal. ...

Hosting my own VPN

Last year I set up my own VPN using Wireguard and hosted it on a VPS in Azure and it worked great. I could connect to it from my phone when using public wifi networks to keep my traffic secure. In the process of configuring everything I learned a lot about server management, networking, using linux, and using cloud services. They make hosting apps pretty easy but Azure in particular has some very expensive rates. ...