games, code, art, philosophy

Palette Customization with Mednafen

I received Metroid: Samus Returns in the mail this week, which is a 3DS remake of the original Metroid II: Return of Samus for the GameBoy. Before I started playing Samus Returns, I wanted to take another romp through the original, so I hopped on Twitch and streamed myself doing a casual run. This morning, I watched Emptyeye's great single-segment 100% run of Metroid II, which inspired me to stream another run. 1 Before that, though, I wanted to see what I could do to make the game pop a little bit, so it looks and feels good to watch. Here's the end result:

Title screen Samus's starting point Entrance to SR388's caverns Morph Ball Bombs and missile pickups Missile pickup

Read on to learn more and get a copy of the palette for yourself!


Say hello to vgstash!

Today, I'm announcing the release of vgstash, a command line program that keeps track of your game collection and progress in a small SQLite database. I'm happy to finally bring this to fruition. The story of its inception follows.


Lightweight Screen Locking with `alock`

I care a lot about security and privacy. Despite that, I use Funtoo's keychain program to make security a bit easier for myself. It caches my passwords so that when I'm actively at my computer and doing things, it doesn't ask for the passwords fifty million times.

That makes sense as long as I'm at the computer. But I didn't have anything in place that would clear that cache when I wasn't at the computer. I didn't use screen locking in my Fluxbox and vanilla X configuration, so I looked around to see what sort of programs out there could pull it off. I knew the big, fancy DEs have this functionality, but I'm fond of minimalistic environments; I don't enjoy fighting with defaults to get my desired environment. So off I went to find a lightweight way to invalidate my GnuPG and SSH caches and lock my screen so that only I can reopen it.


Are Computer Science and the Tao Similar?

In the field of computer science, design is an integral part of the process of writing programs. Without a solid design, the program will perform erratically or become so large and complex that it's impossible to maintain and keep your sanity. Thus, one of the biggest parts of computer science and application design is carefully hidden among the details. The key to good software is managing the complexity of the program in a way that makes it easy to maintain and appear simple to users. This key bears some resemblance to a concept in Taoism called p'u, or "simplicity".


Counting Lines of Code in Vim

Vim is a wonderfully extensible text editor. I use it to work with all sorts of text. While I was browsing reddit, I saw a thread asking for a way to prevent :number from counting blank lines. I checked it out to see if there were any cool answers. None of what I saw were adequate. For instance, :%s/\S\+//n makes every match highlight, clobbering the last text that was searched for. I figured it was time for me to learn a little more about Vimscript, and so I wrote a function that will tell you how many actual lines of code are in your file:


Page 1 of 3 Older > Oldest >>