Skip to main content


Showing posts from July, 2010

Scala: Tweet Tweet Tweet

I'm almost done reading Programming Scala . I've really enjoyed the book as well as Scala. One of the lead developers is Alex Payne who is a lead developer at Twitter. I'm very impressed with his stuff, but having read the following piece of code from the book, it really makes me curious what the Twitter code base looks like ;) def saveTweet(tweet: Tweet) = tweets ::= tweet

Flash: I Like Wowza

I like the Wowza Media Server better than Adobe's Flash Media Server . It costs less. So far, it seems less buggy. Plugins for it are written in Java, which is more pleasant than server-side ActionScript. Server-side ActionScript is very different than ActionScript 3 (which I actually like). The API seems nicer. It has a very nice admin and monitoring system--Java's standard--jmx. The server can simultaneously support streaming the Adobe way (RTMP, etc.), the Microsoft way (smooth streaming), and the Apple way (HTTP live streaming). It supports all three including bitrate switching all from the same source files. The one missing feature that it doesn't support is SWF verification. It does support something called secure tokens, but I can make a pretty decent argument that SWF verification is more secure (at least for my use case). Credit goes to Dan Aronson for a lot of this content.

Software Engineering: Premature Featurization

"Premature Featurization" is my term for the tendency to implement a plethora of features before they've even been requested by real users just in case a user might want them. It's related to creeping featurism . Like premature optimization , it leads to difficult-to-maintain code bloat. Product managers and managers in general are especially prone to premature featurization. When experienced developers themselves fall prey to premature featurization, they may be suffering from second system effect . To some degree, the opposite of premature featurization is creeping elegance , which is where an existing piece of code is polished excessively at the expense of other factors such as the schedule or real world features. It should be pointed out that agile software development aims to prevent premature featurization in that it forces coders to code only those features that the stake holders have requested as they request them. However, it tends to be an enabler fo

Linux: Retro Desktops

I like messing around with my desktop. I decided to give it a retro Windows look. I used the Redmond theme, set all my fonts to Monospace 10, used a boring gray background, and tweaked my editor and terminal colors. Now I know that Windows 2000 didn't use monospace fonts for everything, and it supported backgrounds other than a drab grab, but doing it this way sets a pleasant, calm, nostalgic mood. What's strange about this 1 AM post is that a) I've been a Linux user for so long that I've never even used Windows 2000 b) I'm using Mint Linux which aims at offering a very elegant, polished look--which I've totally screwed up ;) By the way, what I'd really like is a desktop that looks like the original Macintosh. That'd be pretty neat looking for this MacBook running Linux ;) Ok, yes, I probably need to get a life, but I wonder if there's anyone else out there who likes retro looking desktops.

Apple: Cleaning a White MacBook

In a moment of reckless abandon, I decided to clean my white MacBook today. I wash my hands almost every time I use my laptop, but oil from my hands still builds up and attracts dirt. This leads to very irritating grime. Ordinary water won't due the trick, so I decided to tempt fate and use something with bleach. I'm pretty sure that voids my non-existent warranty. I sprayed some Easy Off BAM Multi-Surface Power Cleaner with Bleach onto a damp paper towel and then rinsed out the paper towel a couple times. I squeezed as much water out of the paper towel as possible, and then I wiped my keyboard, etc. clean. I didn't put the cleaner on the screen--I'm not that brave ;) Then, I took a microfiber towel, wet it, and wiped down the whole laptop. Then, I used a dry part of the same towel and dried it completely. The wet microfiber towel always does a good job with the screen. The cleaner did a great job with the grime. Some of the keys are still shiny (presumably

An Email Scam

My wife encountered an email scam that I had never seen before. She got an email from a friend's email address: I'm caught up in a real mess and i need your help. I'm sorry I didn't inform you about my trip,I had a trip to the Wales United Kingdom and a bizarre thing happened to me.I was mugged at gun point last night, it happened at the park of the Hotel were i lodged but thank God i wasn't hurt, the muggers carted away with all my belongings excluded my passport. Cell,credit card,cash and some important documents are all gone. I was able to make contact with the UK Police and i was directed to the Embassy, but they seems to be taking things too slow.I need your help so urgently.. My flight leaves pretty soon but i am having problems sorting out the hotel bills also getting my ticket straightened out. Ineed your help. I need a quick loan of ($1,800) to get things fixed out here,I promise to refund as soon as i get back home.. please reply asap. so i can tell you

Personal: Working at Google--the Hard Way

I've always wanted to go work for Google the hard way--i.e. to work at a company and get acquired by Google. Metaweb just got acquired by Google. This is the second company that I worked at that got acquired by Google--after I left. The first was Mochi Media. Ugh. Congrats to the guys at Metaweb! They have some really exciting technology.