Monthly Archives: May 2013

My hobby: Blasting 9-bit chiptune music out of my windows whenever I’m on Stanford campus.

You know how there’s music that makes you cry because it reminds you so poignantly of certain things?  Maybe it reminds you of a loved one, maybe it reminds you of an experience you once had…maybe it reminds you of a breakup, or of graduation, or of a last dance, or anything.

Yeah…but there’s also music that makes you cry simply because of itself alone.  It doesn’t even have to have words.  Who needs words to express emotion???  Isn’t the larger part of emotion expressed via non-verbal communication anyways?  It’s not because it reminds you of anything…it’s not empathy that you’re feeling.  It’s just the things that are embedded in the song itself.

Do you have songs that are like that?

I feel like it’s unfair for me to point out songs that are written by myself, so I won’t.  I’ll point out some other ones instead:

I’m not sure if they’ve -actually- made me cry before, but they’ve certainly come close.

It’s less about what is right or wrong, and more about how it affects people’s feelings.  Feelings are subjective, but to me, they are also objective…they’re very real, very important, very practical, pragmatic even.  “I cried because of it.  That must mean I feel strongly about it, because I only cry over things that I feel strongly about…”

Note to self: detuned square waves make a good chord stab sound.  Same as detuned saw waves, but you don’t need a filter envelope on it.

Writing this was pretty damn awesome.  It’s a remix of the main themes from the title screen and first level of the indie game I’ve been working on.  I used a multiband compressor on the layered snare to give it a lot of beef and meat–first time I ever tried that.  I learned the technique from one of Flexstyle’s project files for the FL Studio Remix Gauntlet at OCR and I don’t even quite remember how it’s supposed to be done, but I just gave it a whirl and I was really happy with how it turned out, so yay!

The song just evolved naturally.  Yes, I was doing some planning, but it was all spur-of-the-moment planning, as in “okay, what should I do next?  maybe……this?”  and of course, it all just worked.  You just kind of have this sort of intuition for what might work well for a song in terms of what direction it wants to go, and then you just make it work.  It’s pretty awesome.  Drums here are pretty awesome, I feel like this is definitely a step up from anything else I’ve done in terms of beefy drum work.

Anyways, the detuned square waves come in at the last section of the song.  Pretty cool, right?

Whole thing, made in 3.5 hours, pretty much.  Making music is exhilarating.  I mean, I MADE this.  Jeez!  Like…yeah…..

Pseudocode is amazing.  I never realized how great it is.

When you’re drafting up the design for a class, you just write it in pseudocode first.  This lets you skip all the stupid details and focus on what each method is actually doing.  This also means that it’s super-easy to change your mind if you figure out that your initial design needs to be tweaked, because you haven’t actually written any real code.

Then after your design is finalized, all you have to do is go back through each method and fill in the method body by translating the pseudocode to real code.  And that’s SUPER EASY.  Remember back in the days of CS106X or CS107 or whatever when your homework assignment would look like this?

// Implement this function.  Given an input of 2 integers, it should do (blahblahblah)…
int BitWiseOr(int a, int b) {
   // TODO: Set up your data structure as a (blahblahblah)…
   // TODO: Perform the actual math by (blahblahblah)…
   // TODO: Return your result.

Those were the good old days, right?  Everything was all setup and laid out for you, and all you had to think about was that one little method that just needs to do whatever it says it should do right there in the comments.

Well, guess what?  That’s exactly what you get when you write pseudocode for yourself.

But it gets even better!  Once you write your actual implementation, you’re already done commenting it!  See, look:

// Given an input of 2 integers, this function does (blahblahblah)…
int BitWiseOr(int a, int b) {
   // Set up the data structure as a (blahblahblah)…

   // Perform the actual math by (blahblahblah)…

   // Return the result.
   return result;

Awesome, right?

What does it mean to be committed?

I don’t like telling lies.  Isn’t breaking a promise the same as telling a lie?  Even if you didn’t know that it would turn out to be a lie in the future, does that change things?  Actually, no, because a promise doesn’t represent the future, it represents the here and now.  When you talk about your commitment to something, it really represents your state of mind in the present, not the future…

In other news, I just got a tweet saying that Super Metroid released on the virtual console for 30 cents.  THIRTY CENTS.  Do you know how much time I’ve spent on that game?  30 frickin cents.  If I can buy super metroid for 30 cents, there’s no way I would ever make anything that’s worth anybody’s money.  That’s why making games has to be just about the artform and expression for me.

This is….actually not how I make music.  Which is cool!  Everyone has a different way of doing things.  When I write music, I’m not trying to tell a specific story.  Sometimes I have images in mind (like for OHC) but for me, so much of the song comes out of the song’s “natural flow”.  I just have to let it do whatever makes the most sense.  In that way, it’s much like my leading style in dance.  My fellow fanclub member said that I’m a very “clear” lead, and that’s simply because I only lead things that are natural.  I don’t try to shape my follow’s movements into something that they wouldn’t have already done anyways.  It’s the same with my music.  I’m just passive like that.