Validation

People from Computer Science backgrounds often use the word “orthogonal.” I think that’s partly because it concisely describes an often-important concept, but mostly because it’s one of the few impressive words in our vernacular. (“Idempotent” is my other favorite CS term.)

Other professions get to use a variety of big words. Physicians, for [...]

The perception of performance

I’ve found myself using Safari more and more, instead of Firefox, because Firefox is slow.

“Slow”? What does that mean?

It means that when I start up Firefox, even if it’s already in the filesystem cache, the app’s Mac dock icon completes two full bounces before the browser window appears. Safari’s doc icon completes approximately [...]

Integrating Mobwrite with nginx

I recently helped an old friend with some prototyping and strategy for a stealth-mode project he’s doing. He wanted to use MobWrite, a framework that allows multiple users to do real-time, collaborative editing of content in a web page.

There was one technical challenge: the project was using nginx as a webserver, and none of [...]

Tips for installing Windows 7 on a Mac

I decided recently to try installing Windows 7 on my iMac, in a Boot Camp dual-boot configuration alongside OS X. I ultimately got it working, but I ran into one perplexing problem along the way. Here’s a summary of the symptoms and the solution, in case the information is helpful to other people.

I [...]

When Bad Monopolies Happen to Good Products

I use a lot of Apple products, and I like them. I’ve come to depend on the versatility of Mac OS X: rather than having to choose between Windows for good productivity tools and Linux for good engineering tools, I can have all those tools together in one OS X system. The iPhone [...]

Ruby + MySQL dynamic library problems

I wanted to try out Ruby on Rails with MySQL on OS X 10.6. I ran into a few common problems along the way, so I am documenting the process here in case it might be helpful to others.

Step 1: Install MySQL

I grabbed the .tar.gz distribution of the latest MySQL 5.1 release and installed [...]

Sequentially assigned IDs and giving away competitive intelligence

This post on TechCrunch contains quite a nice analysis of Twitter’s user behavior:

Twitter Data Analysis: An Investor’s Perspective

As the author notes, it was possible to deduce so many key metrics because “Twitter uses auto-incrementing ID numbers (1,2,3,4…) for both users and tweets.”

Auto-incremented ID numbers are a common web development practice. When you run an [...]

OpenID and Facebook authentication support for blog comments

This blog now allows readers to post comments if they authenticate via OpenID.

As described earlier, I tried the OpenID plugin for WordPress, but that plugin required a PHP extension not supported by my web hosting provider.

I subsequently found the WordPress RPX plugin that supports OpenID. RPX is an outsourced authentication service run by a [...]

OpenID: 1, brianp: 0

I wanted to add OpenID support to my blog so that people could authenticate using their credentials from other sites (Yahoo and Google, for example) to post comments.

There is a plugin for WordPress that adds OpenID support. I downloaded it, installed it, and was soon up and running with a non-working OpenID implementation.

When I [...]

Scanning paper documents into PDF under OS X 10.6

For a couple of years, I’ve used an HP all-in-one printer/scanner device. Up through OS X 10.5, HP provided a scanning application that made it reasonably easy to scan paper documents into multi-page PDFs. That application, however, stopped working under OS X 10.6 Snow Leopard.

The good news

The printer support in 10.6 already includes [...]