Hatfield Consultants, the place that I work, is looking for an Information System Specialist. The full job posting is online here. This person will work on all sorts of interesting projects, ranging from local linear development applications, to aquaculture applications to international opportunities in Africa and SE Asia.
Required Skills and Experience
- Must be able to work independently and with a team to design, implement and test web based data management, project management and collaboration systems;
- High attention to detail;
- Excellent English written and verbal skills;
- 5+ years experience developing ASP.NET/PHP/Java web applications;
- Be able to work in a team context with non-technical users;
- B.Sc (Computer Science), B.Tech, B.Eng or related degree with equivalent experience;
Not that I’m a crazy blogger or anything, but I was finding the blogger system to beĀ rather annoying. As such, I have decided to move my blog over to a wordpress installation. Let’s see how this works!

I have been searching for some time for a simple GPX to SHP file converter. Both of these file formats are used extensively in geospatial applications, but for some reason no one has created a converter between these two files.
So, being a programmer, I decided to remedy this situation.
Download GPX2SHP Binary- for Win32
the binary version requires the .Net 2.0 framework to be installed on your computer. You can download the framework here.
Currently only waypoints are converted – tracks will be added in the future.
If you’re a programmer, you can download the Visual Studio .Net 2005 C# Source Code for this project here.
If this program works for you (or if it doesn’t), you can email me at jsuwala@gmail.com.
April 13 2009 update: the download links above are now working!
Two good websites that talk about bad design:
Bad Human Factors Design: http://www.baddesigns.com/
Interface Hall of Shame: http://homepage.mac.com/bradster/iarchitect/shame.htm
Andreas Kluth (San Francisco correspondent for The Economist) talking about real and virtual campfires, and predicts the dissolution of standalone social networks (such as FaceBook and MySpace) as we know them.
Anyone interested in the next generation of internet technology really needs to listen to this podcast. Its clear, concise and really gets at the heart of many social graph issues and human behavior.
Trac is a web-based software development tool. It’s cool features include having a wiki, and integrating beautifully with Subversion for source control. Trac is used by a lot of open source projects, including my favourite map viewer, OpenLayers.
So I wanted to install Trac on my Windows XP based development box. This was all fun until I found that Trac is written in Python. In my experience, programs written in Python ususally don’t work well on Windows. Here’s how I got it to work:
Step 1: Download and install all components
Follow the instructions on this page to install Python, Trac, ClearSilver, Subversion for Python, and PySqLite.
Step 2: Setup a Trac Project
Follow the instructions on setting up a project as described on this page.
Step 3: Test using tracd
Test your installation using the built-in web server, tracd. If it doesn’t work, you’ve done something wrong.
Step 4: Setup IIS Virtual Directories
Go into your IIS Admin panel and create a new virtual directory. This could be called anything that you want, but I called mine “trac”. This virtual directory should map to the “C:\Python24\share\trac\cgi-bin” directory.
Add two application extension mappings for this directory: .cgi and .py files should both execute the “C:\Python24\python.exe -u %s %s” command (the -u and the two %s are very important!).
Step 5: Modify various files
Modify the “C:\Python24\share\trac\cgi-bin\trac.cgi” file to add two lines under the “try:” statement (my test project is installed in the directory c:\projects\trac\testProject\”)
try:
import os
os.environ['TRAC_ENV'] = “C:/projects/trac/testProject/”
from trac.web import cgi_frontend
cgi_frontend.run()
Modify the “C:\Python24\Lib\site-packages\trac\web\api.py” file’s line 219/220:
Old code:
path_info = property(fget=lambda self: self.environ.get(’PATH_INFO’, ”).decode(’utf-8′), doc=’Path inside the application’)
Replace with:
path_info = property(fget=lambda self: self.environ.get(’PATH_INFO’,”).decode(’utf-8′).replace( self.environ.get(’SCRIPT_NAME’, ”), ”), doc=’Path inside the application’)
Modify the “C:\Python24\Lib\site-packages\trac\web\main.py” file’s line 302:
Old code:
path_info = environ.get(’PATH_INFO’)
Replace with:
path_info = environ.get(’PATH_INFO’, ”).replace( environ.get(’SCRIPT_NAME’, ”), ”).lstrip(’/').split(’/')
Step 6: Test
Open up your web browser, and go to http://localhost/trac/trac.cgi and see what happens!

Every once in-a-while I need to convert between VB.Net and C#. Doing this by hand is a pain, but now there are some automated tools to help.
Telerik Code Coverter is a free simple VB.NET to C# code converter and vice-versa. It’s shaping up to be one of the best code converters out there.
I have found an interesting OpenSource based system that should allow you to import GPS track/route/waypoint information from your GPS into the OpenSource spatial database PostGIS. Here are the steps and tools:
- Convert your GPS data to the GPX format using GPSBabel
- Use the GPX2SHP program to create a SHP (ESRI Shape File)
- Import the SHP file into PostGIS using shp2pgsql
With your GPS data in PostGIS, you should be able to do all sorts of cool things.
For PostGIS data import, the following tools are interesting:
Some quick map links:
To add your own WMS (Web Mapping Server) to Google Maps, check out the javascript here: http://docs.codehaus.org/display/GEOSDOC/Google+Maps. They talk about GeoServer (a Java Map engine), but the javascript doesn’t rely on any WMS server in-particular.
If you are using a standards compliant WMS, check out this SLD (Style Layer Discriptor) to style your maps like Google does (or very close).