A Necessary, Temporary Tool
An interesting tidbit from my low-level programming class:
Programming in a high-level language (e.g. C++, Java, etc.) is only possible because we have compilers that know how to translate that higher level language into assembly code, which is then assembled into machine code.
So, you might have some statement in your C++ code like “int a = b + c;” which the compiler would turn into something like “add $1 $2 $3,” and then the assembler would turn that into a bunch of ones and zeroes representing that code.
But where did these compilers and assemblers come from?
The first compiler had to be hand-coded entirely in assembly, which would be incredibly difficult (it’s hard enough to do basic tasks, let alone process complex data). And then, when it was finally done, they re-wrote it in the higher level language. That second, higher level compiler was then itself compiled by the first, low level compiler that was written in assembly.
And then? The first compiler disappeared into the ether: an outdated artifact with no use anymore. We needed it to build the next level up, but after that it outlived its usefulness; it became a blade in a world of guns.
But it wouldn’t be possible for me to be typing this if someone hadn’t labored for years over tedious assembly code trying to express the possibilities abstraction could hold for future programmers. Like me.
Mountain Generator .1
After camping in the Sierras, I had an idea for a mountain silhouette generator. This is the first version. Click on the grey square to generate a silhouette. You may need to reload for it to work.
Constellation Maker Alpha .3
New release. There are now 2 buttons; one to regenerate the star field and one to clear any constellations drawn. Constellations are now functional again, and move with the mouse action along with the stars. Quite a nice effect from a rather simple program so far, I think. I’m rather happy with it.
Constellation Maker Alpha .2
A quick little Flash toy I made in some spare time… Click on the stars to make constellations.
[edit: now version .2; stars move based on mouse position and distance from "camera," constellations broken, reset button functional]
Musoodle 1: Radiatore
A new little potential series. Or something. There’s been a fair bit of messing around on the MIDI pad lately. And this is a tiny piece of the output.
Hamster on a Piano: Closure Edition
The Hamster on a Piano (Eating Popcorn) video with Parry Gripp’s music is still off YouTube — at least officially (there are a few copies floating around, but the original is gone). But Parry Gripp posted a new song on February 3rd. I present, “Goodbye Hamster, Goodbye.”
Goodbye Hamster, goodbye! (repeat x 3)
It’s breaking my heart now all I want to do is cry
Goodbye Hamster, goodbye! (repeat x 3)
It’s breaking my heart now I never wanna say goodbyeA letter came from far away
Now it’s breaking my heart but I gotta say-ay-ayGoodbye
Yeah when I first saw that e-mail
Asking for three thousand dollars
And fifty percent of my song royalties,
I knew our special time was coming to an end.I know those fools are still trying to put you down,
But you will always be the fuzzy animal
On the musical instrument
Eating the snack!Goodbye Hamster, goodbye! (repeat 3x)
It’s breaking my heart, now I never wanna say goodbye.
Aww.
Floater
Over the last week or so, I’ve been toying with Flash, with an eye towards programming casual games. Here is my first, called Floater, in the tradition of the Helicopter Game. As your score increases, the enemies grow, speed up, and will follow you around more and more. See if you can get to 5,000!
You can also play this game on Kongregate, by clicking here.