Archive for the ‘Programming’ category

OpenCage Geocoder

July 12th, 2014

OpenCage (from Lokku Limited) is a new and promising contender if you’re looking for an easy way to geocode (both forward (i.e. address to lat/long) and reverse (i.e. lat/long to address)).


According to their FAQ, OpenCage will be free while in beta:

During the beta period, use of the OpenCage Geocoder is free of charge; the pricing page will always have the latest information.


Multiple client libraries (e.g. in Python, Ruby, PHP, Javascript) make calling OpenCage very simple.


OpenCage returns results in either JSON, GeoJSON, XML, a map, or google-v3-json format.

Give it a try using their quick start. A free key is all you need to run their examples.

Facebook Graph Search with Cypher and Neo4j | Max De Marzi

January 31st, 2013

Facebook Graph Search has given the Graph Database community a simpler way to explain what it is we do and why it matters. I wanted to drive the point home by building a proof of concept of how you could do this with Neo4j. However, I don’t have six months or much experience with NLP (natural language processing). What I do have is Cypher. Cypher is Neo4j’s graph language and it makes it easy to express what we are looking for in the graph. I needed a way to take “natural language” and create Cypher from it. This was going to be a problem.

via Facebook Graph Search with Cypher and Neo4j | Max De Marzi.

The article is an interesting introduction to treetop (a “language for describing languages” used in Semr, a “framework to [support] natural language processing”) and how Mr. De Marzi uses it to create a simple Facebook Graph-like search using Neo4j. Very slick.

Live Coding example with D3 and Mike Bostock’s chord diagram from

March 17th, 2012

Bret Victor is a genius. His recent CUSEC 2012 talk, Inventing on Principle, is one of the best talks I’ve ever seen. If you watch only one talk this year, make sure it’s this one.

I was blown away by his ‘live coding’ idea, but couldn’t find any actual live examples, so I put together a quick demo using d3 and Ace. I 100% totally based it on Bret’s idea – down to the clever book styling. Imitation is the sincerest… etc etc.

The default code is Mike Bostock’s beautiful chord diagram, tweaked to fit the Twilight theme. And remember, click the pulsing red numbers and hold down the alt key!