March 1st, 2010 I woke up this morning with a profound realization. “Why not put print stylesheets at the bottom of the page so they load last?”, I thought to myself. It makes perfect sense to any performance-conscious web developer who savors every last millisecond of performance gained. Your print styles aren’t needed until you print the page, so it is okay if it takes a little while longer to download. Unfortunately the quirkiness of the browser makers trumps our otherwise sound logic.
According to tests done by Steve Souders, web performance guru extraordinaire, Internet Explorer blocks the rendering of content until all of the stylesheets have been downloaded regardless of their media type. And since Internet Explorer is the dominant browser by visitors to most mainstream sites, there is absolutely no benefit to including the print stylesheet at the bottom of the page.
A possible workaround would be to dynamically insert the print stylesheet (using JavaScript) into the web page after it has finished loading. This just feels icky to me as the poor sap who is most likely to print out the webpage I so meticulously coded is also the poor sap using Internet Explorer 5.5 with JavaScript turned off and BonziBUDDY turned on.

Posted at 11:25 pm in CSS/HTML | No Comments »
February 22nd, 2010 One of my favorite Android apps, City Caller ID, is no more today. The simple app displayed the city and state of the incoming phone number when you receive a call. Apparently the technology for displaying this information is patented by Cequint who has sued the developer of the free app. At first the developer was asking for help with donations and legal advice, but as of Saturday night, he has given up.

I can’t believe something like this can even be patented! From a programming perspective, it’s a fairly simple app. All of the area code data can be found on a site like http://www.bennetyee.org/ucsd-pages/area.html. When you get a call on your phone, a program can pull the first 3 digits and do a simple lookup for what state the phone number is issued in. It looks like no one will have the chance to download the app now, but I wonder what will happen to those lucky few like me who have already downloaded it?
I don’t think this will be the last Android city/state app for incoming calls as a Cequint employee introduced himself on an Android forum. Something must be up.
Posted at 10:52 pm in Software | No Comments »
February 17th, 2010 Kristina got me some ties from cyberoptix.com for Valentines Day. My favorite one is this black tie for web nerds which reads #000000. For those not in the know, #000000 is the hexadecimal representation of the color black familiar to any web designer.
The octopus sucker tie is pretty rad too!
Posted at 10:06 pm in Random Musings | No Comments »
February 6th, 2010 Everyone in the DC area is making a ruckus about the impending snowstorm of doom! Throughout the weekend I will measure how much snow has fallen here in Glenmont, MD, and track it via this silly picture of me.
The National Weather Service is calling for 20 – 30 inches of the white stuff so if we get 30″, then my entire photo will be completely white.

Saturday, 1:45am – 28 inches: While everyone is asleep, I’m out trudging around in snow. Ok, I’m sure this measurement is due to drifting but it’s consistent in both places that I have been measuring all day (a bush near my building and on the hood of my Rav-4). The Weather Channel just reported Columbia, MD, officially has 13.9″ of fallen snow. I’ll keep updating my image which will easily go out of the frame tomorrow.
The snow is coming up to my knee in low areas and my mid thigh in the deep spots. It keeps coming down at a strong, relentless pace. I like how dead-silent it is outside.
Friday, 11:30pm – 9 inches
Friday, 7:45pm – 3.75 inches
Friday, 3:30pm – 2 inches
Twitter Tags #snowpocalypse, #snowmageddon, #snOMG
Posted at 2:00 am in Local | 2 Comments »
February 1st, 2010 
My good friend just became a Library Media Specialist at a DC public school this year. She is in the midst of transforming an old, neglected library full of antiquated books into a resource the students would actually use. But to do that, they need updated books. Here is her take on the situation (emphasis mine):
The majority of the books are from the 1950′s and 1960′s. Much of the information in these books use outdated terminology and often have negative stereotypes of women, African Americans, and hispanics. This is particularly bad since our student population is 75% African American and 25% hispanic. In addition, most of the library collection is above an 8th grade reading level. Last year only 8% of our school scored proficient for reading. Getting books at these students’ reading level is imperative in helping the students improve their reading comprehension in years to come.
So how can you help out?
- Make a cash donation (Be sure to type Book Drive in the Donation Designation)
- Buy books from their Amazon wishlist
and have them shipped directly to MacFarland Middle School - Donate used books that meet the following criteria:
- Share this link with your friends and family. Help spread the word!
All donations are fully tax deductible. You can read the official MacFarland Middle School Book Drive Letter for more information. I’ve already bought all of the Captain Underpants
books from their wishlist and you should pick a few books out that you really like to help the children at MacFarland Middle School.
Posted at 11:22 pm in Personal | 3 Comments »
January 28th, 2010 Way back in August of 2007 I built a simple PHP tool that generates place-holder images at different size by simply changing the URL. The idea came to me when I was working on a redesign for USNews.com. I hated opening up Photoshop, creating a new document, filling the background layer, and exporting for web just to make a simple placeholder image. That is why I made dummyimage.com.
I figured it would be useful to other people which is why I also released the complete source code, documented and including instructions for setting it up on your own server. But like most new things, few gave it any notice.

The other day my friend Charlie Park (founder of Pear Budget) found it when doing some in-browser wire-framing and sent out a tweet to all of his followers. But he didn’t stop there. Charlie also posted it to Hacker News, a simple news aggregator aimed at geeks. It was obvious that my little tool was resonating with other developers with the tagline “Lorem ipsom for images.” In 24 hours, the Hacker News story got 161 votes with 77 comments, 513 people bookmarked it on del.icio.us, and 337 tweets.
What really struck me was how dummyimage.com was crossing the language barrier. I saw tweets mentioning in Spanish, Japanese, Russian, German, Dutch, even Latvian. I’m glad my idea was simple enough that foreign speakers could easily pick it up without any translation help.

All of this sudden attention also produced helpful feedback and new feature ideas. I started working on an update this past December for a few additions I wanted to see but this recent surge of interest has lit a fire under my butt to continue developing. As is the nature of opensource software, people don’t have to wait for me; they can adapt the code to their own needs. Here are some iterations that have already been made:
And somewhere down the line I would like to give it an attractive homepage. Hooray for side projects!
Posted at 8:52 am in Coding, Web | 1 Comment »
January 21st, 2010 I was excited for the Fitbit ever since I heard about it at the Techcrunch 50 conference back in 2008. After 2 years following the development, I finally got my own Fitbit. After 3 months of daily use, here is my review.

The Fitbit is a small device that you wear on your hip in order to track your movements throughout the day. As you move, the Fitbit will count your steps just like any other pedometer. The device has one button on the front which will cycle through different stats with each push. When out and about you can check your total number of steps, the number of calories burned, distance traveled, and a flower representing your growth and overall healthiness for the day.
At bedtime you put the Fitbit into a soft wristband and you can track how long and the quality of your sleep. Holding the button down for a few seconds starts the sleep tracker and you have to remember to stop it when you wake up in the morning. As you fall in and out of sleep, the Fitbit tracks your movements and can tell how long it took you to fall asleep, how many times you woke up throughout the night and the actual time you were asleep vs the time you were in bed.

But what makes the Fitbit different happens when you get within a couple of feet of the base station. The data is automatically uploaded to Fitbit.com where you can analyze your data with the help of pretty graphs. Not fussing with manually syncing the data yourself makes it a system that easily fits into ones life. You can build up a history of your daily activity without even thinking about. It’s like Google Analytics for your fitness!

Activity tracking aside, Fitbit.com also has a food log for tracking calories. I don’t use this feature because you still have to measure the food and add it manually. If there was something that calculated nutrition information as it went into my mouth, I would be all over it. The Fitbit isn’t that good… yet.
Overall I’m really happy with my Fitbit. The only downside I can think of is the long order time (oredered one for my Mom in October and it didn’t get here until mid January). It is easily worth the $100 price tag in order to painlessly build up a history of my physical activity and sleep history. I don’t need this information right now, but one day I might, and this tool will come in handy.
Other Reviews
Posted at 11:16 pm in Gadgets, Reviews | 8 Comments »
January 19th, 2010 
Oh yea, I should probably start thinking about getting started with my tax preparation.
(via nataliedee)
Posted at 2:57 pm in Business, Random Musings | No Comments »
January 14th, 2010 
I imagine this is how high-end crocodiles would rock their sweaters.
Posted at 2:17 pm in Random Musings | No Comments »
January 12th, 2010 There are many things I would like to accomplish in 2010 (exercise more, lose weight, redo my website, create a new logo for myself, release some personal projects, read more books, read less feeds, get married etc.) But I can’t do any of those things unless I organize and plan my projects out more.
I’ve tried many things in the past to try and get organized including e-mailing myself, setting up a personal wiki, and various software tools. But I finally found something that works called GQueues.
GQueues is what you would get if GMail was a to-do app. With GQueues you can
- Group tasks
- Sync deadlines with a Google Calendar
- Add tasks via IM for sorting later
- Access on the go with a mobile version
- Other GQueues features
I’ve been using it for a few weeks now and I am really happy with how easy it fits into how I work. It’s a simple organizational tool that doesn’t get in your way when you’re trying to get something done.

Posted at 11:15 pm in Reviews, Software | No Comments »