October 30th, 2014

A hateful map

This map is a lie

I came across a startling map on Maps Mania today. Back in May 2013 Monica Stephens, and colleagues, published online maps showing twitter data that contained hateful words related to homophobia and racism. The message communicated by the maps is quite strong and shocking – racism and homophobia are extremely strong in the eastern half of the United States. The problem however is that these maps lie and are artifacts of poor cartographic methodology.

Read the rest of this entry »

September 14th, 2014

Mapping a character’s travels

Book map

As I finish certain books I have often thought “I wish I had noted the path of the character so I can make a map of it.” I decided to do so for the novel by Jonas Jonasson titled The Hundred-Year-Old Man Who Climbed Out of the Window and Disappeared. It turned out to be a rather good book to do this for as the character circles the globe a few times. The novel in itself is entertaining but lacks depth.

I created the map using QGIS after giving up trying to do something a bit fancier and dynamic with Odyssey.js. It turns out Odyssey.js is a gateway gimmick to attract people to trying CartoDB, the company that created Odyssey.js. To make any really interesting maps with overlays you need to serve your data from CartoDB. They have free accounts but I don’t wish to have my maps dependent on them when, as in this case, it simply isn’t necessary. CartoDB could have easily made it so you can embed your own lines and polygons. Only markers are possible.

Using QGIS unfortunately wasn’t as simple as I desired. I originally wanted to use an azimuthal equidistant map centred on Sweden but QGIS gets very buggy and cuts off portions of the map as well as breaking apart continents. I selected the North Pole instead. This was suitable as it is not so far away from Sweden. I edited the map in Illustrator because QGIS map editing is painful as well. The map I made has absolutely no finesse but I figured I had better post it as it is otherwise I may never get around to making a nicer version and sharing it.

North Pole Azimuthal Equidistant projection

North Pole Azimuthal Equidistant projection

My main lesson to anyone who wishes to do the same is to keep more detailed notes. I tracked the date and location as well as the page number it appeared on but never the mode of travel between data points. My motivation for making a map dwindled as I realized that I really should have noted the mode of transportation.

May 19th, 2014

Freeing NEPTUN’s maps

Countryside map

The University of Namur’s library has some wonderful building, local, regional and national maps on their NEPTUN site. They provide a Google Map like pan and zoom functionality using a commercial Flash program called Zoomify. It’s unfortunate they chose to pay for functionality that’s freely available from OpenLayers or Leaflet. Regardless of this the data is not downloadable as a large file. I do not see why data such as this is not made easily and freely available. As a University it seems that it should be encouraging the sharing of past knowledge. In order to help them, and because a colleague asked me for a map, I have created a script that downloads all the tiles and reorganize them into one image. The script and instructions are on github. It’s obvious why it’s called Poseidon right?

May 19th, 2014

Fougasse

Top half of bread

It may not surprise you that I greatly enjoy bread. I made my first Fougasse a few months ago and haven’t stopped with various toppings. A Fougasse is a bread, typically with some design, containing and topped with seasonings: olives, sun-dried tomatoes, meats, artichoke, jalepenos, etc… A frenchman’s pizza equivalent if you will. I cannot do the flavour and texture justice by describing it. Just try it.

Read the rest of this entry »

May 18th, 2014

Creating school catchment zones with QGIS

A mess of classified streets

If you ever want to test a potential hire for a GIS position give them a task to accomplish using a different GIS system than that which they are familiar with. Having taught GIS for almost 10 years, it’s clear that those students who are capable simply read the documentation or do a search online for the best way of accomplishing their desired task. So presenting a potential recruit with a new GIS system will quickly reveal whether they are familiar with the concept of figuring things out on their own by searching online. Once you are familiar with the GIS concepts, any GISystem should be straight forward.

Read the rest of this entry »

March 29th, 2014

Quark Loaf

Quark loaf

I first had this as muffins at a friend’s house a year or so ago. It is rare that I have a craving for something a few weeks or months after eating something without having thought about it since. The tart yogourt flavour is what makes this simple cake so special. Unfortunately I have been unable to reproduce the flavour with anything but quark, a typically German yogourt made using sour milk, isn’t very accessible outside Europe as far as I know. The great appeal of this loaf, besides the flavour, is the complete simplicity of preparation.

Read the rest of this entry »

June 10th, 2013

Pathways – Filling space

Tightly packed paths filling space.

As part of my urban modelling work, now behind me, I was thinking of ways to fill empty spaces with potential residences. These randomly generated parcels would then be evaluated by potential home buying agents. This is rather different as there is no limit to parcel sizes. It’s more of an exploration of patterns generated based on random rules. The paths grow, one at a time, until they hit another path (or themselves). They can only turn 45 degrees.

The beauty is that the paths wrap around the edges of the canvas. This makes it perfect for tiling. Now that we can use SVG natively in HTML you can export your generated pathways and add them to your website background. The application allows you to vary the size of the tile and the path density (cell size).

Give it a try.

April 20th, 2013

Magnificient Meringues

MagMeringues

I have been making meringues for a very long time – since I was ten. It has always been a bit of a surprise as to how they come out. Often they are sticky like caramel on the inside, or soft like the top of a key-lime or lemon pie. Ideally they should be crunchy throughout without any large bubbles. Recently I was given some key tips for making more uniformly crunchy meringues.

Read the rest of this entry »

March 20th, 2013

Setting up Raspberry Pi’s for scraping

Flavour filled raspberry

I previously completed the steps of setting up a Raspberry Pi from an unconfigured box to a stable simple server over the network. In this post I will mount a hard drive and place mysql on it as well as data on a separate partition. We’ll also enable outbound emails, cron jobs as well as a few other bits. The topics covered will be a bit scattered. I should mention that as we dive a little deeper into the OS it’s important to note that this Raspberry Pi is running Raspian, a Debian derivative.

Read the rest of this entry »

March 4th, 2013

Setting up Raspberry Pi with SSH

Unripe raspberries dreaming of being Pis

I purchased a pair of Raspberry Pis (Model B) from ModMyPi to use for my data gathering. My doctoral work requires data from bike-share systems such as Velib’ in Paris. I will be scraping many sites repeatedly for the next couple of years. I wanted a distributed system that could resist theft/fire, hard-drive failure and internet service interruptions while still being affordable. Going with my current host would not have been possible due to my long term capacity requirements of about 40GB and the costs associated with those requirements. I considered using Amazon’s Web Service but don’t want to lose control of my data and I’m not sure the cost is worthwhile compared to using a couple Raspberry Pis (RPi). I wanted to share my process because most existing tutorials ask you to connect your RPi to a monitor/TV for setup. That’s no longer required since SSH is enabled by default. I also desired documenting my steps so that I can exactly replicated my setup for my second RPi.

Read the rest of this entry »