Me, my opinion, and things I do.

One No-Shave November Later…

Here’s a picture of some crazy looking man who hasn’t shaved since 31 October.

Read more of this post

Tracker 0.1: Play Test

I made enough progress that it can save and load files. I also managed to finagle the play routine enough that it can play files more advanced than you can make inside the program alone. As-is, you can only sequence 32 lines without any effects other than setting the noise mode.

Almost all of this information is still valid.

Video of it playing sound below.

Read more of this post

Tracker 0.1: Working on my soft synth now on Github

Click here to go to the repo for “Tracker 0.1”


This is a culmination of the last soft synth I made and some more ideas I had to make this imaginary “sound chip” more cohesive in implementation.

Read more of this post

I made a file format! No app to make them, though.

I made a music file format! It’s to go with my new “virtual sound chip” I made for use in video games what I am/plan to program. The chip has 8 channels which output a 4-bit signal each. Each pulse type has a table of 4-bit samples for each of the 15 possible volume settings (zero is mute and doesn’t need a table). There’s also a table that maps these samples to a 31-bit counter (java doesn’t have unsigned variables) based on the sample length (2-30ish) and pulse width (1/32 to 1/2 or 16/32).

Read more of this post

Incredipede 1


Whatever, man, I ain’t ashamed.

From *nix to Android with SDL2 and SDL_image. Using the Command Line of Course!

Let me paint a picture;

My development environment on linux consists of a text editor with code highlighting (GEdit in my case), GCC/G++, and make. Development goes like this for me: Tickatickatype, Ctrl-S, “make ; ./test” . Using a basic handwritten Makefile isn’t that hard for testing a small project. I make it automate things like adding flags and defines from the command line. In the case of Android, I have it copy my source into the android project, compile it, pack it in an apk, and then copy the apk to dropbox so I can test it on my device.

If you use cygwin on windows with GCC/G++ you can more or less follow along as long as you promise to use your best judgment.

I’ve got three links that I used to figure out how to hack a function android project together with the latest SDL2 source.

Read more of this post

My (Poor) Code Now Runs (Poorly) on Android


Dell Latitude E6400. Samsung Captivate. Pengpod 700. Yes the screen is that bad on the pengpod. Do not get a pengpod.

I had the adventure of flailing the Android NDK at SDL2 and SDL_image today. I had written some code to understand tiles inside of png images, to sort sprites with a z value, and to draw evenly spaced tile background. I wrote a small demo of a ghost of the graveyard security guard (no collision detection, yet, lol). I had it randomly generate a field of 128×128 tiles with grass and graves, but it ran so slowly on my phone (didn’t test that on my tablet). My code has glaring optimization issues, but it ran okay on my laptop. Removing the background or making it 32×32 (possibly larger) will make it run okay. My code doesn’t cull tiles that are off-screen (bad, I know, there’s worse you don’t know in my code). Detecting a touch input at all worked on the first try.

Aside from my code that’s the same on my computer and android, getting the android project together took hours out of the day today. I’ll post a tutorial tomorrow. There’s alot of parts to an android project that you need to understand if you want to get anything to work at all.

Personally, porting to java/android will probably be the best option. It makes your app a whole lot leaner and probably faster for what I’m doing with code.

An Integer Only Software Synthesizer Takes its First Steps

Right, so after being dead for a few months, someone used phoenix down on me and so I made a cute little software synthesizer in plain C. The runtime uses only integers, so I’m hoping to port it to a microcontroller like the AVR in my Arduino. So far it’s done a monophonic rendition of the intro of the Super Mario Bros. overworld theme. It used a variable pulse width square wave with amplitude modulation. I just had to hard code the notes in C, which was laborious.

Read more of this post

The Certificate of the Esteemed Award for Excellence in Innovation in… Cart Pushing?

Last Thursday, I was drafted to cart pusher from my usual position of cashier. I’ve done this a handful of times. They’d ask me “Hey, for the last hour of your shift, can you help them push carts?” This time, though, I was to be doing it for the entire shift. I was scheduled for four and a half hours ending at eleven at night. This was due to there being only one cart pusher there at the time, possibly due to a call-in or something. An entire Walmart Supercenter parking lot during the evening is WAY too much for one guy, no matter how awesome his beard is. And thus, I was pushing carts that night.

Read more of this post