Atmosphere’s New Album

I picked up Atmosphere‘s latest album, “You Can’t Imagine How Much Fun We’re Having.” I’ve listened to it once through, and it’s a very worthy follow-up to “Seven’s Travels.” My favorite tracks so far are “Hockey Hair,” “That Night,” and “Get Fly.” If you haven’t heard of Atmosphere before, you should definitely check them out. They are an incredible hip-hop group from Minneapolis.

“That Night” has some pretty powerful lyrics. When I heard them for the first time I knew it had to be a real story, so I hit up google. Using information in the song, I found this news story. Apparently a 16 year old girl was raped and killed at an Atmosphere show in Albuquerque, NM, while she was trying to get backstage to meet the band. She was killed by a man who had a prior conviction for raping a 4 year old. Slug (Atmosphere’s front man) raps about how he felt about the incident in “That Night,” and its well done and moving.

Back to Minneapolis in Time for Winter

I moved back to Minneapolis just in time for winter (still working full-time for Mozilla Corp). Yesterday it snowed for the first time, about 2 inches, and this morning I spend two hours getting new snow tires put on my car. My wussy high-efficiency made-for-cali-driving Civic Hybrid tires weren’t cutting it in snow and ice.

I found a really nice apartment at a good price, but I can’t move in until December 1st, so I’ve got all my work stuff set up at my friend Greg’s. I used to work with him at SGI, and since he works at SGI all day, I pretty much get his apartment to myself (if you don’t count Zoe, his adorable yellow lab). Hacking with 3 layers of clothing on, snow out the window, and some hot cocoa nearby is the way to go. My work outfits are like little geek cocoons. They greatly enhance productivity. All I’m missing now is my beloved ex-office-mate Scott MacGregor… sigh. Then again, this is the same guy that tried to get me to deliver his Calistoga water to his desk for him in exchange for a measly penny, so never mind.

What I’ve Been Working on Lately

Its been a while since I wrote about what I’m doing at work these days, so here is an update.

Lots of plugin stuff has been happening lately. I’ve been working with Macromedia to resolve performance issues with their Flash plugin. Lots of this work is bigger-picture, like helping them transition to OpenGL rendering and making a roadmap of major bugs to fix to pave the way for the next generation of Flash. I’ve also been working on various issues related to plugins on Intel Macs, and issues related to a 64-bit version of the Netscape Plugin API (NPAPI). A big thank-you goes out to Apple and Macromedia developers, as well as Mark Mentovai, for all of their help moving forward with plugins on Mac OS X.

When I’m not working on plugins, I’m usually working on the Cocoa code that will be at the core of Firefox 3.0. Finally, we’re actually serious about using Cocoa widgets (ala Camino) in Firefox. Along with this change we should get Quartz rendering, but I am not working on the Quartz part at the moment. Right now I’m finishing off the Cocoa implementation of our menu code, then I’ll move on to making windows behave correctly.

Our Intel Mac development is coming along nicely. The Intel Mac version of Firefox works pretty well except for some plugin issues which are largely on their way to being resolved. A good number of people have been volunteering to test Firefox on Intel Macs, which is great. You can find the latest information on Intel Mac Mozilla development here.

Learning 80×86 Assembly Language on Mac OS X

A bunch of the fixes necessary in order to get Mac Firefox running on Intel Macs are assembly code fixes. I don’t really know much about coding in assembly, so fortunately David Baron (Mozilla Corp.) and Eric Albert (Apple) have been helping out whenever assembly code needs to be written. The fixes are interesting to me, and I’d like to work on that code more, so I’ve decided to learn how to write 80×86 assembly code.

Step one was to get a book. After looking and asking around, I settled on Richard C. Detmer’s “80×86 Assembly Language and Computer Architecture.” While it covers some computer architecture stuff I already know, it is doing a great job of teaching me 80×86 assembly so far. I find it to be very readable, concise, and it explains bigger concepts and patterns in addition to serving as instruction documentation. Intel’s documentation is just a printed-off instruction reference, which isn’t all that helpful unless you already know how to write assembly pretty well.

One problem I have with Detmer’s book is that it uses Windows for its examples. Since all I ever do with Windows is look up books at public libraries, that isn’t too helpful. I found this document to get me going on Mac OS X.