25
Jun 10

Electrohound

It appears the publicizing of my musical intentions indeed provided me with the motivation to compose once again after  many months. I present to you a preliminary version of my Metal Gear Solid remix, Electrohound. It still needs refinement, but for now, enjoy! Once I polish it, I’ll be submitting it to Overclocked Remix.

Edit: I submitted to OCRemix! It’s all in the judges’ hands now.


20
Jun 10

M.I.A.

Bouldering @ Mt. Woodson

I’m putting an end to the neglect of this website… maybe. Over the last few months, rock climbing has infiltrated and made itself a pervasive denizen of my mind. Wake, work, climb, watch climbing videos, sleep. Whatever, I welcome it. Check out my new Metolius crash pad. Yeah, that’s right.

The other tenants of my mind protest. The musician feels cramped and has thoughts of moving, which I cannot accept. I need the rent to keep the boss happy. To that, I’ve decided to create something that’s been festering in my head – something that would have come to fruition earlier with a mere nudge, but… damn you, rock climbing! Just kidding, I love you. You wanna go out tomorrow? You do?! It’s a date.

Anyway, with inspiration from Overclocked Remix, I’m going to remix the Metal Gear Solid theme as my first attempt of game OST interpretation. I’m announcing this publicly as a way of telling the climber in me to give others a chance too, geeez. Weren’t you taught to share? Hopefully I will be posting some preliminary versions within a few weeks.


30
Nov 09

A Lasting Peace, beta

I finally put in the effort to finish my new track, A Lasting Peace. I initially aimed to create another trance tune, but I’m not entirely sure what I ended up with… you be the judge. For now, I think it’s safe to say it falls under the broader electronica genre.

I had every section of the piece nearly complete months ago, but struggled to chain them together while maintaining flow. Flow is a tricky thing. You make a tiny change and spend the next few minutes listening to the track to see if the change makes sense in the grand scheme of things. It’s a time consuming process – one that frustrates yet rewards. I finally fell back to my most trusted ingredient… the plain old piano. I really wanted one with a more electric tone, but I couldn’t reproduce the sounds playing in my head. I settled for a heavily-reverbed acoustic piano and improvised five or six takes until playing the one you hear in the piece.

Without further ado, A Lasting Peace (beta mp3). Enjoy!


31
Oct 09

Trance experiment

The music from LA Burning Man Decompression fueled my recent obsession with trance. As an experiment, I’m creating a solid half hour of trance, which I hope to submit to di.fm. So far, Decompression puts me at seven minutes. I’m now working on a piece tentatively called A Lasting Peace. I drew most of my inspiration for it from DJ Tatana’s Spring Breeze (Martin Roth Summer Style Remix). Since I won’t have any time to work on it next week, I’m giving you a sneak peak of the work-in-progress. It clearly needs polish and compressor and gain adjustments, but I’ll save that for the final mix. Hope you enjoy it.


25
Oct 09

Music-making tools

I don’t have a fancy studio with tons of audio gadgetry for music production. Mixers, drum machines, and control surfaces are nice to have, but current generation audio production software is so good you can get away with simply a computer and a program like Logic Pro or FL Studio. Here’s what I use.

1. Headphones. Sony MDR-7506 headphones offer rich bass and crisp treble, and its euphoric sonic explosions of awesomeness cause me to lose track of time. I’d use a nice set of stereo speakers, but my neighbors would probably object. Not bad for 90 bucks.

Sony MDR 7506 Headphones

Sony MDR 7506 Headphones

2. Mic. I thought I’d experiment with vocals and sound effects after inspiration from BT’s Emotional Technology, but, alas, I haven’t really taken advantage of this AKG Perception 200. Without sound-proof walls, cars and planes make recording tricky. If possible, record in the middle of the night.

AKG Perception 200

AKG Perception 200

3. Audio interface. The Creative Labs EMU 404 USB audio/MIDI interface replaced my archaic MIDI-to-gameport adapter. It has built-in phantom power and preamp for condenser mics and is OSX and Windows compatible.

EMU404 Audio/MIDI Interface

EMU404 Audio/MIDI Interface

4. MIDI keyboard. I bought a Yamaha P200 about decade ago as a college freshman. I’ve used and abused it, even dropped it a few times, and yet, it endures. Really, though, all you need is any MIDI keyboard you can rock out on, regardless of price. The keys merely facilitate the transfer of notes from your head to the computer.

5. Software. I recommend Logic Studio ($500). It’s expensive, but loaded with features, most of which I will probably never even discover. The hundreds of built-in software instruments are stunning. At the moment, I’m using an older version. I can’t justify the $200 upgrade until I’m comfortable with more features.

Yamaha P200 & Computer

Yamaha P200 & Computer

And that’s it. To stress the importance of the software, I was able to make Gaia on a weekend visit to my parents with only Logic Studio. You really don’t need much to get started. Go forth and create.


25
Oct 09

Developer Hell

You are about to hear the most perplexing and disturbing software development story of all time, hyperbole-free.

Rewind 6.5 years. I was fresh out of college and eager to hack. I soon came across the exalted Software Development Plan. The SDP was gospel, but its authors retired some years earlier. No one dared to change the prized document– no one wanted to change it. The SDP was our job instruction manual, providing procedures and guidance for everything we would ever need to do.

IDE

In accordance with the SDP, we were to use Microsoft Word as our IDE. You know, the document editor of Microsoft Office. I spent an entire week configuring Word 97 (in 2003) to be code-friendly by disabling “features” like auto-spell-correction and auto-capitalization. I disabled the spell-checker and grammar-checker for obvious reasons. Configuring small margins and applying landscape mode were ways to get longer lines, and hiding page breaks made browsing code slightly more acceptable.

As SDP followers, we were committed to using dozens of SDP-defined Word styles. A style is an abstraction that you can assign to parts of your document so they appear a certain way (e.g. size 13 Courrier New, bold and italic). A change in the style is reflected anywhere that style is applied, document-wide. Not a bad idea. We used styles to mark different sections of code, applying different styles for inline comments, function/method documentation, source code, file name, author, date, etc. The intended visual aspect of styles was merely a side effect of what we were really trying to do– to mark our Word document with meta data to facilitate the extraction of our code. More on that later.

A friend and coworker of mine shared a similar disgust of this charlatan IDE. Together, we humbly presented a case for the use of Notepad and plain text over Word and its proprietary binary format. Why Notepad? Well, we had no privileges to install anything, not to mention that they wiped out our user profiles every night. We couldn’t so much as set our desktop wallpaper without it being reset the next day. wtf. Seriously. My morning ritual consisted of hot cocoa and the manual restoration of my settings (show file extensions, show hidden files, detailed view instead of icon view, etc.). I would have written a script for that, but I left before I had the chance. I digress.

We were denied Notepad because of certain “key” features and benefits Word 97 provided. 1. You can store pictures in Word documents. 2. You can use a single document to store multiple code files. I perused our entire code base, and to my dismay, I found only one image which could have easily been reproduced in ascii. Storing multiple code files into a single word document just made it harder to find things. We were already without grep. Were we paying for past sins?

Compilation

How did we compile our code? Compilation might be a click of a button or even non-existent for you, but it was a crusade for us.

Step 1: Extraction from .doc. Oh, ye poor code festering in .doc’s mediocrity, thou art not forgotten. The Extract Tool shall set you free! We had to save our .doc files as .rtf files. We then used our in-house Extract Tool, written in a combination of Tcl and C and assigned to me to maintain, to parse these .rtf files. Remember those Microsoft Word styles? The Extract Tool keyed on styles to extract the proper sections of the document, yielding separated ascii code files with mangled white space. Fail. Good thing we had no projects written in Python, right? The white space screw-up was the result of Microsoft defining spacing using twips (twentieth of an inch point) and the Extract Tool having to translate twips to number of spaces. Inevitably, our love affair with Microsoft brought about an upgrade to Word 2000… in 2003. With the introduction of a new flavor of smart quotes and a host of other features, the once-reliable Extract Tool needed immediate updating. By me. By reading Microsoft’s rich text format manual. omg.

Step 2: Burning the code to cd. The language we used was so ancient and rare that the only compiler ever made for it ran on VMS on an ancient DEC VAX with no networking hardware. And so, we had to burn our code onto a cd. Simple enough, right? Wrong. Handling all forms of blank media required internal certification. As part of the certification ceremony, we learned the passcodes to the blank media drawer. It was like having the passcodes to Zion’s mainframe. Once we had a blank cd, we had to wait in line for the only cd burner in the office. We weren’t trusted enough to have our own cd burners, so they erected this disc-burning station in the middle of the hallway that was easy to monitor. Before cutting a disc, we had to upload our files and fill out a ludicrously long questionnaire, documenting our intents and reasons for using the burner. Half an hour later… voila. A burned disc with source code.

Step 3: Journey to the DEC. Our entire project had two DEC VAX computers, conveniently located hundreds of feet away behind three locked doors and two asbestos warning signs. In order to insure the safety of our precious disc, the SDP mandated that two individuals with courrier training lock the disc in a secure, cut-proof bag (with an actual Master lock) and escort that bag to the VAX computers. Fortunately, I had courrier training and gained a sympathetic ally who didn’t mind the walk.

Step 4: Compiling. At this point, excitement was brewing and I could taste the impending success– a new feature, about to be run for the first time! I knew it would work, since I had reviewed my code over and over to avoid repeating this developer tedium. After inserting the cd into the server and logging in to the nearest terminal, I was ready. Mount cd. Check. Copy files to local hard drive. Check. Compile… aw, shit. Compile error. fml.

Step 5: Destroy burned cd. We had to take a pair of scissors and scratch the data-infused aluminum off of the cd. Once complete, the cds were then taken away for secondary destruction.

Step 6: Wash, rinse, repeat, lose part of soul. Le sigh. It was impossible to express any anger or resentment because by this point, one was entirely spent. It was time to eat a Skinny Cow ice cream sandwich, suck it up, and start over.

Versioning

We stored all the Word code on a shared drive. If you tried to open a file someone already opened, you were forced into read-only mode. What’s this? No merging? EVER? Brilliant. How about older versions? Just ask IT for a backup. lolpuke. We actually did lose our data once, and 30 people sat around for three days and chatted while IT finally restored a backup that was seven days old. Go team.

Conclusion

I left that place years ago with no remorse. I am free from the SDP obsession, and I thought I’d document and share that experience with you. Peace.