From Regular Docker to Docker Swarm to Kubernetes to Podman to Regular Docker Again

homelab
I have a nasty habit of taking something is working perfectly fine using a technology that is perfectly fine then hopping to a bunch of different things out of boredom or curiosity or following “best practices”. When first starting my home server / lab, I followed what most people did and setup Docker + Docker Compose on Debian to run various self-hosted applications in containers. I was already pretty familiar with Docker since I am a software engineer so it made sense and I was able to get running pretty fast. Read more...

Playing Civilization V on Linux

gaming
I’m not really much of a gamer anymore but Civilization V is one of my favorite games of all time and I’ve got over 1,000 hours in it over over the course of 10 years as of writing this. I used to play it on a macOS but now I use Linux and have encountered a couple issues which I will document the fixes for here. Random Crashes Playing Civ 5 on my desktop computer I encountered seemlying random crashes after about 30-60 minutes of play. Read more...

Libreboot Success on a T440p!

foss libreboot thinkpad
My second attempt at flashing Libreboot (and first external flashing of a BIOS ever) was a success! Surprising not the hard if you know what you’re doing. The only complication I had was my RaspberryPi randomly dying after I flashed the top chip and before I could flash the bottom chip. I thought I was going to have to run out to Microcenter and buy an emergency RaspberryPi, but magically it started working again the next day, so I was able to flash the bottom chip. Read more...

From Homebrew Router to OpenWRT

website
I’m switching my Homebrewed Debian Router running nftables to Pi-Hole to OpenWRT. Why? Because I want something easier to manage. Setting up a raw Linux firewall using just nftables was cool, but feels a bit like this cobbled together mess especially after I added Pi-Hole to the mix, and I just want to try a proper router distro now. OpenWRT OpenWRT is mainly targeted toward embedded devices like the old router you might have laying around at home, but it can actually be installed on regular x86_64 PC Hardware too. Read more...

Setting up a Tor Relay Node on an X60s

privacy linux thinkpad
So, I have this X60s ThinkPad I got off eBay for $25 a while back. My original reason forgetting this machine was that it is one of the few ThinkPads that supports software flashing of Libreboot, a distrubution of coreboot, a project that aims to replace the proprietary BIOS of your computer with free, open source, and privacy/security focused firmware. I am not especially paranoid about the NSA spying on me through an Intel Management Engine backdoor or as dogmatic on free software everywhere as Stallman, but nonetheless I thought it was a cool and interesting project and wanted to try it out to learn more. Read more...

Fixing FreeBSD Issues (Wifi, Webcam, Suspend, etc)

bsd thinkpad
Wifi My Wi-Fi card is an Intel® Wi-Fi 6E AX210. Obivously I do not expect to wi-fi 6 on this thing, wi-fi is notoirously an issue with FreeBSD. Officially FreeBSD can support networks up to 802.11n (Wi-Fi 4 from 2008) while 802.11ac (Wi-Fi 5) is still in development. So not planning for very fast wi-fi spends. First you need to manually configure the network card to an interface if you did not do that in the install, which I did not. Read more...

Installing FreeBSD on a T480

bsd thinkpad
My adventures installing FreeBSD on a ThinkPad, spurred out of frustration with Linux Mint. Linux Mint Woes My bad luck with Linux Mint persists. The past couple weeks I have been trying out Linux Mint Debian Edition, which if you don’t know is like normal Linux Mint but based on Debian instead of Ubuntu. I actually prefer it to the Ubuntu version, just because I am much more familiar with Debian than Ubuntu. Read more...

Building My First Desktop PC

linux
At long last, I finally did it. I build my first desktop PC ever, for what I think at least is a reasonable price. I have been wanting to do this for a while now. I loved the process of building as well as my finished PC. Backstory I have never actually owned a desktop PC before this. My earliest computer was a slow Windows laptop I had as a kid which I used almost exclusively just to play Minecraft and some other games on, then soon after a I got a MacBook after begging my dad. Read more...

Homebrewing a Linux Router, Part 2 (dnsmasq)

networking homeserver
In Part 2 of my homebrewed Debian router series I will go over how I setup DNS and DHCP services. If you don’t know or need a brief refresher, a DNS or Domain Name System server is responsible for resolving domain names (e.g. www.duckduckgo.com) to their actual IP address, or forwarding that DNS request to another upstream DNS server. A DHCP or Dynamic Host Configuration Protocal server is responsible for assigning dynamic IP addresses to new devices that connect to your LAN. Read more...

Installing Debian 12 on a Samsung Chromebook 3

linux
A while back my girlfriend was going to recycle her old Samsung Chromebook 3 that she didn’t need anymore after getting a regular Windows laptop. Before she could, I offered to take it. I had recently heard of the Chrultrabook project, and thought installing Linux on it to turn it into a regular super-portable laptop could be a fun project. Flash forward many months later, I finally got around to doing this and have a working Samsung Chromebook 3 with Debian 12 installed on it. Read more...

Trying out Linux Mint

linux
For the past couple months I have been giving Linux Mint a try on my T480 Thinkpad. Most of the time I use Debian or Arch. Debian is what I have installed on most of my machines (laptop, server, router, probably desktop when I build one) and I like it. I also have a laptop with Arch Linux I use pretty frequently, especially on the go. Linux Mint interests me because it aims to create a user-friendly experience that appeals to wider audience and not just power users and engineers, similar to Windows and macOS. Read more...

30 Days Without Reddit

life
Starting tomorrow I am going to spend the next 30 days not looking at or engaging with Reddit at all. Not that anyone cares, I just want announce this somewhere to make myself feel just a little bit of accountability. Why? I don’t use much social media, and have managed to break my compulsion to check and inevitably endlessly scroll apps like Instagram, TikTok, YouTube, and Twitter. I wasted a lot of time in my teens and some college years scrolling through these apps. Read more...

Homebrewing a Debian Linux Router, Part 1

networking homeserver linux
My adventures brewing my very own neckbeard router using a Dell Wyse 5070 Extended and Debian GNU/Linux. This project started after I found a good deal for a Dell Wyse 5070 Extended on eBay. The Dell Wyse is a thin client, a mini-PC meant for connecting to a central server or the cloud, and therefore is not very powerful itself. However, they can still make a very capable router/fireall device, and the extended version comes with a PCIe expansion slot which can be used to add extra NICs. Read more...

How I Deploy this Site from Self-Hosted Infrastructure

webdev self-hosting
For the first iteration of this site, the repository was hosted on GitHub and the actual site on Netlify. My process for deploying it to Netlify was pretty simple: I wrote a GitHub action which on pushes to master would build the site using Zola, then push it to my Netlify site using their official action. name: Zola on Netlify on: push: branches: [ master ] jobs: build_and_deploy: runs-on: ubuntu-22.04 steps: - name: Checkout master uses: actions/checkout@v3 - name: Install and Run Zola run: | sudo snap install --edge zola zola build - name: Deploy to Netlify uses: netlify/actions/cli@master env: NETLIFY_AUTH_TOKEN: ${{ secrets. Read more...

2024 Learning Goals

goals
It’s that time again. Time to write about what I want to learn this year. So, I probably hit around half of the things I said I wanted to learn last year. I did an update this fall which you can read here. I don’t really consider this a failure though. My priorities shifted throughout the year and I expected them too, and I expect them to again. This post is mainly meant to be a starting place. Read more...

Transitioning from Zola To Hugo

web
Recently I migrated this blog from Zola, a site generator written in Rust, to Hugo, a static site generator written in Go. If you’re into web dev you’ve probably already of heard of Hugo, but maybe not Zola. It is very similar to Hugo, and like Hugo uses Markdown files for its content. Why I switched I’ve got nothing against Zola, it’s pretty cool, and I recommend you check it out if you’re looking for a static site generator. Read more...

How I Backup My System using Borg

backups linux
You can checkout the repository for this script on GitLab. This is a brief overview of how I backup my Linux computers to an external hard drive using borg. Check out the documentation for more information. Also checkout the manpages by running man borg What is Borg? Borg is a de-duplicating backup program for Unix-like operating systems including, Linux, macOS, and the BSDs. It is written in Python, and able to encrypt your backups, and compress them so they don’t take nearly as much space as a typical rsync backup. Read more...

2023 Learning Goals Check-In

goals
It’s nearly 3/4th of the way through 2023, so I thought I might go ahead and check in on some of the learning goals I made for this last year. Learn a Functional Programming Language I want to learn an FP language to challenge myself and expand general programming knowledge by learning a new paradigm. Clojure interests me the most. I have not done this. Well, I did try Clojure with bit, followed some documentation and tutorials and played around in the REPL. Read more...

2023 Learning Goals

goals
Take #2 cause I accident accidentally deleted everything I had written Technology Related This is a pretty big list. To be honest I probably won’t get to most of it this year but hopefully a couple. A Functional Programming Language (Clojure) I want to learn an FP language to challenge myself and expand general programming knowledge by learning a new paradigm. Clojure interests me the most. Also might a look a little in Haskell but right now I’m leaning heavily towards Clojure. Read more...

Rust Notes

programming
Some notes I took on Rust when I was trying to learn it last year Notes rustc to compile program to executable ! to specific a function is a macro cargo check to check with code compiles without building an executable cargo build --release builds code for production :: denotes associated function, called by the type (like string) (similar to Java static method) Result is an enum type for error handling. Read more...

How I Made This Website

programming
This is actually kinda boring to write about so I’m not gonna. It’s just a static site made using zola. Check it out.

Pastry Flour Country Sourdough

baking
Sourdough with 8% protein pastry flour As challenge/experiment I wanted to try to make a decent country sourdough out of 100% white pastry flour, specifically Bob’s Red Mill Fine Pastry Flour, intended for pastries and cakes with a protein content of 8-9%. Also wanted to do this to dispel the myth I’ve seen a few times that you need the highest protein flour possible to make good bread. It is definitely possible to decent bread using weaker and all sorts of flour. Read more...
1 of 3 Next Page