Building osm2pgsql on Mac OS X using homebrew

General instructions are here: http://wiki.openstreetmap.org/wiki/Osm2pgsql#Mac_OS_X Note: I’m running Snow Leopard (10.6.6 ) 1. Install homebrew Check that you don’t have it already: $ which brew If you don’t have homebrew install it from here: https://github.com/mxcl/homebrew/wiki/installation E.g. like this: $ ruby -e “$(curl -fsSLk https://gist.github.com/raw/323731/install_homebrew.rb)” 2. Install proj $ brew install proj $ which proj /usr/local/bin/proj …

Building osm2pgsql on Mac OS X using homebrew Read More »

Using SQLite databases on different machines as a single virtual database

You can use separate SQLite database on different machines as a single virtual database by using the attach command in SQLite. I read about the technique here: http://souptonuts.sourceforge.net/readme_sqlite_tutorial.html For this example let’s use the simplest possible database. A contact database containing nothing but email addresses. 1. Create SQL script for a simple contacts database File …

Using SQLite databases on different machines as a single virtual database Read More »

How to import OpenStreetMap data into PostgreSQL

1. Download data and software The instructions are fairly generic, so should work for both Windows, Linux and Mac OS X. I wrote them for Windows, but I’ve since then switched to Mac OS X. PostgreSQL+PostGIS I assume that you do not already have Postgres/PostGIS installed on your system. Download PostgreSQL+PostGIS for all platforms here: http://www.postgresql.org/download/ …

How to import OpenStreetMap data into PostgreSQL Read More »

Google fusion tables cheat sheet

See below for commands using the Fusion Tables API. Example table is the oldschool message wall public table. Note that examples are shown first without the required url-encoding. Authenticating: Getting the auth token To authenticate you may use the following test account myjdoe. account: myjdoe@gmail.com password: JoesSecret curl -H "Content-type: application/x-www-form-urlencoded" -d "accountType=GOOGLE &Email=myjdoe@gmail.com&Passwd=JoesSecret&service=fusiontables&source=skipperkongen.dk" https://www.google.com/accounts/ClientLogincurl …

Google fusion tables cheat sheet Read More »

How to load Javascript dependencies dynamically

Loading jQuery using plain Javascript:: // inject e.g. jQuery into a webpage var thescript = ‘http://code.jquery.com/jquery-latest.min.js’; var newscript = document.createElement( ‘script’ ); newscript.setAttribute( ‘src’, thescript ); newscript.setAttribute( ‘type’, ‘text/javascript’ ); var head = document.getElementsByTagName("head")[0]; head.appendChild(newscript);// inject e.g. jQuery into a webpage var thescript = ‘http://code.jquery.com/jquery-latest.min.js’; var newscript = document.createElement( ‘script’ ); newscript.setAttribute( ‘src’, thescript ); …

How to load Javascript dependencies dynamically Read More »

jQuery ASCIIMATION plugin

Today I’ve authored a simple plugin for jQuery that does ASCIIMATION. It was inspired by the classic Star Wars asciimation. You can have a look at the google code repository for jQuery asciimation or check out the online demo starring a spinning planet Earth. I’m going to use it in an upcoming demo project.

Turning big hard problems into smaller, less hard problems.

Here I have captured a thought process I had while reading about algorithms for hard graph problems. The thoughts are inspired by MapReduce, distributed merge sort and the more colorful newspapers of the world. Summary of thoughts Given an instance of an problem (think Max Clique, Traveling Salesman or another hard graph problem)… Thought 1: …

Turning big hard problems into smaller, less hard problems. Read More »