Blog O’ Braheezy

A collection of technical musings.

  • Come, gather wool.

Ms. Pac-Man: Devlog 1

A New Project I play lots of video games, mostly on the Switch. And this is mostly a programming blog so I must like that too. I should especially like combining these two. The obvious overlap is programming a game. I’ve made a couple small toy games: Snake Hangman In both cases though, the game just happened to be the type of application I was writing. For Snake, it was my first GUI-from-scratch project and Tkinter graphics were the focus....

October 22, 2023 · 6 min

What I Learned About MP3 Encoding

The Best MP3 Encoder is LAME When it comes to MP3 encoding, there is one de-facto leader in the open-source industry: LAME. It’s been given the attention of software and audio engineers for years which shows in the extensive features it comes with. If you want to encode audio data to MP3 with professional performance and quality, you either use LAME or something built on top of it. If you’re a programmer and want to encode audio to MP3, you likely search your language’s ecosystem to piggyback off someone else’s work....

October 4, 2023 · 8 min

My Cloudy Resume

A Cloudy Challenge I can’t remember where I originally found the link but there’s a website that challenges aspiring cloud engineers to host a publicly accessible HTML version of their resume on a cloud platform. The website outlines high-level steps on how to accomplish this, including steps tailored to popular cloud platforms. As someone always looking to expand my portfolio, I eagerly embraced this opportunity. Indeed, it turned out to be an excellent experience!...

May 24, 2023 · 21 min

Learn Go: III

The next item in my Go curriculum is to start writing code. At this point, I haven’t installed Go or configured an IDE and I really don’t want to. It’s a commitment I’m not ready to make yet. Instead, I hop on the internet to find a Coding challenge site. There are many websites that provide a straightforward and comfortable environment for eager students to get their hands dirty with actual code and actual coding problems....

September 11, 2022 · 6 min

Language Fluency

There are two main problem domains you tackle when sitting down to write code: The real world dilemma being solved with software How to explain the solution to the computer The first problem takes most of the brain power. Eliciting requirements for the software from complex shifting sands. Coming up with the right design and architecture for robust and reliable systems. How to reverse a linked list. Before anything can be written in code, the author must be able to wrap their heads around the solution, at least to some degree....

August 23, 2022 · 2 min

Learn Go: II

We’ll finish the rest of the Tour of Go this time, which was started in the [previous post]({% post_url 2022-08-09-learn-go-i %}). Methoding Around The Tour’s next lesson is called Methods. But wait…there’s no classes, what are you calling methods on? Types! A method is a specific type of function that can be identified by the way they are declared. A receiver argument appears after the keyword func and before the method name:...

August 14, 2022 · 6 min

Learn Go: I

In the [last post]({% post_url 2022-07-25-new-language-first-steps %}), I went over why wanted to learn Go. In this post I put my money where my mouth is. Readying Up Coffee poured and hip-hop music on, I sit down at my computer to learn. In the most naive fashion, I decide to start by finding and going to the Go website. This turns out to be the best choice. The Tour of Go found under the Get Started page is an “interactive introduction to Go in three sections”....

August 9, 2022 · 7 min

Automating Firefox with Ansible

During my work on a Catppuccin-ified image, I wrote an Ansible playbook to automate the installation and configuration of Firefox. The playbook is used to build an image from a known state, so it’s not 100% idempotent. But it was still just enough research that it warranted sharing. Installation Installing is easy. It’s so trivial, I shouldn’t even show it: - name: Ensure firefox is installed become: yes yum: name: firefox state: present Best....

July 31, 2022 · 6 min

New Language: First Steps

I recently found out about the esteemed Shamus Young and exploring his work has been gratifying and eye-opening. His skill at writing, transparency, and technical prowess makes one want to be a better engineer and person. One of the nuggets of knowledge found in his volumes is the benefit the act of writing itself has. And so I’ve explained why this series exists. At this point in my software career, I’m fluent in Python and can deal with some C (technically got paid for C development for 2 years, but in reality I didn’t write much)....

July 25, 2022 · 2 min

Some Things Virtiofs and Windows

This post hopes to explain how to enable a shared folder with a Windows guest on Libvirt/QEMU using Virtiofs. An official Windows Guide is provided that generally covers everything needed. This post has snippets that help automate the process. Virtiofs A newer approach to shared file systems between virtual machines and hosts. From the main site: Virtiofs is a shared file system that lets virtual machines access a directory tree on the host....

May 28, 2022 · 3 min