I’ve been busy with school, a summer internship, and loads of personal projects and I’ve had very little time to write any blog posts, here’s goes nothing though:
Apple
I spent this past summer working as an intern for Apple in sunny Cupertino, California. I’ve lived in the Midwest all of my life and my stay was my first real visit to California, so it was a new experience for me. During my time at Apple I was the intern on the Video Foundation Team, which is part of the Interactive Media Group within Apple where I worked on QuickTime Video. I made contributions to an in-house tool that monitors video playback events in realtime. The event tracing system provides the video team with tons of information on what QuickTime is doing, but it doesn’t introduce any performance penalties, in fact tracing is enabled on all builds of QuickTime out in the wild. My tool helps visualize the huge amount of data available in these traces and presents it in a format that can best be described as an EKG of video playback. It was challenging, and best of all, it gave me a change to interact with the kernel team, the QuickTime team, Quartz Composer team, and others at Apple.
There are other interesting things that happened at Apple, like getting to know the Mail.app team, which is kinda funny considering I work on Kiwi. According to them I’m crazy. A few of them said that Kiwi is too much work for one person, but I disagree, I want Kiwi more than anyone else, and I’m determined to make it a success.
I also won a new MacBook during an intern idea contest. I can’t speak on what the idea was, but a small team of us spent a few late nights hashing it out. We presented it to some executives durign a competition, and somehow we won. In fact, news traveled rather quickly and we ended up meeting with Bertrand Serlet and others about the possibility of making the idea a reality. I wish I could tell you what it was, but if it makes it into a future Apple product it will just ruin the surprise, and according to an agreement with Apple I can’t tell.
Kiwi
Progress on Kiwi has, unfortunately, slowed to a standstill. The code base is getting larger and that honeymoon period during which you can produce alot very quickly has come to a close. Everyday that I am forced to use Mail.app or Thunderbird, I want Kiwi more. So stayed tuned, Kiwi will be completed but not as quickly as I had hope for.
The last bit of work I completed was a build system that is a combination of Xcode plus a few Python scripts which build some open source libraries in the repository. I’m moving the entire user interface over to bindings, and that’s still a work in progress. Hopefully, I’ll soon have more time to continue working on Kiwi, but those damn classes here at school keep getting in the way.
Cocoa Tutorial
I’m the president of a Mac users group at the University of Illinois Urbana-Champaign campus known as MacWarriors. Some of us are experienced Cocoa programmers, but most know very little about Objective-C and Cocoa. I’m hoping to change that with a talk and tutorial I’ve been crafting. Writing isn’t easy, and creating a good talk is no exception. It’s taking me a longer to write the tutorial then I expected, but I suppose that’s the nature of the beast. Like software, your always almost done and your still tweaking things when it’s ripped out of your hands. Once the actual talk is completed, I’m going to post it online for others to use, and if we continue with having talks we might eventually start recording and posting them on the MacWarriors website.
LaserLine 2.0
A few years ago, MacWarriors built LaserLine, that was a combination of software and hardware necessary to draw images with a pen style laser. The gist of the project was that we had two computer speakers with small mirrors attached on to them, such that when the speaker cone moves the mirror moves along with it. We hooked this speaker setup to a Mac portable and using our software we were able to draw simple drawings in our Cocoa drawing program which were converted into a series of equations using cubic splines. Once we had the parametric equations, we iterated over them constantly sending the result out the audio jack to the speaker setup. While the speaker vibrated we aligned a small laser with the mirrors and the laser drew the vector drawing from the computer.
This year, we are taking it a step further with LaserLine 2.0. Joey Hagedorn is building some wickedly cool hardware that is a set of galvanometers and other parts so that we’ll be able to control the mirrors far more precisely. The hardware will incorporate a standard interface which will be plugged into the computer via USB. On top of our new hardware we are developing a new version of our software that will output data to the USB device from a file known as an ILDA file, the industry standard for laser displays. We hope this all turns out to be a ridiculously cool project.
Mailman and CS427
I’m in CS427 Software Engineering this semester. It’s somewhat interesting, most of the class is about different development methodologies like Extreme Programming, and the Rational Unified Process. However, much of the class is bullshit, something not typical of CS classes here on campus. While, I don’t have enough industry experience to truly evaluate these methods, it’s very interesting that high profile companies like Apple and Google seem to shun these processes. While I was at Apple people avoided meetings and the man with the clipboard, the project manager.
For class we have to apply RUP or XP to a project of our choosing. My group chose to work on the next version of Mailman in hopes of providing a new user interface, a database backend and a more sophisticated mailing list archival software. Our proposal was excepted, but there was a lack of student interest in the project. Sadly, I’ve had to move onto a far less interesting project which hopes to develop some cross platform persistent chat software. So much for getting more experience with Python and Mailman.
C4
I’m going to be attending the C4 conference this weekend, which should be a lot of fun. Luckily I’m just a few short hours south of Chicago, so it’s going to be no big deal for me to drop into the city for the weekend, I wonder how many people from other parts of the country will be there?
I’m also lucky to have received a student scholarship to attend the conference. Some of you might have seen this posted on Rentzsch’s blog:
The page includes the responses to the question I posed to applicants: “why you want to attend C4?†It’s some interesting reading.
Sneaky tidbit: one of the entries are fake. Well, not fake, but written by me and not the applicant. I pinged him about his missing text, and got this back:
Oh damn. I didn’t know about that. Hmm…. i just got back from a bar so I’m in no shape to write right now.
So I filled it in for him. Can you guess which one I made up?
You don’t have to guess any longer, that person was me. It’s amazing that I still managed to get a scholarship, there must have been virtual hanging chads.