Apr.
24

Recently I was in the process of moving my site to a much better hosting situation (more on that later).  During the move I decided to upgrade from PostgreSQL-8.0 to PostgreSQL-8.3 as I was pretty far behind and I prefer to stay current.  This sort of upgrade isn't a big deal, and I've done it many times.  So I did my usual process:

  1. Install the desired version of PostgreSQL (in this case 8.3)
  2. Scp my last backup (taken a few minutes after I lock down the site) to the new host
  3. Run a script that essentially creates a new db, and restores the backup to it

That's when things went horribly wrong.  After a few searches I quickly learned that moving from 8.0 to 8.3 is a bit tricky when you have tsearch2 stuff in there.  It turned out to be really easy to upgrade, read on if you want to know how I did it.



Mar.
23

One of my goals in moving to California was to put more focus on getting healthy.  Now I'm lucky enough to be able to ride a really nice bike to work each day and get in a little work out each way.



Feb.
07

How do you setup git-daemon on Ubuntu?

February 07, 2009 @06:27

Git is by far my favorite version control system I've used.  I use it all the time, and one of it's benefits is how easy it is to share code.  I usually just send someone the link to gitweb and they can look at my code there.  Other times people give me their public key, and they can clone my stuff over ssh.  But just recently I wanted to have a way to easily allow anonymous readonly access.  I was surprised to find that this isn't exactly straightforward on Ubuntu, but here's how I got it working...



Dec.
20

Perforce sucks

December 20, 2008 @05:26

Seriously, I've had it.  Perforce is the most horrible version control system ever.  It's not as bad as Microsoft Source Safe - but no one pays for that anymore so it doesn't count.



Oct.
23

When it comes to performance one of the most important considerations is caching of content.  There are all sorts of approaches to the caching.  Some protect the database from duplicate queries while others protect your application from having to perform an expensive algorithm over and over.  Today I am going to talk about the most aggressive form of content caching when it comes to the web - full page caching.



Sep.
23

We wants the precious...

September 23, 2008 @09:05

Must have the precious!



Jul.
11

Recently a friend of mine pointed out that I had an error on one of my pages.  It took me almost 45 minutes to figure out what was happening.  I wasn't able to reproduce the defect in my development environment.  The version of Python installed was exactly the same.  I tried executing the problematic piece of code on the production server and it did not reproduce the problem.  All of my unit tests passed... I was at a loss as to the source of the problem.

It just so happend that a few months ago I had turned on a particular configuration option in Apache that influenced the way Python works.  The reason why I wasn't able to reproduce the problem in dev was because it does not use a production configuration.  The reason why I wasn't able to reproduce the problem using a Python interpreter is because it doesn't care about how mod_python works.  Once I figured out what was wrong the fix was very simple, in fact all I had to change were two letters.

The moral of the story is: Testing is good, unit testing is great, but don't forget to test your configuration  :)



Apr.
22

Moving to sunny California

April 22, 2008 @20:34

So I've landed a job with Rearden Commerce in Foster City, California.  All of our belongings [including our car] are currently in a trailer on it's way to Redwood City.  We sold our house, purchased plane tickets, and pretty much finished up all the stuff required for a move across the entire country.

Why wouldn't it be perfect timing to get summoned for jury duty in Cincinnati  :/ 



Feb.
24

Starting to learn Hadoop and Lucene

February 24, 2008 @21:18

I've been reading about Hadoop and Lucene for a while now.  Today I finally started working with the demos to get a better feel for how things work.

 

 

I'm excited to learn more!



Feb.
01

Script kiddies

February 01, 2008 @06:46

I must admit it's sorta cute watching a script kiddie try to hack your site using sql injection or whatever.  But it's even cuter when they try to get your [python] code to execute a get variable in the hopes of causing your [python] code to execute php code. 

Maybe one should return a link to Netcraft?



1 2 3 4

Total records: 40
FCGI/WSGI
li83-242
0.4.0_dev
44.986963 ms