About Me
I’m a computer software engineer living and working in the San Francisco Bay Area, California, USA. I’m originally from North Carolina.Pages
Me Elsewhere
Other Stuff
-
My Recent Photos



More Photos Archives
- July 2010 (1)
- June 2010 (1)
- April 2010 (3)
- March 2010 (2)
- February 2010 (4)
- December 2009 (1)
- October 2009 (2)
- September 2009 (1)
- August 2009 (5)
- July 2009 (6)
- June 2009 (3)
- May 2009 (1)
- February 2009 (4)
- January 2009 (4)
- December 2008 (5)
- November 2008 (4)
- October 2008 (3)
- September 2008 (6)
- August 2008 (4)
- July 2008 (2)
- June 2008 (1)
- May 2008 (8)
- April 2008 (3)
- March 2008 (8)
- February 2008 (4)
- January 2008 (7)
- December 2007 (5)
- November 2007 (5)
- October 2007 (7)
- September 2007 (6)
- August 2007 (2)
- July 2007 (4)
- June 2007 (3)
- May 2007 (4)
- April 2007 (5)
- March 2007 (1)
- February 2007 (6)
- January 2007 (3)
- December 2006 (6)
- November 2006 (6)
- October 2006 (8)
- September 2006 (4)
- August 2006 (14)
- July 2006 (4)
- June 2006 (14)
- May 2006 (10)
- April 2006 (10)
- March 2006 (13)
- February 2006 (9)
- January 2006 (14)
- December 2005 (14)
- November 2005 (8)
- October 2005 (9)
- September 2005 (7)
- August 2005 (12)
- July 2005 (11)
- June 2005 (14)
- May 2005 (13)
- April 2005 (10)
- March 2005 (12)
- February 2005 (12)
Category Archives: Computers
Planned One Laptop Per Child Tablet
I’ve mentioned the One Laptop Per Child (OLPC) project before. It’s very interesting to me. Originally the project set out to create a $100 laptop (that may have even been the original name of the project?). They did manage to … Continue reading
Posted in All, Computers
Leave a comment
Meebo Announces XAuth
On Monday Meebo announced something called XAuth (not to be confused with the X Windows authorization program). What is it? It’s a small JavaScript library intended to be used by website developers to tailor a web page to a specific … Continue reading
Posted in All, Computers
Leave a comment
AOL, AIM and Openness
When I started working on Pidgin eight years ago (eight years‽ holy crap!) my main focus was the code used to connect to AIM and ICQ. The protocol is called ‘OSCAR,’ and it is a proprietary protocol created by AOL. … Continue reading
Posted in All, Computers, Pidgin
7 Comments
Google and China
(This is probably old news for anyone who stays abreast of tech news, but for everyone else…) A while ago I complained about China’s draconian censorship laws. In 2006 Google launched google.cn, a China-based google.cn search page with censored results. … Continue reading
Posted in All, Computers
Leave a comment
Checklist for Keeping User’s Passwords Safe
I recently wrote a series of blog posts about how we handle users’ passwords at Meebo: post 1, post 2 and post 3. Here’s a collection of that same information, distilled into a set of do’s and dont’s written specifically … Continue reading
Posted in All, Computers
Leave a comment
Open Source Shout Out to WordPress
I moved my personal web log from LiveJournal to a self-hosted WordPress. I don’t have any major problems with LiveJournal, they have served me well over the years. My reasons for switching: Could not have multiple saved drafts Did not … Continue reading
Posted in All, Computers
2 Comments
Google Summer of Code Mentor Summit 2009
Last weekend Google hosted their 3rd annual mentor summit, following the end of their 4th annual summer of code. The mentor summit is when a few hundred mentors gather together and participate in an unconference style conference. I went for … Continue reading
Yahoo’s IM formatting
I’ve been working on instant messaging software for seven years, so I’ve been exposed to a lot of IM protocols. The “protocol” is the structure of bytes that gets sent back and forth between your computer and the IM service. … Continue reading
Why I work on open source
I haven’t written about this before, have I? I think the world is better off with free software. I don’t have anything against closed source or non-free software, I just think typical development processes for free software produce better products … Continue reading
Scrobble Scrobble
Last.fm’s audio scrobbler has an option that “scrobbles” a track after to listening to anywhere between 50% to 100% of the song. So the song is considered listened to if you only listen to 4:30 of a 5 minute song. … Continue reading
Best Practice: Rembember Application State
From Firefox I learned that applications should always save their state. When you close and restart an application is should restore its state to what it was previously. Open windows, open documents, which text was highlighted, how far down you’ve … Continue reading
Changes in Gmail
Google recently made a few changes to the buttons in Gmail. Here’s a before and after comparison: But they got two things wrong: The mouse cursor doesn’t change when hovering over the new buttons. With the old buttons the cursor … Continue reading
Web browser SSL warnings
These are the warnings that Firefox 3.0.5 is capable of showing: I once heard someone lament that as soon as a user does a web search and the browser asks “you’re submitting information that’s not encrypted, do you want us … Continue reading
The Startup Ambience
This whole “computer startup company” thing really is different than what I was used to on the east coast. I mean, I had heard about Google and Yahoo! and PayPal and eBay and Amazon and Netscape, but it’s hard to … Continue reading
Asynchronous MySQL client library
Our de facto method for asynchronous programming at Meebo is to use a single thread with non-blocking sockets and some sort of socket watching/readiness notification (poll, select, epoll, libevent, glib’s mainloop, etc). This is what Pidgin does, too. It is … Continue reading
readdir(), strtol(), errno and you!
Usually when you call a function you can determine if there was an error based solely on the return code. But the functions readdir() strtol() and strtoll() are different. For these functions, if you want to know if there was … Continue reading
Google Apps Mail
I’ve been using a web-based email program called Open WebMail for the past 7 or 8 years (from back when it used to be called NeoMail). But my spam flagging attempts have become increasingly less effective, and Open WebMail isn’t … Continue reading
Poor Planning
Why do ssh, scp and sftp all have different ways of specifying the port number? I run ssh on my home computer on a non-standard port, and it’s a pain in the calf to remember which one to use when. … Continue reading
Error Handling
“The general rule of thumb is that it takes $10 to fix the bug during development; $100 to fix the bug in QA; a $1,000 to fix the bug during beta testing; and $10,000 or more to fix the bug … Continue reading
Differences between Android and iPhone
I’m not very familiar with the iPhone or iPhone development, but here’s a comparison between the two: Android iPhone Programming Language Java. I believe it gets compiled to Java bytecode then run through an optimizer called Dalvik which makes the … Continue reading