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

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

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

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
Diff of MP3 files

shine-mp3

Porting the Shine MP3 encoder to pure Go

1 min
z85 encoding and decoding

Z85 Format

Z85 encoding and decoding

1 min