Dound - dound.com - David Underhill
General Information:
Latest News:
Forget to reset your Garmin between workouts? 23 May 2011 | 08:16 pm
I love my Garmin Forerunner 305 – I never run / bike / hike without it. I usually download my workout while I stretch, but sometimes that isn’t convenient (especially when traveling) so I just leave t...
PostgreSQL UPSERT (in Python) 10 Jan 2011 | 01:53 pm
PostgreSQL does not yet support the UPSERT command (though it is on their Todo list). If you have a row you want to update (if it already exists in the database) or insert (if it doesn’t exist yet), t...
Asynchronous URL Fetch manager for App Engine 31 Oct 2010 | 10:42 am
App Engine’s URL Fetch API supports fetching URLs asynchronously. However, a request handler may only simultaneously fetch up to 10 URLs. To fetch more than 10, it must wait for one to finish before...
CraigNotes: An enhanced Craigslist interface – rate ads, take notes, and more 12 Sep 2010 | 11:45 am
CraigNotes is a free service which helps you track your favorite ads on Craigslist. Motivation. I love Craigslist – I’ve used it to find great housing options when moving to a new area, as well as de...
Rate limiting users requests on app engine (optionally with Captchas) 14 Jun 2010 | 10:59 am
You may have some functionality on your app engine site that you want to protect from robots and prevent users from executing too frequently. For example, perhaps users can leave comments but you only...
Country and State Chooser JavaScript Widget 8 May 2010 | 04:23 pm
I’ve put together a simple JavaScript widget which dynamically populates a state dropdown box when a country is selected. The widget includes states for the United States, Canada, and a few other coun...
Announcing JCustomUploader: a simple Java-based file uploader 20 Apr 2010 | 05:49 pm
Today I released JCustomUploader, a simple, Java-based file uploader. It can run as an applet on your website (Java 1.4 or higher) or as part of a desktop application. This software is open-source and...
FAST Google App Engine Sessions (and RPX integration) 12 Apr 2010 | 04:16 pm
The Google App Engine infrastructure provides many services, but sessions is not one of them. There are several Python-based session middlewares which already do this so I considered them first (spoil...
Python logging and performance: how to have your cake and eat it too 7 Feb 2010 | 06:08 pm
I love Python‘s logging module. I use it all the time to log a wide variety of information — messages to help me debug as well as informative messages for the user. Though you can toggle which message...
Overcoming Linux Screen Resolution Limitations (EDID) 17 Jan 2010 | 03:23 pm
A little while ago I picked up a 26″ monitor (NEC MultiSync LCD2690WUXi). Unfortunately, I found that when I connected the monitor to my Ubuntu Linux box that I could only use up to 1280×1028 — even t...