Sam Wilson's Journal


News From Everywhere

News feeds from all of the sites listed in the side bar.

Thursday, April 24

Latest news, sport and comment from the Guardian | The Guardian:

Guardian Staff: Boot up: Aereo vs Broadcasters, Uber vs New York, Samsung vs Philippines, and more

Posted on the 24th of April at about 6AM.

Plus male privilege, bad moderators, and Apple dealing with subsidies.

Continue reading...

Latest news, sport and comment from the Guardian | The Guardian:

Australian Associated Press: Australias internet speeding up, but failing to keep pace with other countries

Posted on the 24th of April at about 5AM.

International internet report shows Australia dropped three places in global speed rankings to 44th

Continue reading... » Blog:

Alex: Hear Me on the Unprofessional Podcast

Posted on the 24th of April at about 5AM.

I was a guest on last week’s episode of Unprofessional. It was a treat to podcast with my friend Dave again (and for the first time with Jamie). Give it a listen, I think we covered a few interesting topics and I got to give Dave a hard time.



Wednesday, April 23

Latest news, sport and comment from the Guardian | The Guardian:

Andy Robertson: Skylanders Trap Team the billion dollar series gets a new generation

Posted on the 23rd of April at about 11PM.

Activision has announced this year's instalment in its hugely successful Skylanders series which mixes video games and action figures to enticing effect

Continue reading...

Latest news, sport and comment from the Guardian | The Guardian:

Heidi Moore in New York: Apple profits surprise investors as company launches charm offensive

Posted on the 23rd of April at about 10PM.

Company offers seven-for-one split stock and raises dividend
Share prices jump after $45.6bn revenue announced

Continue reading...

Latest news, sport and comment from the Guardian | The Guardian:

Dominic Rushe in New York: Facebook quarterly earnings soar 72% on mobile platform success

Posted on the 23rd of April at about 8PM.

Social network reports $2.5bn revenue in first quarter of 2014
Mobile and advertising revenue up significantly from last year

Continue reading...

Scripting News:

: NakedJen and word-wrap

Posted on the 23rd of April at about 7PM.

I was talking with NakedJen today and it occurred to me that she might not know about word wrapping. She was putting hard returns at the end of every line in Fargo. This meant that when she wanted to remove a few words, she had to manually rewrap the lines below. I showed how, if she just continued to type at the end of a line, the computer would do the wrapping for her. It was a revelation! She had been using computers 25 years without knowing they could do this.

When you think about it, it makes sense -- if you learned how to write on a typewriter it might never occur to you. That's how I learned to write, and the early Unix text editors I used couldn't wrap. But the first writing tool I developed on the Apple II did it automatically. I remember the code was hard to write esp on a low-power machine like the Apple II. But I've never even documented the feature it seemed so basic to me.

You might check with friends to be sure they know about word wrap. Be sure you know about it.

Latest news, sport and comment from the Guardian | The Guardian:

Juliette Garside: Xiaomi to export cheap smartphones to emerging markets

Posted on the 23rd of April at about 7PM.

Chinese smartphone maker expands to 10 new countries including India and Brazil as cost of making gadgets continues to drop Continue reading...

Latest news, sport and comment from the Guardian | The Guardian:

Reuters: FCC plans net neutrality review to ensure open web

Posted on the 23rd of April at about 7PM.

Proposals being drawn up to make sure broadband providers do not block consumers' access to legal internet content

Continue reading...


johnmiedema: Search for a whale. Crawl, index and search using Apache Solr. Clean, complete, documented example in Java.

Posted on the 23rd of April at about 6PM.

Whatson is a cognitive search application that will answer your natural language question with a single correct answer. It is a basement build, using public domain content, open source technology, and open web knowledge. In previous posts I showed how Apache Tika can be used to crawl content in different formats and extract metadata, and ... [Read more...]


Adam: Friction » Blog:

Alex: Constants and Reading and Writing

Posted on the 23rd of April at about 2PM.

I preach the same thing, my reasons don’t just include readability, but simplicity and searchability too. Where are we handling 200 responses? I’ll search for “200″… there it is. I especially encourage this in WordPress dev when relating to WordPress post meta keys, filter and action names, etc. It makes refactoring easier too.


Latest news, sport and comment from the Guardian | The Guardian:

Alex Hern: Heartbleed inspires developers to make new version of OpenSSL

Posted on the 23rd of April at about 2PM.

A breakaway group of developers are working on LibreSSL, a new version of the flawed OpenSSL security software

Continue reading...

Latest news, sport and comment from the Guardian | The Guardian:

Presented by Aleks Krotoski and produced by Jason Phipps with Juliette Garside and Jemima Kiss: Facebook's Sheryl Sandberg on why girls need to do computer science

Posted on the 23rd of April at about 2PM.

Facebook's chief operating officer Sheryl Sandberg discusses her book Lean In: Women, Work and the Will to Lead Continue reading...

Latest news, sport and comment from the Guardian | The Guardian:

Samuel Gibbs and agencies: Google introduces 'time machine' feature in Street View

Posted on the 23rd of April at about 1PM.

Street-level mapping now lets users go back in time to see how cities, neighbourhoods and attractions have changed since 2007

Continue reading... » Blog:

Alex: Lytro changed photography — now can it get anyone to care?

Posted on the 23rd of April at about 6AM.

I don’t think I’m $1500 worth of curious, but I’d love to play with one of these.



Monday, April 21 » Blog:

Alex: Get Off My Lawn

Scripting News:

: Google Glass smells bad

Posted on the 21st of April at about 3PM.

Scoble was at Coachella, an outdoor concert, and took his Google Glass off. Scoble did that. The original whore of Glass. He tells an interesting story. People don't like the association.

How I think of it: Google Glass has a bad smell. It's connected to the bus protests in SF. All the publicity about the 1 percent and the NSA news, Google gets black eyes all the time and never grows from it. Just like Microsoft in the 90s. People who think of themselves as super geniuses are awful at listening.

The message is this: 1. We love technology. 2. But we want to be creative with it, not be owned by it. 3. It was once cool to have billions of dollars. 4. Now, having all that money makes you something we don't understand, or like.

So wearing Google Glass says something about the person wearing it. You're owned and you don't mind if everyone knows. Even worse, you're an agent of ownedness. Because you're wearing that bad-smelling thing, the rest of us start to stink. Get away with that.

Now it's ironic that Scoble kind of gave Glass the bad smell in the first place. But that's the way it goes in the real world. For all the billions Google has, they have to do PR just like everyone else. For every Scoble they need five LeBrons to polish the image.

BTW, there's something really offensive about a super-rich company asking people to pay $1500 to beta-test their product. And this isn't just any super-rich company, it's the iconic one. The one people think of first when they think of super-rich. Did it ever occur to them that they might actually pay people to do their testing?? Like it's some kind of privilege to use an unfinished product? And what happens when 1.0 ships? Does everyone get a free upgrade? Or do they have to pay all over again?


James Ward: BERLIN


johnmiedema: My “Flamer” canoe was painted by London artist AR Gullet and hung in Covent Garden Market. It has been weathered by twenty years of adventure.

Posted on the 21st of April at about 12AM.

My canoe is a work of art. AR Gullet painted maple leaves of yellow, red, and green. The canoe was hung as part of an exhibition in London Ontario’s Covent Garden Market. The canoe is affectionately called the “Flamer” for its distinctive painted flames. The Flamer has been weathered by 20 years of adventure. Today ... [Read more...]


Sunday, April 20 » Blog:

Alex: Shuttered » Blog:

Alex: The NOLA Crew

Posted on the 20th of April at about 8PM.

Me, Devin, Joe, Corey and Steve

This has been a very good weekend. This post is part of the thread: 2014 Walkabout – an ongoing story on this site. View the thread timeline for more context on this post. » Blog:

Alex: Battle House

Posted on the 20th of April at about 6PM.


This post is part of the thread: 2014 Walkabout – an ongoing story on this site. View the thread timeline for more context on this post.

Scripting News:

: Bare-bones Heroku do

Posted on the 20th of April at about 6PM.

Every time I want to start up a new Heroku app, I go through the same process, and I thought rather than figure it out every time, I'd just document it here once, and look it up.

Note: This is more general than my Heroku How To, which shows you how to set up a Fargo Publisher app. This is for any app.

  1. Come up with a name. Write it down. I'm using bingBing33 for this howto.

  2. Create a folder to hold the app. Say it's /myworld/bingBing33/

  3. Save your JavaScript file in there, say it's main.js.

  4. Create a package.json file in the folder. Follow the pattern in this file.

In Terminal, enter these commands:

cd /myworld/bingBing33

git init

git add package.json main.js

git commit -m "Initial source code"

heroku create bingBing33

git push heroku master

Your app should be running. If not, type heroku logs at the command prompt to see what happened.

To set an environment variable:

heroku config:set myvariable=somevalue --app bingBing33  

When you make a change:

git commit -a -m "Update"

git push heroku master


Saturday, April 19 » Blog:

Alex: So the Guys Got Me a Parade

Posted on the 19th of April at about 12AM.

New Orleans is awesome. Thanks Corey, Joe, Devin and Steve. This post is part of the thread: 2014 Walkabout – an ongoing story on this site. View the thread timeline for more context on this post.


Friday, April 18 » Blog:

Alex: Amy Schumer’s Spot-On Parody of Aaron Sorkin Starring Josh Charles » Blog:

Alex: New Orleans

Posted on the 18th of April at about 5PM.


This post is part of the thread: 2014 Walkabout – an ongoing story on this site. View the thread timeline for more context on this post.

Scripting News:

: WordPress-to-OPML source

Posted on the 18th of April at about 2PM.

As promised, I have released the source for the server that converts a WordPress blog into a single Fargo-editable outline. It's written in JavaScript and runs in node.js.

The format is OPML, which has many other uses.

It's provided under the MIT license.

BTW, you'll find a link to this server and all my other source releases in the GitHub menu at the top of every post on this blog.


Thursday, April 17

Scripting News:

: WordPress to OPML, working!

Posted on the 17th of April at about 3PM.

Fargo 1.54 is out.

It's the first version with the ability to download a WordPress site as a single Fargo outline.

I will release the source code for this project. It's written in JavaScript, runs in node.js. The format is OPML, but the server app could put out any format you like, with modifications of course. I want to do a some testing before releasing it.

As a demo, here's the OPML source for the Rebooting the News site.

This release has no user interface largely because I'm not sure what kind of UI it should have. I want to see how it works for users first before nailing that down.


Since this feature might also be of interest to WordPress users (and developers) who are not using Fargo, feel free to ask questions in the comments below. I use WordPress too, so I'm interested in comments from other users.

Update -- source release

As promised, I've released the source for the server.

Linode Blog:

caker: The New Linode Cloud: SSDs, Double RAM & much more

Posted on the 17th of April at about 2PM.

Over the last year, and very feverishly over the past five months, we’ve been working on a really big project: a revamp of the Linode plans and our hardware and network – something we have a long history of doing over our past 11 years. But this time it’s like no other. These upgrades represent […]

Scripting News:

: How the cloud should work

Posted on the 17th of April at about 1PM.

There are lots of clouds. The one I'm thinking of is the one that Amazon runs, and that so many are trying to catch up to. Here's a list of ideas the next-layer-up will have.

  1. The basic unit shouldn't be a CPU, it should be an app. They are like the apps that run on your iPhone, but they run on a server, not on a hand-held device.

  2. I sign on to my account and see a list of my apps.

  3. To create a new app, click a button called New App. A dialog appears, asking what template I want to use (by template I mean GitHub repository, but that's something designers/programmers worry about). A configuration dialog appears, one created by the template designer. Checkboxes, text areas etc. These set the environment variables that configure the app.

  4. Storage is handled in a simplified S3-like store, without the quirks of S3. Static, web-accessible storage. Nicely configurable with user dialogs. Works like a file system and a web server. And it has an interactive mode that works like a file system (after all these years S3 still doesn't have one, because it's basically not possible).

  5. Double-click on an app to get a readout of what it's doing. Something like the Google Analytics dashboard pops up. I can see what kind of traffic it's getting. Look at how it's doing with its resources. Is a database filling up? Is response time okay? Has it been up continuously. This is what people who run server apps want to be able to see at a glance.

  6. If I want to add more resources, steal the slider from Heroku (see the video demo). The more resources the app uses, the more you pay. In times of peak load scale it up. When things quiet down, you can slide it back down.

This is what the simplified layer will look like. We can build so much more complex stuff when the basics that bog down deploying and maintaining servers gets simplified and commoditized.

Cory Doctorow's

Cory Doctorow: Video: Bart Gellman and me opening for Ed Snowden at SXSW

Posted on the 17th of April at about 11AM.

Last month, Barton Gellman and I opened for Edward Snowden's first-ever public appearance, at the SXSW conference in Austin. The kind folks at SXSW have put the video online (the Snowden video itself was already up). I think we did a good job of framing the big questions raised by the Snowden leaks.


Wednesday, April 16

Open Maps:

Chris Hill: Images to map overlays

Posted on the 16th of April at about 7PM.

I have been working on a project that needs maps to make sense of it, more of that in a later post. It is a history project for my village so I wanted to overlay maps from the 19th century and early 20th century with the modern map. The modern map is easy, I know a good contemporary map I can use. For the historical map layers I need maps laid out as tiles so I can use Leaflet to display them.

I was given a scanned map of the village dated 1824 and found another set of maps dated 1910. All of these are out of copyright, so I can comfortably use them. Scans of the 1910 maps and a lot of fiddling and joining gives me a .jpg file for the village. Now the two scans need aligning to be the same projection as the OSM map.

I chose to use Mapwarper to rectify the scans to match OSM. The process is straightforward. I uploaded the .jpg file and the site overlays it on the OSM map. You can add control points on the uploaded image and matching ones on the OSM map. The more control points you add, the better the final alignment. I used road junctions mostly as the control points, though the 1824, pre-enclosure map has far fewer roads and I had to make the most of what I could find. The image is then rectified and a GeoTIFF is available to download. A GeoTIFF is a bitmap with georeferencing information added. Once this has been downloaded it can be turned into tiles.

GDAL has a set of utilities to work with geo-data. One of these is which is a python program to turn a GeoTIFF into a set of tiles. It creates TMS tiles, TMS stands for Tile Map Service which I think was intended to be a standard. The numbering of the Y-axis tiles is inverted compared to OSM tiles. It is easy to rename the tiles to match the OSM convention, but Leaflet (and OpenLayers) supports TMS and none-TMS layers and can use them interchangeably. 

Running gdal2tiles (e.g. -z13-19 xxxx.tif tiledir) gives set of tiles from the GeoTIFF (xxxx.tif) for the zoom levels specified (13-19) and stores them in the directory specified (tiledir). These are now ready for use with leaflet.

I want to overlay the older maps on the modern map. All of these layers are opaque, so if the three layers are just stacked then only the last one will display as it will hide the other two. Leaflet lets you specify the opacity of a layer, so by altering that the details of each layer can be visible simultaneously.  These can then be used as the base to show an extra layer of detail, but more that another time.

I have created a simple page to show these layers. There are sliders to control the opacity. I spent a bit of time aligning the 1910 map and I'm fairly happy with the result. The 1824 map was a bit crude so I used fewer control points and the result is not as good. It is still interesting. I'm looking for any more maps of this era for my village.


johnmiedema: Basement build of a brain. Cognitive technologies and post-literacy.

Posted on the 16th of April at about 6PM.

Whatson is my basement build of a brain. That sounds bolder than it will turn out, of course. The aim of the Whatson project is learn everything I want to know about cognitive technologies, on a granular code level. It will feed my real goal, the next draft of what was my I, Reader book project. For those ... [Read more...]

Coding Horror:

Jeff Atwood: Three Things

Posted on the 16th of April at about 5PM.

I've expressed my disillusionment with to-do lists before.

But let's try something simpler, a little experiment. What do you use to keep track of what you need to do? Hold it up, so I can see it. Humor me.

Seriously! No no no, hold it closer, near the screen here. Let me look at it. Let me get a good, long look at it.

Now imagine me slapping this thing out of your hand.

don't go there

I just want to make a point, not break your fancy whatchamacallit. So pretend I slapped it into a soft fluffy pillow on the ground, not the hard concrete of the sidewalk. Though I probably should have.

Whatever that thing is, it's a crutch. You don't need it. It's hurting you more than it is helping. Get rid of it.

Instead, ask yourself this:

What three things do you need to do today?

You should be able to instantly answer this simple question, each day, every day, for the rest of your life. Without any tools other than the brain you were born with.

If you don't have this skill, develop it. Practice, starting today. Right now.

What are you doing right now? Is it going to somehow result in one of those three things getting done today? Will this you get you to where you need to be by the end of the day?

I'm not asking you to admonish yourself or to make any changes to your routine. Just keep it simple, focus on the important things, and add a little layer of awareness.

So. Two items left. I'm doing pretty good today.

[advertisement] Hiring developers? Post your open positions with Stack Overflow Careers and reach over 20MM awesome devs already on Stack Overflow. Create your satisfaction-guaranteed job listing today!

Scripting News:

: The press isn't getting Heartbleed

Posted on the 16th of April at about 2PM.

This is like a slow motion 9/11 -- it really is that serious.

No one is alarmed. The companies that should be safing-up their servers are moving too slowly.

This is very much like the buildup to the war in Iraq when the media didn't carry the real story.

Only this time there is a lot that we should be doing that we aren't doing.

What we should be doing

  1. Locating and updating the vulnerable servers.

There is no number 2.

Changing passwords is security theater. It doesn't fix anything if hackers have access to your passwords, they have access to the new ones too.

What we should be doing: Specifics

In a comment below, I outlined a plan. I thought it should be in the post itself.

  1. First, I think we need leadership. Then we need to have a surefire way to discover vulnerable servers. You have to figure the hacking community is working quickly to figure out how to do this, if they haven't already done so.

  2. Then we have to enlist the help of users in discovering those servers.

  3. A simple feature added quickly to all the major browsers that lights up when you're on a server that's not secure. And that event goes into a database, and that information is quickly shared with the owner of the system, when they can be located (some are not going to be easily located).

  4. Then again, if we had some leadership we could just isolate those systems. Cut them off the net, so that they themselves can be damaged, but they can't be used themselves to cause damage. Again I'm sure we're falling behind the bad guys as we speak. Of course they aren't running press releases. That's probably the major reason the press isn't carrying any of the urgent messages that need to get out there.

  5. A Kickstarter project, that was immediately funded to do this work would be a good sign. Then we have to get the Netcraft people involved, and Schneier, and maybe a few other organizations that are good at communicating with programmers -- O'Reilly, the developer programs at the big tech companies -- Google, Apple, Facebook, Amazon, Microsoft, Twitter, Oracle, IBM, Salesforce, etc. Stack Exchange, Hacker News, Slashdot.

  6. The goal is to develop a communication system, quickly, to help locate and fix the vulnerable systems. And then brace for what comes next.

Scripting News:

: Mansplaining

Posted on the 16th of April at about 1PM.

  1. It's a gender-specific putdown, like saying a woman is emotional, or a black person "uppity."

  2. Not only is it rude, unfair, and a lot of other negative things, it also says that the accuser has no real objection to what the person is saying. If they did, why resort to an ad hominem attack.

  3. If you're being lectured at, condescended to, how about walking away?

  4. The term is also wildly misused. How could a blog post be mansplaining? Yet I've heard it said many times that a blog post is. (You're not cornered, you can always hit the Back button, and it's not making any assumptions about gender of the reader, blog posts are read by people of all genders, races, ages etc.)

  5. Women do it too.

  6. I've read all the literature on it. No need to send pointers.

  7. If the term is a feminist ideal, to label a bad behavior so people can see it, it has backfired. The term is most often used to shut people up, to shame them.


Tuesday, April 15


johnmiedema: “Dr. Lanyon sat alone over his wine.” Tokenizing content using OpenNLP.

Posted on the 15th of April at about 6PM.

Before Whatson accepts a search query it will first ingest, analyze and index documents so that searches don’t take forever. I have shown how Whatson will use Apache Tika to extract metadata and convert different content types into plain text. After that, the plain text will be split up into words, called tokens, so that ... [Read more...]

Scripting News:

: Old-time laptops

Posted on the 15th of April at about 12PM.

In the early-mid 80s the art of laptop computers was just getting started.

A picture named trs80Model100.gif

That's a picture of the TRS 80 Model 100.

It ran Microsoft software, if I remember correctly -- couldn't run what we now call "apps." But it had a little word processor and a BASIC interpreter, and could connect up to your desktop computer. I owned one, but never really used it. I was an Apple II guy at the time, about to transition to the IBM PC.

My first real laptop was the DG One. I was one of its early developers. Really made an impression. It was a real computer. Quite heavy, almost in what was then called the luggable category. The great thing about it was that it was not an almost-clone of the IBM PC, it was an exact clone. That meant it had lots of software. The near-compatible computers of the day all withered on the vine.

Scripting News:

: Reading Ted Nelson on an iPhone

Posted on the 15th of April at about 12PM.

Yesterday I wrote I was doing stuff with XML-RPC, but didn't say what I was doing.

I hit a conceptual stopping point on a user interface project I've been working on, inspired by Jay Rosen's use of Fargo as a presentation tool in his talk last week in Austin. I needed to move from the UI to the machine room, to plumbing and wiring and some of it, in computer networking terms, quite ancient!

Sometimes that helps clear the mind, switching what kind of puzzle you're working on. So if you hit a conceptual wall working on the user-facing stuff, switch gears and do some work on the plumbing.

My interest is in letting people use Fargo to edit whole WordPress blogs. So I started breaking the problem up into bits, and found that there really isn't a whole lot to it. Fargo can already create WordPress blog posts, and edit them of course. All I should have to do is 1. create the data structure that Fargo creates, and 2. effectively fool it into believing it had created it too. And that led me to creating a WordPress-to-OPML utility app, in JavaScript, of course (I already have lots of stuff like that in the OPML Editor).

And that led me to various approaches for talking to WordPress from JavaScript clients, but I hit CORS walls, and decided that it would be better to put this code on a server, esp since I've mastered the setting up of new node.js apps on Heroku. At first I found several packages that use XML-RPC to communicate with WordPress. I smiled when I saw the MetaWeblog API calls from the late 90s in a node.js wrapper. I suppose that's like reading Ted Nelson's book on an iPhone. Amazingly it not only works, in both cases -- but works really well! Some bits of technology move forward into the future, others don't.

It was so gratifying to come back after having left the world of XML-RPC, basically when I started doing app development on top of Twitter, I was using it as a I used to use XML-RPC. Now I find not only has WordPress continued to support their XML-RPC interfaces, but they have enhanced them. I was expecting a long slog to get the connection working, but it happened so quickly, just a few minutes, that it threw me off-balance.

Now I'm working my way through various example websites. I have it completely working with my concord test site.

I'm looking at all the WordPress blogs I have close at hand to see if they work with the new utility. I hit some problems with the Rebooting the News blog, which brings me full circle back to Jay. There are problems, so I'm reading the old posts as I work through it. More memories. Funny how there's a time for digging new holes, and then there's a time for going back to see how the ones I dug years ago are doing. Happy to report, everything still appears to be there.

Cory Doctorow's

admin: Homeland Audiobook

Posted on the 15th of April at about 8AM.

Wil Wheaton reads this independently produced audio edition of Homeland, which also includes Jacob Appelbaum's reading of his own afterword, and Noah Swartz reading his brother Aaron Swartz's afterword.


Monday, April 14


Adam: CoffeeWhiskeyBeerCheezeburger Ride

Posted on the 14th of April at about 8PM.

Sloth and I were both looking for a ride of about 25 miles this Saturday, but neither of us wanted to drive somewhere to ride bikes. So, the plan was hatched that I would ride solo to the coffee shop, and Sloth would meet me there, then we would ride to my house, and Sloth […]


johnmiedema: “Put down the marker, step away from the whiteboard.” Architecture diagram for Whatson.

Posted on the 14th of April at about 12PM.

“Put down the marker, step away from the whiteboard.” I joked that once in a design session. A picture can represent a rich array of information in a single frame — that is its strength and weakness. “A picture paints a thousand words. Stop all the talking!” It can take a while to assimilate all the information ... [Read more...]


Adam: OhDarkThirty


Friday, April 11

Cory Doctorow's

Cory Doctorow: My “Futuristic Tales of the Here and Now” in Vodo’s indie science fiction bundle: comics, movies, novels, and more!

Posted on the 11th of April at about 11PM.

Jamie from Vodo writes, "We've launched Otherworlds, our first indie sci-fi bundle! This pay-what-you-want, crossmedia collection includes the graphic novel collecting Cory's own 'Futuristic Tales of the Here and Now', Jim Munroe's micro-budget sci-fi satire 'Ghosts With Shit Jobs', Robert Venditti's New York Times Bestselling graphic novel 'The Surrogates', and Amber Benson/Adam Busch's alien office … [Read more]

Cory Doctorow's

Cory Doctorow: Homeland audiobook, read by Wil Wheaton, is back on

Posted on the 11th of April at about 10PM.

For those of you who missed the audiobook in which Wil Wheaton reads my novel Homeland in the Humble Ebook Bundle, despair no longer! You can buy it DRM-free on the excellent, a site with many DRM-free audio titles. Homeland (audiobook)


Wednesday, April 9

Linode Blog:

caker: Introducing Hourly Billing

Posted on the 9th of April at about 6PM.

Introducing hourly billing. Now you can enjoy Linode services billed in hour increments, add services to your account without needing to pre-pay, and be invoiced at the end of each month only for the hours you used. We’ve made this as simple as possible: resources are still bundled together so it’s clear what you’re getting, […]


Tuesday, April 8


jonny: Custom terminal titles in Ubuntu

Posted on the 8th of April at about 11PM.

Having fully switched from OS X to a proper Free operating system, I’m finding there’s a few things that the new environment doesn’t quite do as I’d like. One of them is the ability to name terminals per tab in gnome-terminal, but there’s no immediate provision for it. So, I’ve written a simple PHP script […]

FSF News:

: Free Software Foundation statement on Heartbleed vulnerability

Posted on the 8th of April at about 10PM.

Today, news broke of a major security vulnerability in OpenSSL. The bug, which is being referred to as "heartbleed", allows unauthorized access to information protected, under normal conditions, by the SSL/TLS encryption used to secure much of the Internet. In response to the news, Free Software Foundation executive director John Sullivan made the following statement:

Linode Blog:

Amanda: Heartbleed OpenSSL Vulnerability

Posted on the 8th of April at about 7PM.

On April 7, 2014 a vulnerability (CVE-2014-0160, also known as “Heartbleed”) was released that could allow attackers to view sensitive information in a server’s memory such as secret keys and passwords. Given the severity of this problem, Linode has taken the necessary steps to keep our customers and their information safe from potential attacks. Am […]


johnmiedema: Cognitive technologies can eliminate the silly amount of time we spend sifting through search results. ‘Whatson’ success criteria revisited.

Posted on the 8th of April at about 3AM.

My first build of ‘Whatson’ left me wanting. I felt I needed to better define how cognitive technology differed from good-old-fashioned-search, like Google. On one level, cognitive technology is, well, more mental. It uses more than keyword matching and regular expressions; but then so does Google. It uses language analysis; so does Google. It succeeds using very large unstructured ... [Read more...]


Monday, April 7


Adam: Grove’s Mill

Posted on the 7th of April at about 10AM.

I took a tour of Grove’s Mill yesterday. They said this is the oldest continuously operating water-powered mill in the United States. Here are some pictures. I added the mill and the millrace to OpenStreetMap.


Saturday, April 5


jonny: Fully virtualising the desktop environment

Posted on the 5th of April at about 8PM.

Introduction Last year I tried running Fedora on a MacBook Pro (Intel i5 processor) to see how much pain was involved in switching to Linux completely. I was also interested to see whether using virtual machines for day-to-day tasks was feasible, via Oracle’s VirtualBox. In the end I didn’t make the switch: an idle guest […]


Friday, April 4


johnmiedema: Pier Gerlofs Donia, “Grutte Pier”: Legendary warrior, video game hero, my ancestor?

Posted on the 4th of April at about 12PM.

Pier Gerlofs Donia was a sixteenth century warrior in Friesland, best known as Grutte Pier (Big Pier). A tower of a fellow as strong as an ox, of dark complexion, broad shouldered, with a long black beard and moustache. A natural rough humorist, who through unfortunate circumstances was recast into an awful brute. Out of ... [Read more...]


Thursday, April 3

Dave Robertson:

Dave Robertson: Sandy, Juan and I

Posted on the 3rd of April at about 6PM.

On a Monday, her basement filled with water from one of the most polluted canals in New York City. Four days earlier, Talia had been taking me on a nighttime bicycle tour of the Red Hook area of Brooklyn, on which I took this snap of the lower Manhattan skyline. At this stage we had […]

The post Sandy, Juan and I appeared first on Dave Robertson.


Wednesday, April 2


johnmiedema: Google Translate for Emoji announced on April Fools Day. But something like this is possible with sentiment analysis.

Posted on the 2nd of April at about 1PM.

“Can a word smile? Can it roll its eyes? Or say sorry, not sorry? … We’re excited to announce Google Translate support for Emoji. With a click of a button our translation algorithm interprets the content and tone of words, and distills them down into clear, articulate and meaningful symbols.” Google announced it yesterday. They ... [Read more...]

Cory Doctorow's

Cory Doctorow: Why I don’t believe in robots

Posted on the 2nd of April at about 9AM.

My new Guardian column is "Why it is not possible to regulate robots," which discusses where and how robots can be regulated, and whether there is any sensible ground for "robot law" as distinct from "computer law." One thing that is glaringly absent from both the Heinleinian and Asimovian brain is the idea of software … [Read more]


Tuesday, April 1

The Open Library Blog:

Anand Chitipothu: Open Library Scheduled Hardware Maintenance (Completed)

Posted on the 1st of April at about 7PM.

Open Library will be down from 5:00PM to 6:00PM SF time (PDT, UTC/GMT -7 hours) on April 1, 2014 due to a scheduled hardware maintenance. We’ll post updates here and on @openlibrary twitter. Thank you for your cooperation. UPDATE 5:23PM PDT - is back online now.


johnmiedema: New gear for April canoe-camping trip. I resisted buying a portable zip-line kit — that would have been fun!

Posted on the 1st of April at about 6PM.

It looks like the snow and ice might clear just in time for a canoe-camping trip at the end of April. Before each trip I make that dangerous visit to Mountain Equipment Coop and pick up a few more items for my ‘survival’ collection. This time: a small hatchet for better fire starting, a foraging book ... [Read more...]

Mostly Harmless:

rob: Soylent Announces New Line of GMKs

Posted on the 1st of April at about 6PM.

Soylent Announces New Line of GMKs

It gives me great pleasure to announce the first public release from Soylent X, our research arm focused on “solving the unsolvable”. After solving physical health with Soylent, we sought to tackle the elephant in the room of America’s healthcare system: mental health. Americans suffer from the highest levels of anxiety in the world. Research […]


Monday, March 31

Cory Doctorow's

Cory Doctorow: Podcast: Collective Action – the Magnificent Seven anti-troll business-model

Posted on the 31st of March at about 2PM.

Here's a reading (MP3) of a my November, 2013 Locus column, Collective Action, in which I propose an Internet-enabled "Magnificent Seven" business model for foiling corruption, especially copyright- and patent-trolling. In this model, victims of extortionists find each other on the Internet and pledge to divert a year's worth of "license fees" to a collective … [Read more]


Sunday, March 30



Posted on the 30th of March at about 12PM.

An extended version of Chas & Dave’s 1980 hit Rabbit:


Saturday, March 29


johnmiedema: Good-bye database design and unique identifiers. Strong NLP and the singularity of Watson.

Posted on the 29th of March at about 6PM.

Every so often the game changes. Newton thought time was a constant. Einstein showed that time slows down for travelers at light speed. A change of singular proportion is happening in computing today because of the challenges of big data and the rise of Strong Natural Language Processing technologies. Step back to the world of small ... [Read more...]


Thursday, March 27

Cory Doctorow's

Cory Doctorow: In which I make Wil Wheaton read out Pi for four minutes

Posted on the 27th of March at about 1PM.

Chapter nine of Homeland opens with about 400 digits of Pi. When Wil Wheaton read the chapter, he soldiered through it, reading out Pi for a whopping four minutes! Here's the raw studio audio (MP3) of Wil and director Gabrielle De Cuir playing numbers station. There's less than a week left during which you can … [Read more]

Cory Doctorow's

Cory Doctorow: Danish Little Brother

Posted on the 27th of March at about 8AM.

Hey, Danes! There's a limited-edition Danish-language translation of Little Brother that's just come out from Science Fiction Cirklen! Tell your friends!


Wednesday, March 26

Cory Doctorow's

Cory Doctorow: Noah Swartz reads Aaron Swartz’s afterword to Homeland

Posted on the 26th of March at about 7AM.

Before he died, Aaron Swartz wrote a tremendous afterword for my novel Homeland -- Aaron also really helped with the core plot, devising an ingenious system for helping independent candidates get the vote out that he went on to work on. When I commissioned the indie audiobook of Homeland (now available in the Humble Ebook … [Read more]


Tuesday, March 25

The Open Library Blog:

Anand Chitipothu: Open Library Scheduled Maintenance (Completed)

Posted on the 25th of March at about 5PM.

Open Library will be down from 4:00PM to 4:30PM SF time (PDT, UTC/GMT -7 hours) on March 25, 2014 due to a scheduled hardware maintenance. We’ll post updates here and on @openlibrary twitter. Thank you for your cooperation. UPDATE 4:45PM - is back online now.

Cory Doctorow's

Cory Doctorow: Homeland shortlisted for the Prometheus Award

Posted on the 25th of March at about 4PM.

I'm immensely proud and honored to once again be shortlisted for the Prometheus Award, for my novel Homeland. The Prometheus is given by the Libertarian Futurist Society, and I've won it for my books Little Brother and Pirate Cinema. As always, the Prometheus shortlist is full of great work, including both of Ramez Naam's novels … [Read more]


Sunday, March 23


Adam: Hike: Darlington / Tuscarora Trails, Miller’s Gap to PA 34

Posted on the 23rd of March at about 7PM.

Most of the snow is finally melted off the mountain behind my house. I went out for a hike today. I had some sort of GPS malfunction somewhere along the way.  This was an 8 mile hike, not a 15 mile.


Saturday, March 22

FSF News:

: Matthew Garrett, GNOME Foundation's Outreach Program for Women are Free Software Award winners

Posted on the 22nd of March at about 11PM.

BOSTON, Massachusetts, USA — Saturday, March 22nd, 2014 — Free Software Foundation president Richard M. Stallman announced the winners of the FSF's annual Free Software Awards at a ceremony on Saturday, March 22nd, held during the LibrePlanet 2014 conference at MIT, in Cambridge, Massachusetts. Two awards were given: the Award for the Advancement of Free Software, and the Award for Projects of Social Benefit.


Thursday, March 20


Adam: I rode my bicycle today.


Wednesday, March 19

Coding Horror:

Jeff Atwood: Please Read The Comments

Posted on the 19th of March at about 9PM.

I find the Don't Read The Comments movement kind of sad.

Comments sections are frequently misogynistic, homophobic, racist, and very often POORLY WRITTEN. Why bother reading them?

— Don't Read Comments (@AvoidComments) March 8, 2014

In 2006 I said that a blog without comments is not a blog and I stand behind that statement. There have been brief periods where my own blog has been temporarily without comments, but they will always come back as long as I'm in charge here.

I'm a fan of comments, warts and all. They're noisy, sure, but in my experience they reliably produce crowdsourced knowledge in aggregate. I understand being pressed for time, but if you want the complete picture, in the same way that you should follow all those little citation links in Wikipedia articles, you should read the comments.

I empathize with the complaint, believe me:

I used to believe that as an online writer, I had an obligation to read the comments. I thought that it was important from a fact-checking perspective, that it somehow would help me grow as a writer. What I’ve learned is that if there’s something wrong or important or even, sometimes, good about a story, someone will let you know. I’ve over the years amassed an amazing community of Salon readers who engage via email, who challenge me, who inspire new stories, who are decent people and treat me like one in return. What I was getting in the comments was a lot of anonymous “You suck, bitch.”

I admit it’s depressing for one who’s invested almost her entire career in online community to throw in the towel on it in this way. I want it to be better. But it’s just not. As a colleague once observed, “I just can’t take another letter from Angry Bad Divorce Guy.”

But that's so many pesky words, isn't it? TL;DR. Allow me to illustrate with a graph that your brain can absorb in milliseconds:

comments and esteem for humanity

What is wrong with people, amirite?

I humbly submit that this is asking the wrong question.

What is wrong with us?

I agree with Anil Dash. If your website is full of assholes, it's your fault.

As it turns out, we have a way to prevent gangs of humans from acting like savage packs of animals. In fact, we've developed entire disciplines based around this goal over thousands of years. We just ignore most of the lessons that have been learned when we create our communities online. But, by simply learning from disciplines like urban planning, zoning regulations, crowd control, effective and humane policing, and the simple practices it takes to stage an effective public event, we can come up with a set of principles to prevent the overwhelming majority of the worst behaviors on the Internet.

If you run a website, you need to follow these steps. if you don't, you're making the web, and the world, a worse place. And it's your fault. Put another way, take some goddamn responsibility for what you unleash on the world.

In other words, if you are unwilling to moderate your online community, you don't deserve to have an online community. There's no end of websites recreating the glorious "no stupid rules" libertarian paradise documented in the Lord of the Flies in their comment sections, from scratch, each and every day. This ends exactly as you would expect it to.

Libertarians make bad lifeguards

However, demanding that every online community, every comment section, have active moderation is a tough sell:

  • Skilled moderators are difficult to find. A bad moderator is often worse than no moderator.
  • Do you have the budget to pay full time moderators?
  • Are your moderators around 24/7?
  • If you have a single moderator making unilateral decisions, who appeals their decisions? If you have multiple moderators, how do they resolve disagreements?
  • What happens when your moderators inevitably burn out or move on?

One of the reasons I launched the Discourse project was due to the utter lack of understanding of how you build software to help online discussion communities moderate themselves. Their survival depends on it.

What I learned building Stack Overflow, more than anything else, is this: the only form of moderation that scales with the community is the community itself. We became quite skilled at building systems for self governance of online communities, and one of the things I'm proudest of is that – if we did our jobs well – decades from now Stack Exchange will still be a network of viable, functioning, entirely self-governing communities.

It's always a people problem. This is absolutely true. But it's also true that software can profoundly affect people's behavior, and provide tools for encouraging positive behaviors while modifying and mitigating negative behaviors. All that stuff Anil Dash described as your responsibility? Discourse handles it automatically, even if the owner installs and then walks away forever.

These are the principles of civilized discourse that Discourse is founded on, that our discussion software is designed around. Civilization begins with software that actively works to help you create safe environments for having reasonable conversations with other human beings. On the Internet, even!


This is all a very long winded way of saying that effective immediately, Coding Horror is using Discourse to power its discussions.

You may have questions, so I will attempt to answer them:

  • This blog is now hosted on Ghost, which doesn't natively support comments. All previous TypePad comments were converted into Discourse. To the best of our ability, nothing was lost.

  • Discourse is still beta, but late beta. Expect changes and improvements as we make our way to 1.0.

  • Discourse is a companion area to this blog, a clubhouse for the community. You can visit there directly at

  • Every new blog post here results in a corresponding topic being automatically created in the Discourse discussion area.

  • I do not, and will not, offer in-page commenting here. If you want to reply with a comment, you go next door to the community clubhouse. There's a fairly strong, but permeable, membrane between the editorial area here and the community area there. This is intentional.

  • At the bottom of each blog entry here you will find read only versions of all replies to the Discourse topic associated with this blog entry. I might eventually switch that to a "best of" algorithm so readers see the best comments without having to wade through dozens or hundreds of replies.

If you like what you see, Discourse is 100% free open source software, so you can easily set up the same system for your own blog. We even have a WordPress plugin to assist.

Now who's ready for some dogfooding?

[advertisement] Stack Overflow Careers matches the best developers (you!) with the best employers. You can search our job listings or create a profile and even let employers find you.


James Ward: AIRFIX

Posted on the 19th of March at about 1PM.

Never go on holiday with the people from Airfix, they don’t seem to go to very nice places.


Tuesday, March 18


Adam: Drivetrain Woes

Posted on the 18th of March at about 11AM.

A couple of weeks ago, I had a strange thing happen. I was just riding along; downshifted the rear derailleur, and WHAM! Chain skidded off the big cog and into the spokes. So, I get off, and think “Wow, that was random,” and I unbend the bent derailleur and get on with my business. Shifting […]


Monday, March 17

Coding Horror:

Jeff Atwood: The Trap You Set For Yourself

Posted on the 17th of March at about 7AM.

The Dan Ariely books Predictably Irrational and The Upside of Irrationality profoundly influenced the way I design my massively multiplayer typing games. These books offer science in the small about human behavior, and stark insights into user behavior — and by that I mean our own behavior.

The Long Goodbye

All detectives are by definition students of human nature. As the famous fictional detective Philip Marlowe is fond of noting:

There is no trap so deadly as the trap you set for yourself.

We're born pretty darn great at lying to ourselves, and we get progressively better and better at it the older we become. In software development terms, every user lies.

We become experts at lying to ourselves to avoid being functionally crippled on a daily basis by the ongoing fears that:

  • your work does not matter.

  • your life does not matter.

  • nobody cares about you.

  • you aren't good enough.

  • you aren't smart enough.

  • gosh darn it, people don't like you.

Thus, lying to yourself is part of the human condition. Otherwise nobody would be able to get out of bed in the morning.

However, if you have daily internal struggles with self doubt and indecision, you are almost certainly not going to achieve your mission, whatever it may be. I have found that, to a disturbing degree in this world, you have to believe your own hype to succeed.

Unfortunately, this is something that men are better than women at.

And it looks to me like women in general, and the women whose educations I am responsible for in particular, are often lousy at those kinds of behaviors, even when the situation calls for it. They aren’t just bad at behaving like arrogant self-aggrandizing jerks. They are bad at behaving like self-promoting narcissists, anti-social obsessives, or pompous blowhards, even a little bit, even temporarily, even when it would be in their best interests to do so. Whatever bad things you can say about those behaviors, you can’t say they are underrepresented among people who have changed the world.

So how exactly do you suppress your self doubt without eventually becoming an overbearing, axe-grinding … male … zealot? Or, even worse, a character from The Wolf of Wall Street?

One of the odder asides in The Upside of Irrationality is about the 1995 movie First Knight. Which is quite frankly terrible. Don't see it. I'm not even going to link to it. But you should watch the first few minutes of this particular swordfight scene that Ariely highlights:

Mark: How did you do that? How did he do that? Was that a trick?

Lancelot: No. No trick. It's the way I fight.

Mark: Could I do it? Tell me. I can learn.

Lancelot: You have to study your opponent, how he moves, so you know what he's going to do before he does it.

Mark: I can do that.

Lancelot: You have to know that one moment in one fight, when you win or lose. And you have to know how to wait for it.

Mark: I can do that.

Lancelot: And you have to not care whether you live or die.

Mark: (stunned silence)

The way Lancelot motivates himself to get past self-doubt in combat is not to care whether he lives or dies.

I don't mean this in the glib way of saying you should stop caring what anyone else thinks. Obviously we care what other people think. Not caring what other people think of us and what we do is the path of the narcissist, the sociopath, and the insane. That's giving up.

As Ariely says:

Lancelot fights better than anyone else because he found a way to bring the stress of the situation to zero. If he doesn’t care whether he lives or dies, nothing rides on his performance. He doesn’t worry about living past the end of the fight, so nothing clouds his mind and affects his abilities — he is pure concentration and skill.

The opinions of other people matter, but they are the traps we set for ourselves. To get past our collective prison of self doubt – am I doing the right thing? Do I even know what the right thing is any more? – concentrate on the daily routine of doing what you enjoy, what you believe in, what you find intrinsically satisfying.

This is what your life is: whatever it is you get up to do every single day. Stop stressing out about the long term stuff and focus on improving that, and you too might eventually find you don't want to live forever.

[advertisement] Hiring developers? Post your open positions with Stack Overflow Careers and reach over 20MM awesome devs already on Stack Overflow. Create your satisfaction-guaranteed job listing today!


Sunday, March 16


Adam: Wildwood Nature Walk


James Ward: MONOCLE

Posted on the 16th of March at about 1AM.

I attempted to speak in coherent sentences to Georgina Godwin at Monocle 24 about Boring:


Saturday, March 15


Jon: The charity-mugger phenomenon

Posted on the 15th of March at about 3PM.

There is a rule of street fundraising that surely has parallels in the physical sciences. You find a charity mugger, pop them in an excessively luminous T-shirt to match their personality, and stand them in a sea of shoppers on a Saturday high-street. Powered by some alien intuition lurking in the moving throng, the “chugger” […]


Thursday, March 13


James Ward: CHIP AND PIN

Posted on the 13th of March at about 1PM.

Over the last couple of months, my debit card has become increasingly unreliable. It’s become slightly bent and the chip is slightly scratched. It’s not completely unusable. It probably works about 75% of the time in cash machines, and those times when a cash machine rejects it, if I try again with the same machine, it normally accepts it the … Continue reading 


Tuesday, March 11

James Bridle: #Rorschcam NYC

Posted on the 11th of March at about 3PM.

A hello present to New York City


Thursday, March 6



Posted on the 6th of March at about 6PM.

I had an email conversation with Leila Johnston about putting on events. Leila publishes the quarterly Hack Circus magazine and organises events around the theme of each issue (the next event is on March 15th and is about reality). I organise Boring and write this blog, but you probably know that already. LJ: So, events. Why do we keep doing them? … Continue reading 


Monday, March 3

Mostly Harmless:

rob: Platonic Payments

Posted on the 3rd of March at about 7PM.

Platonic Payments

Paying is strange. Consider the following exchange:         Me: Hello unfamiliar person. I would like to give you some fiat currency in exchange for the goods and / or services you provide.         Clerk: Splendid! Let me just whip out this large, obnoxiously bright, unwieldy machine and get the banks involved in our newfound relationship.         Me: That […]


Friday, February 28

FSF News:

: FSF joins forces with Software Freedom Law Center and Open Source Initiative to fight software patents in U.S. Supreme Court

Posted on the 28th of February at about 10PM.

BOSTON, Massachusetts, USA -- Friday, February 28, 2014 -- The Free Software Foundation (FSF) joined the Software Freedom Law Center (SFLC) and the Open Source Initiative (OSI) in filing a brief amici curiae in software patent case Alice Corp. v. CLS Bank before the United States Supreme Court yesterday.

Linode Blog:

Marques Johansson: Network Hotplug

Posted on the 28th of February at about 8PM.

Introducing Network Hotplug Now you can add, remove, or swap IPs on the fly, without the need to reboot your Linode.  Previously the network infrastructure rules that govern a Linode’s networking capabilities were only rebuilt on boot.  Now this is done automatically when you make changes, and without the need for a reboot, and will take effect […]

Coding Horror:

Jeff Atwood: 10 Years of Coding Horror

Posted on the 28th of February at about 9AM.

In 2007, I was offered $120,000 to buy this blog outright.

I was sorely tempted, because that's a lot of money. I had to think about it for a week. Ultimately I decided that my blog was an integral part of who I was, and who I eventually might become. How can you sell yourself, even for $120k?

I sometimes imagine how different my life would have been if I had taken that offer. Would Stack Overflow exist? Would Discourse? It's easy to look back now and say I made the right decision, but it was far less clear at the time.

One of my philosophies is to always pick the choice that scares you a little. The status quo, the path of least resistance, the everyday routine — that stuff is easy. Anyone can do that. But the right decisions, the decisions that challenge you, the ones that push you to evolve and grow and learn, are always a little scary.

I'm thinking about all this because this month marks the 10 year anniversary of Coding Horror. I am officially old school. I've been blogging for a full decade now. Just after the "wardrobe malfunction" Janet Jackson had on stage at Super Bowl XXXVIII in February 2004, I began with a reading list and a new year's resolution to write one blog entry every weekday. I was even able to keep that pace up for a few years!

Janet Jackson clothing malfunction

The ten year mark is a time for change. As of today, I'm pleased to announce that Coding Horror is now proudly hosted on the Ghost blog platform. I've been a blog minimalist from the start, and finding a truly open source platform which reflects that minimalism and focus is incredibly refreshing. Along with the new design, you may also notice that comments are no longer present. Don't worry. I love comments. They'll all be back. This is only a temporary state, as there's another notable open source project I want to begin supporting here.

It is odd to meet developers that tell me they "grew up" with Coding Horror. But I guess that's what happens when you keep at something for long enough, given a modest amount of talent and sufficient resolve. You become recognized. Maybe even influential. Now, after 10 years, I am finally an overnight success. And: old.

So, yeah, it's fair to say that blogging quite literally changed my life. But I also found that as the audience grew, I felt more pressure to write deeply about topics that are truly worthy of everyone's time, your time, rather than frittering it away on talking head opinions on this week's news. So I wrote less. And when things got extra busy at Stack Exchange, and now at Discourse, I didn't write at all.

I used to tell people who asked me for advice about blogging that if they couldn't think about one interesting thing to write about every week, they weren't trying hard enough. The world is full of so many amazing things and incredible people. As Albert Einstein once said, there are two ways to live your life. One is as though nothing is a miracle. The other is as though everything is a miracle.

Watchmen page

I wasn't trying hard enough. I had forgotten. I can't fully process all the things that are happening to me until I write about them. I have to be able to tell the story to understand it myself. My happiness only becomes real when I share it with all of you.

This is the philosophy that underlies Stack Overflow. This is the philosophy that underlies Discourse. These are all projects based on large scale, communal shared happiness. Love of learning. Love of teamwork. Love of community.


For the next decade of Coding Horror, I resolve to remember how miraculous that is.

[advertisement] How are you showing off your awesome? Create a Stack Overflow Careers profile and show off all of your hard work from Stack Overflow, Github, and virtually every other coding site. Who knows, you might even get recruited for a great new position!


Tuesday, February 25

Open Maps:

Chris Hill: Signed at last

Posted on the 25th of February at about 7PM.

I went out to buy some seeds for the allotment today. On the way home deliberately drove home down Hawthorn Avenue in Hull to see the point where Woodcock Street joins it.

I have written to Hull City Council traffic department a few times in the past about that junction. Woodcock Street runs from Hawthorn Avenue to St Georges Road. Hawthorn Avenue has a 30 mph and St Georges Road has a 20 mph limit. There was no speed limit sign at either end of Woodcock Street nor at any point along it, so from St Georges Road you would assume it to be a 20 mph road but from Hawthorn Avenue you would assume it to be a 30 mph road and if you drove onto St Georges Road you would also expect it to be 30 mph until you see a repeater for 20 mph.

Woodcock Street has been part of the substantial redevelopment in the Hawthorn Avenue area, much of which is still under way though Woodcock Street looks to be pretty complete. The council have put a cherry on it by erecting a 20 mph sign at the Hawthorn Avenue end to remove any doubt.

Well done Hull City Council, eventually.


Monday, February 24

Coding Horror:

Jeff Atwood: App-pocalypse Now

Posted on the 24th of February at about 10PM.

I'm getting pretty sick of being nagged to install your damn apps.


XKCD helpfully translates:


Yeah, there are smart app banners, which are marginally less annoying, but it's amazing how quickly we went from "Cool! Phone apps that finally don't suck!" to this sad, eye rolling, oh-great-of-course-you-have-an-app-too state of affairs.

"Would you like to install our free app?!?" is the new "It looks like you're writing a letter!"

— Jeff Atwood (@codinghorror) January 9, 2013

Four years, give or take a few months, if you were counting. So what happened?

Millions of pointless apps

Your platform now has a million apps? Amazing! Wonderful! What they don't tell you is that 99% of them are awful junk that nobody would ever want.

Let's start with the basics. How do you know which apps you need? How do you get them installed? How do you keep them updated? How many apps can you reasonably keep track of on a phone? On a tablet? Just the home screen? A few screens? A dozen screens? When you have millions of apps out there, this rapidly becomes less of a "slap a few icons on the page" problem and more of a search problem like the greater web. My son's iPad has more than 10 pages of apps now, we don't even bother with the pretense of scrolling through pages of icons, we just go straight to search every time.


The more apps out there, the more the app stores are clogged with mediocre junk, the more the overall noise level keeps going up, which leads directly to this profligate nagging. Companies keep asking how can we get people to find and install our amazing app instead of the one question they really should have asked.

Why the hell are we building an app in the first place?

I want to know who exactly is going to all the trouble of installing the McDonalds app on their device instead of simply visiting the McDonalds website in the browser as needed. What problem does that app solve for french fry enthusiasts that it needs to be permanently installed on your device? Why are they giving away free Big Macs just to get people to install this thing?

Fragmentation into parallel and incompatible app worlds

It was so much easier when iOS was totally dominant and the iPhone was the only player. Before the iPad and tablets. Before Android got decent in 4.0 and Google standardized the Play store. Now there are, at minimum, four radically different mobile platforms that every serious app player has to support:

  1. Android phone
  2. iOS phone
  3. iOS tablet
  4. Android tablet

(For extra credit: how many of these are actually "mobile"?)

Unless you're careful to build equivalent apps in all those places, it's like having multiple parallel Internets. "No, sorry, it's not available on that Internet, only the iOS phone Internet." Or even worse, only on the United States iOS phone Internet.

If you're feeling generous, we should technically include Windows 8 and Windows Phone in here too. All with different screen dimensions, development stacks, UI guidelines, and usage patterns. Oh and by the way, that's assuming no other players emerge as serious contenders in the computing device market. Ever.

At the point where you find yourself praying for a duopoly as one of the better possible outcomes, that's … not a good sign.

Paying for apps became a race to the bottom

Buying an app is the modern Support Your Favorite Small Software Vendor Day. I was always fine with dropping ten or twenty bucks on software I loved. I'm a software engineer by profession; apps are cheaper so I can buy even more of them.

Have you ever noticed that the people complaining about apps that cost $3.99 are the same people dropping five bucks on a cup of fancy coffee without batting an eyelash? Me too, and I'm with the coffee people. $3.99 for your app? Outraaageous!

Now, contrast this with your app, Mr. Developer. I don’t know you from Adam. You’re pitching digital Instant Refresher Juice 1.0 to me in the form of a new app. The return I’m going to get is questionable at best. I already have 30 apps on my phone, some of them very good. Do I need another one? I don’t use the 30 I have. The experience I’m going to get from adding one more app is not trustable. I’m assured of nothing. Last week I bought an app for 99 cents and it was terrible. I used it once, for 15 seconds. I could be shoving $1 straight down the toilet again for all I know. Your app, good sir, is a total gamble. Sure, it’s only a $1 gamble… but it’s a gamble and that fact matters more than any price you might place on it.

For some reason I don't completely understand, mobile app review systems are frequently of questionable value, so all you really have to go on are the screenshots and a bit of text provided by the developer.

Imagine you bought your coffee, only to open the lid and find it was only half full, or that it wasn't coffee at all but lemonade. If only 1 in 5 cups of coffee you bought actually contained coffee, a $3.99 price for that coffee starts to seem unreasonably high. When you buy an app, you don't really know what you're going to get.

Turns out, the precious resource here isn't the money after all. It's your time. In a world of millions of apps, free is the correct and only price for most apps except those rare few of extreme, easily demonstrable value – probably from well known brands of websites you already use daily. So hey, everything is free! Awesome! Right? Well…

When apps are free, you're the product

I know, I know, I'm sick of this trite phrase too. But if the market is emphatically proving that free is the only sustainable model for apps, then this is the new reality we have to acknowledge.


Nothing terrifies me more than an app with no moral conscience in the desperate pursuit of revenue that has full access to everything on my phone: contacts, address book, pictures, email, auth tokens, you name it. I'm not excited by the prospect of installing an app on my phone these days. It's more like a vague sense of impending dread, with my finger shakily hovering over the uninstall button the whole time. All I can think is what shitty thing is this "free" app going to do to me so they can satisfy their investors?

For the sake of argument, let's say the app is free, and the developers are ethical, so you trust that they won't do anything sketchy with the personal information on your device to make ends meet. Great! But they still have to make a living, don't they? Which means doing anything useful in the app requires buying three "optional" add-ons that cost $2.99 each. Or there are special fees for performing certain actions. Isn't this stuff you would want to know before installing the app? You betcha. Maybe the app is properly tagged as "offering in-app purchases" but the entire burden of discovering exactly what "in-app purchases" means, and how much the app will ultimately cost you, is placed completely on your shoulders. You, the poor, bedraggled user.

The app user experience is wildly inconsistent

Have you ever tried actually using the Amazon app on iOS, Android, and Windows? iOS does the best, mostly because it's been an app platform for longer than the others, but even there, the Amazon app is a frustrating morass of missing and incomplete functions from the website. Sure, maybe you don't need the full breadth of Amazon functions on your phone, though that's debatable on a tablet. But natural web conveniences like opening links in new tabs, sharing links, the back button, searching within the page, and zooming in and out are available inconsistently, if at all.

The minute you begin switching between platforms – say you use an iOS tablet and an Android phone and a Windows 8 touch laptop, like I do – you'll find there are massive differences between the Amazon apps (and the eBay apps, and the Netflix apps, and the..) on these different platforms. At some point, you just get fed up with all the inconsistencies and oddities and quirks and say to hell with these apps, can I please just use the website instead?

Now, if your website is an awful calcified throwback to 2003, like eBay, then the mobile apps can be a valuable opportunity to reinvent your user interface without alienating all your existing users. If there's one thing I love about tablet and phone design it's that their small screens and touch interfaces force people to think simpler. This is a good thing. But if you don't eventually take those improvements home to the mothership, you're creating two totally different and incompatible UIs for doing the same things.

It seems like a fool's errand to dump millions of dollars of development time into these radically different, siloed app platforms when Amazon could have spent it improving their website and making that experience scale a bit better to every device out there.

The World Wide App

But that's not an option, because apparently the web is dead, and mobile apps are the future. I'm doing my best to resist a sudden uncontrollable urge to use my Ledge Finder app to find the nearest ledge to jump from right now.

The tablet and phone app ecosystem is slowly, painstakingly reinventing everything I hated about the computer software industry before the web blew it all up. Even fans are concerned:

I’m waiting for something that will unify the world of apps and make manually going to an App Store to find a new app as weird as typing in a URL to find a new website. My bet is that this won’t be Facebook. Instead, I would not bet against some young upstart, perhaps one inspired upon reading about a $19 billion deal, to go heads-down and come up with something crazy.

I'll have more to say about this soon, but I expect there to be an explosion of new computing devices all over the world in the next few decades, not a contraction. Sometimes the craziest solution is the one that's been right there in front of you the whole time.

[advertisement] Hiring developers? Post your open positions with Stack Overflow Careers and reach over 20MM awesome devs already on Stack Overflow. Create your satisfaction-guaranteed job listing today!


Sunday, February 23

tom m wilson:

Tom Wilson: A Journey Across Sri Lanka.

Posted on the 23rd of February at about 11AM.

        I’ve spend the day hanging out of the door way of a train travelling across the mountains, hills and plains of Sri Lanka. This morning we got on the station at Ella in the highlands and this afternoon we will be in Colombo.       Many English poets have written [...]


Friday, February 21

Linode Blog:

Amanda: Spring Conferences 2014

Posted on the 21st of February at about 4PM.

This Spring we’ll be sponsoring several conferences. If you’ll be attending any of these events, stop by our booth to say hello and get some Linode swag! PyCon April 9-17 Booth #715 Montreal, Canada – For the 4th year in a row, Linode is pleased to sponsor PyCon US! PyCon is the largest annual gathering […]

tom m wilson:

Tom Wilson: The man in the hills.

Posted on the 21st of February at about 2PM.

Ella is a small village, mainly catering to the tourist trade these days. It is in the high country but not as high or bleak at Nurwa Eliya. The landscape is green and fecund here, and the pace of life is slow. We’re staying in a family homestay place, upstairs in a clean and well [...]


Thursday, February 20

Dave Robertson:

Dave Robertson: Screws and Cheap Tricks in Rockford Illinois

Posted on the 20th of February at about 3PM.

Rockford, Illinois, was once the world’s largest manufacturer of screws, but following the North American Free Trade Agreement (NAFTA) of 1994, most of its manufacturing sector bolted out of town (pardon the pun). According to one estimate, the agreement led to a net lose of 682,900 jobs across the U.S. Here in Australia, it is […]

The post Screws and Cheap Tricks in Rockford Illinois appeared first on Dave Robertson.


Wednesday, February 19

tom m wilson:

Tom Wilson: A note for shameless tea drinkers.

Posted on the 19th of February at about 3AM.

The British love of a cup of tea dates back to the 1600s among the aristocracy, but was widespread among the working class by the end of the nineteenth century. The humble cup of tea at an English vicarage can be analyzed as reshaping huge swathes of the earth, moving Tamil workers from India to [...]


Tuesday, February 18

Coding Horror:

Jeff Atwood: Complaint-Driven Development

Posted on the 18th of February at about 6AM.

If I haven't blogged much in the last year, it's because we've been busy building that civilized discourse construction kit thing I talked about.


(Yes, that's actually the name of the company. This is what happens when you put me in charge of naming things. Pinball machines, people, what's the difference? I've apologized to Bill Budge already.)

So if you, like my investors, are wondering why this process took a whole entire year, I should explain how I build things, or at least, how we built Stack Overflow and Stack Exchange and now Discourse:

  1. Do a ton of detailed research on everything out there in your space. The successes: what are they getting wrong? The failures: what did they get right? Nobody should know more about the history of your area than you do. Have a story that makes sense, something you believe in, and more importantly, a story you can get others to believe in.

  2. Based on this research, assemble a team and build the minimum viable product that does something useful. If you need seed funding, this is the time to get it, so I hope you're pretty good at all that stuff in step 1, and maybe famous too, and ideally already successful as well, otherwise you are screwed.

  3. Have your team and yourself start using that minimum viable product, every day, all day long. This is way more than mere software development: it's your whole life. If you aren't living in the software you're building, each day, every day, all day … things are inevitably going to end in tears for everyone involved. And honestly, if I have to explain this to you, guess what? You're screwed.

  4. Launch a brief closed beta and get feedback from your Special Internet Friends™ on what you've built so far. I know what you're thinking: Friends! Damn it! I knew those things would be useful to me at some point! Listen to all their feedback with an open mind, no matter how dumb it probably is. Identify and fix everything major that comes up. Your product will still be terrible, but it'll be slightly marginally less terrible, and you'll now be slightly marginally less screwed than you otherwise would. (This is what we business experts call a "competitive advantange". Look it up.)

  5. Rapidly get to a public launch. It will suck, but you will ship it anyway. Don't screw up the basic logistics of the launch. You know what I'm talking about because you've seen those sad launches. Don't be those companies. Don't be those teams. Don't worry, you'll have ample time to screw everything up royally in the next step.

  6. Hey, remember all those brilliant ideas you had based on all that painstaking, detailed research you did in step 1? Turns out once you put them in front of actual honest-to-god real world users they were all … completely … wrong. Now spend the next year doing nothing but fixing all your idiotic screwups and stupid mistakes.

  7. ???

  8. Profit!

I never said it was a good plan for building software, but hey. Y'know. It's a plan.


Each one of those steps is worthy of a blog entry in its own right, but it's step six that I want to focus on today because in my opinion that's the most critical part of this whole so-called "plan". I like to refer to this phase as complaint driven development:

  • Get your software in front of as many real users as you can.
  • Listen to all the things they complain about. It will be… a lot.
  • Identify and fix the top 3 things people keep repeatedly complaining about.
  • Do it again.

Now, we have a bit of an unfair advantage here because Discourse is discussion software. We host the discussions about all the things that are wrong with Discourse … on Discourse itself. But that's also why we built an open source discussion platform in the first place – my deeply held belief that actually listening to your customers should matter to your business.

Provided you're equipped to listen to your customers, complaint driven development isn't that difficult. Until you get deep into a multi-year design, you're dealing with fairly obvious, easy to fix complaints from users. You just have to be out there listening. As Steve Krug says in Don't Make Me Think:

You don't need to find all the problems. In fact, you'll never find all of the problems in anything you test. And it wouldn't help if you did, because of this fact:
You can find more problems in half a day than you can fix in a month.

You'll always find more problems than you have the resources to fix, so it's very important that you focus on fixing the most serious ones first. And three users are very likely to encounter many of the most significant problems related to the tasks that you're testing.

For example, we launched Discourse with a requirement that all topic titles and bodies be above a certain minimum character length, because we believe that extremely short posts and particularly titles aren't conducive to actual conversation. Philosophically, this is an important default for us, because it strongly relates to our core mission of building software that helps cultivate meaningful conversation on the Internet.

Unfortunately, users hated it:

I think it's especially annoying that there's no indicator of how many characters that you have to type. You only have whether or not the "Reply" button is greyed out or not, and not all users will realize that it's greyed out at first. Even then, if you click on the reply button it can bounce back on you if your post was mostly white-space. It's annoying as hell.

This was one of the consistently strongest bits of early feedback we got. So in the first 7 days after launch we quickly added a real time character count to the bottom right of the editor.


I thought that'd help. It didn't. The complaints about our terrible, awful, onerous default title and body length restrictions kept pouring in. So we experimented with ways to make these requirements clearer, by using a red border, or a red background on the fields.



We deployed all of the above and more. Complaints did not abate one bit. Now this is a configuration setting, if you want the minimum title and body length to be 1 character in your community, it's trivially settable via a web browser in about 15 seconds. Frankly I started getting really sick of hearing all the complaints about the setting.

So we finally deployed the nuclear option: bouncy error dialogs right next to the field as soon as they lose focus.


Since that change, I haven't heard word one about our terrible, onerous, awful default body and title character limit policies. Not one. Single. Complaint.

So that's the sort of thing we've been doing post launch, each day, every week, for the last year. It took us a full year of complaint driven development to get to software worth using. And even though we are now cautiously accepting customers, we're still practicing complaint driven development every day, just perhaps weighted a bit more heavily towards the people actually paying us money.

It's true that gathering feedback from your community can be hard work. And 90% of the feedback you'll get will be terrible for a whole host of reasons. It's a lot easier to imagine some heroic expert swooping in and magically blessing you with the correct answer. Well, good luck with that fantasy. The only thing I've ever seen work is getting down deep and dirty in the trenches with your users, communicating with them and cultivating relationships. That's how you suss out the rare 10% of community feedback that is amazing and transformative. That's how you build a community that gives a damn about what you're doing – by caring enough to truly listen to them and making changes they care about.

[advertisement] Stack Overflow Careers matches the best developers (you!) with the best employers. You can search our job listings or create a profile and even let employers find you.

tom m wilson:

Tom Wilson: Udawalawe National Park

Posted on the 18th of February at about 3AM.

A herd of wild buffalo relax in a waterhole as the sun came up yesterday morning in Udawalawe National Park, southern Sri Lanka.  They lolled, snorted and sighed, huge horns glistening in the sun.  In the centre and slightly to the left of this photo a lone jackal cruises looking for an unprotected calf. Udawalawe [...]


Monday, February 17

tom m wilson:

Tom Wilson: Travelling Sri Lanka 2014, Part Three

Posted on the 17th of February at about 10AM.

As the afternoon lengthened we visited the Gal Viharaya Buddha stone sculptures at Polonnaruwa. The land around is so green and gentle in this region of the island: central, around 100 metres altitude, and generous rainfall. And to be by the giant reclining stone Buddha (14 m long) and the giant sitting Buddha just near [...]


Sunday, February 16

tom m wilson:

Tom Wilson: Traveling Sri Lanka 2014, Part Two

Posted on the 16th of February at about 3AM.

This morning we rose very early to visit Jetavanaramaya.  This stupa is the largest – by volume – of any structure from the ancient world.  It is 122 metres tall, and in the early morning light it was quite a sight. The lush green field was capped by the floating dome over the tree tops [...]

Coding Horror:

Jeff Atwood: The Road to VR

Posted on the 16th of February at about 1AM.

A month after I wrote about John Carmack, he left id Software to become the CTO of Oculus. This was big news for two reasons:

  1. Carmack founded id in the early 90s. An id Software without Carmack is like an Apple without Woz and Jobs. You wouldn't leave the prestigious company you founded unless you had some pretty compelling new dreams to pursue.

  2. Oculus is the company many are betting will break VR headsets into the mainstream. And even if they don't manage to pull that off, they are now the most credible contender to make serious headway towards consumer VR the industry has ever seen.

Virtual reality is the stuff of programmer legend. Every software engineer that's ever read Snow Crash (or more recently, the excellent Ready Player One) has dreamed of jacking into the metaverse. But why now? Well, if you think of it in very coarse terms as strapping two smartphones on your face and writing clever glue software, modern consumer VR is a natural outcome of what Chris Anderson calls the "peace dividend of the smartphone wars":

It's hard to argue that we're not in an exponential period of technological innovation. The personal drone is basically the peace dividend of the smartphone wars, which is to say that the components in a smartphone – the sensors, the GPS, the camera, the ARM core processors, the wireless, the memory, the battery – all that stuff, which is being driven by the incredible economies of scale and innovation machines at Apple, Google, and others, is available for a few dollars. They were essentially "unobtainium" 10 years ago. This is stuff that used to be military industrial technology; you can buy it at RadioShack now. I've never seen technology move faster than it's moving right now, and that's because of the supercomputer in your pocket.

It's no coincidence that another programming legend, Michael Abrash, is also head over heels in love with VR. He worked with Carmack on Quake, and joined Valve software in 2011. His recent treatises on VR are practically religious tomes – "excited" doesn't even begin to cover it:

I apologize that these are both PDFs, but like everything else Abrash writes, they are amazing. You should read them. Closely. I don't call him one of the best technical writers I've ever encountered for nothing. If you find these interesting – and if you don't, I will personally drive to your house and pull your damn geek card myself – you should also dip into his blog, which drills into the specific challenges VR presents.

I thought VR would be at best a novelty in my lifetime. I remember playing Dactyl Nightmare at a storefront in Boulder, Colorado in the mid 90s.

If nothing else, it is abundantly clear that even after all these years, VR presents deep, hairy technical challenges even on today's insanely fast, crazily powerful hardware. That's exactly the sort of problem suited to the off-the-charts skill level of legendary programmers like Abrash and Carmack. Having both of these guys working on the newest Oculus Rift prototype with an enthusiasm I haven't felt since the early 90's means we could be on the verge of a Doom or Quake style killer app breakthrough in VR.


There's no shortage of breathless previews, such as this one at Gizmodo which ends with

But if the original Oculus was a proof of concept, this model is proof that the concept is genius. There's zero doubt in my mind that when the final version of this device comes out it is going to change the world. For me, today, already has.

I'm optimistic about the next generation of Oculus Rift. But cautiously so.

Thanks to a friend, I had an opportunity to borrow the older Oculus Rift developer kit. And to be honest … I wasn't that impressed.

  • It's a big commitment to strap a giant, heavy device on your face with 3+ cables to your PC. You don't just casually fire up a VR experience. It takes substantial setup and configuration to get it ready. And even after configuring it, entering and exiting that VR experience is a far cry from quickly sitting down in front of a TV and grabbing that extra controller, or turning on a tablet.

  • Demos are great, but there aren't many games in the Steam Store that support VR today, and the ones that do support VR can feel like artificially tacked on novelty experiences. I did try Surgeon Simulator 2013 which was satisfyingly hilarious.

  • Having your eyes so close to the screens means the display is effectively very low resolution. And I mean extremely low resolution; I'm talking literally 320x200 type stuff. Everyone talks about the "screen door effect" which is the actual matrix of pixels. I personally found it very distracting, probably the number one thing that bothered me about the experience. Any kind of text was basically unreadable. The prototype is only 720p though, whereas the newer models will be 1080p. That will help, but the resolution problem was so severe to me that I'm not sure it'll be enough.

  • VR is a surprisingly anti-social hobby, even by gamer standards, which are, uh … low. Let me tell you, nothing is quite as boring as watching another person sit down, strap on a headset, and have an extended VR "experience". I'm stifling a yawn just thinking about it. I suppose games could present a friendlier set of data on the screen for others to spectate while sending a different set of data to the VR headset, but most of the games we played showed the actual VR screen, which is extreme distort-o-vision to the naked eye. Not really something you can watch or enjoy.

  • Wearing a good VR headset makes you suddenly realize how many other systems you need to add to the mix to get a truly great VR experience: headphones and awesome positional audio, some way of tracking your hand positions, perhaps an omnidirectional treadmill, and as we see with the Crystal Cove prototype, an external Kinect style camera to track your head position at absolute minimum. Eventually maybe even wear a suit to track your whole body. Notice how quickly we get into geez-this-is-a-lot-of-equipment territory.

The Oculus Rift prototype was an excellent and interesting and worthwhile experience, don't get me wrong, but it was more of a tech demo than anything else. It felt a long way from something that I'd be comfortable donning on a regular basis.

I'll leave you with Michael Abrash's summary:

  • Compelling consumer-priced VR hardware is coming, probably within two years
  • It’s for real this time – we’ve built prototypes, and it’s pretty incredible
  • Our technology should work for consumer products
  • VR will be best and will evolve most rapidly on the PC
  • Steam will support it well
  • And we think it’s possible that it could transform the entire entertainment industry

But that hardly does it justice; read the entire presentation (pdf).

If you want some of the hardest practical problems in computer science to work on, bringing VR to the world is as ambitious (and fun!) a goal in software and hardware engineering I can think of. So like any proper card-carrying geek, I'll certainly be ordering the new Crystal Cove model of Oculus Rift as soon as it's available.

It's a start. Maybe a big one.

[advertisement] Hiring developers? Post your open positions with Stack Overflow Careers and reach over 20MM awesome devs already on Stack Overflow. Create your satisfaction-guaranteed job listing today!


Saturday, February 15

tom m wilson:

Tom Wilson: Traveling Sri Lanka 2014, Part One

Posted on the 15th of February at about 4AM.

  I’ve been moving through Sri Lanka for a week now and thought I’d communicate some impressions.  Colombo is where travelers arrive.  Colombo, looking back, is not a charismatic city.  I saw more men than women on the streets during the day, and after sunset it was rare to see a single women on the [...]

FSF News:

: Free Software Foundation opens registration for March 24th legal seminar on GPL Enforcement and Legal Ethics

Posted on the 15th of February at about 1AM.

BOSTON, Massachusetts, USA -- Friday, February 14th, 2014 -- The Free Software Foundation (FSF) today announced open registration for a seminar on GPL Enforcement and Legal Ethics, to be held Monday, March 24th, 2014, at Suffolk University Law School. The half-day seminar will provide an introduction to the terms of the GNU General Public License (GPL), a detailed look at how it can and has been enforced, and a session on professional ethics considerations for lawyers working with clients involved in free software.

FSF News:

: The FSF is hiring: Seeking a Boston-area full-time Web Developer

Posted on the 15th of February at about 12AM.

The Free Software Foundation, a Boston-based 501(c)(3) charity with a worldwide mission to protect freedoms critical to the computer-using public, seeks a Boston-based individual to be its full-time Web Developer.


Wednesday, February 12


James Ward: MEN AT WORK

Posted on the 12th of February at about 10AM.

A collection of photos of men (and some women) at work in the late 1990s, found in a cupboard.


Monday, February 10

FSF News:

: LulzBot TAZ 3 3D printer now FSF-certified to respect your freedom

Posted on the 10th of February at about 4PM.

BOSTON, Massachusetts, USA -- Friday, February 7, 2014 -- The Free Software Foundation (FSF) today awarded Respects Your Freedom (RYF) certification to the TAZ 3, the fifth model in the LulzBot line of 3D printers by Aleph Objects, Inc. The RYF certification mark means that the product meets the FSF's standards in regard to users' freedom, control over the product, and privacy.


Sunday, February 9



Posted on the 9th of February at about 10PM.

At the weekend, I watched the film Billy Liar and then I went and sat in a pub and scribbled some notes on a piece of paper and then I typed them up and rearranged them a little bit to produce this blog post. It contains spoilers. If you have not seen the film Billy Liar, then do not read … Continue reading 


Friday, February 7



Posted on the 7th of February at about 4PM.

Back in November, I wrote about how I had thought my way out of some free mash in a branch of EAT. On that occasion, I turned down the offer of free food, but yesterday, I was gifted a sandwich. I had gone into Pret, as I do on most days. I stood in front of the chiller cabinets and … Continue reading 


Wednesday, February 5

FSF News:

: Anti-Fast Track mobilization to be extended after more than half a million people take action

Posted on the 5th of February at about 11PM.

BOSTON, Massachusetts, USA -- Wednesday, February 5th, 2014 -- Yesterday, a diverse network of organizations opposing Fast Track legislation, including the Free Software Foundation, announced they are extending their ten days of activism following massive and widespread public action. Since its inception on January 22nd, more than a hundred new groups have joined the effort at, including Coalition for a Prosperous America, Ben & Jerry's, SumOfUs, Democracy for America, Friends of the Earth, Namecheap, and CREDO -- adding to an already impressive, and unlikely, list of groups like reddit, Sierra Club, AFL-CIO, MoveOn, LabelGMOs, and Fight for the Future.


Monday, February 3

Linode Blog:

caker: Linode API: Multiple Keys and Two-Factor Support

Posted on the 3rd of February at about 6PM.

We’ve just deployed an update to the Linode API’s authentication system that allows users to have multiple API keys and also two-factor authentication. You can manage your keys via My Profile, as well as add them via the user.getapikey() API call. Keys can have an expiration date after which they’ll become invalid, and you can […]


Saturday, February 1

Open Maps:

Chris Hill: Visualising changes

Posted on the 1st of February at about 9PM.

When someone edits OSM their changes get rendered quickly so they can see their handiwork. That's really good feedback and is valuable in attracting new mappers. When it comes to checking what has changed in an area, just looking at the rendered map is rarely enough to spot any changes. Looking at changesets is the next option.

Changesets were introduced with the API version 0.6. They group together edits by a mapper made over a short period of time. They can be open for up to 24 hours, but changesets are normally closed within an hour of being created and often changesets are opened, edits uploaded to the API and the changeset closed within seconds. Changesets have a bounding box that covers the area the edits are made in. You can request a list of changesets from the API that cover a specific bounding box. Edits by a mapper are normally wrapped in a changeset that covers a small area, but some edits range across very large areas even across the whole world. These are known as big edits. These are usually some sort of mass-edit or bot edit. These will show up in a request for changesets even though no actual changes are made in the requested area.

Looking at changesets can be useful, but apart from trying to work out which of the so-called big edits to ignore, there's the bigger problem of knowing what has actually changed. If you see an added node or way that's easy, but the modified nodes or ways is a bit harder to understand and looking at some relations can be a long job to work out the changes. Has a node been moved? Has a way's nodes been moved? Has a way had nodes removed or added? Has a node or way had its tags changed? Is there some combination of all this?  Deleted nodes and ways are also a bit of a problem as they no longer render and seeing what has gone can be hard to visualise, especially as some people delete a way and add a new one to replace it, losing the way's history. What would be nice is to see a before and after view of a changeset.

I looked at the problem, initially for nodes and ways, and quickly realised that the way the API delivers information about ways makes things harder than you'd want. When you request the details of a way from the API it returns the way with attributes like ID, version, changeset etc, a list of tags and a list of nodes as node ids. This fine for the current state of the way. The nodes in the list are the most recent version of the node. You need the nodes to find the geometry of the way as longitude and latitude are only stored on nodes. As soon as you look at an older version of a way the list of nodes is suddenly not clear at all. Which version of each node does it refer to?

I think the timestamp on each API object can be used to work out which version of a node matches each version of a way. That assumes that I have, or download, all of the versions of every node in the area I'm interested in. Another idea is to store the data for the area I'm interested in from a snapshot, such as Geofabrik's, and apply every changeset for the area on from there. In that way I could store the geometry of the way with the way rather than in nodes, which sounds much more practical. I can then show the before and after view of every changeset, but only from the date of my snapshot and only if I apply every changeset. I'll think about this some more.


Tuesday, January 28

Linode Blog:

James: Linode CLI

Posted on the 28th of January at about 12PM.

Having a variety of tools is important, especially when managing multiple systems and cloud services. Users and system administrators need to be in control and have the right tool for the job. Many times the tool of choice is the command line. Introducing Linode CLI We’re pleased to announce the official release of Linode CLI – […]


Monday, January 20

Linode Blog:

caker: An old system and a SWAT team

Posted on the 20th of January at about 1AM.

This is what Linode employees along with the fine men and women from the Galloway police department had to deal with this afternoon – their SWAT team storming the Linode office, forcing everyone out for about an hour while they performed a sweep of the building room to room, complete with an explosives-sniffing dog (who was […]


Thursday, January 16

Linode Blog:

csmith: Write for Linode. Get Paid!

Posted on the 16th of January at about 1PM.

We’re expanding the Linode Library, and need your help! If you like to help people, can write, and want to earn some cash, then we’ve got a job for you. Here’s how it works: Write an article – pick a topic of your choice or from our list Get published – we’ll work with you to get your […]


Friday, January 3

Linode Blog:

stan_theman: Docker on Linode

Posted on the 3rd of January at about 6PM.

We’re pleased to announce that Linode now supports Docker right out of the box. Docker allows you to create lightweight containers for your applications as well as use images created by other users. Docker’s latest release, 0.7, focused on supporting a wider range of standard kernel configuration options, and we’ve released a new kernel (3.12.6) […]


Tuesday, December 31




Sunday, December 29


Jon: Tech predictions for 2014

Posted on the 29th of December at about 5PM.

Just recently, I came across a list of my NY resolutions from a year or two ago, and it was fun to see how many I’d accomplished (around half, not bad). So, this year I’ll make a couple of techie predictions, and add on some geek resolutions too. Here’s what I’d like to see in […]


Saturday, December 21

Dave Robertson:

Dave Robertson: Colorado Contrails and Cowboys

Posted on the 21st of December at about 4AM.

Steady progress with gentle rocking around gradual bends along scenic river valleys. Room to stretch legs, move about and socialise with fellow passengers. There is much to recommend about long-distance train travel. On the first leg of my American rail journey, along the superlative Washington coast, I had the good fortune to sit next to […]

The post Colorado Contrails and Cowboys appeared first on Dave Robertson.


Friday, December 20

FSF News:

: Gift giving gnu advises shoppers to "give freely"

Posted on the 20th of December at about 9PM.

BOSTON, Massachusetts, USA -- Friday, December 20th, 2013 -- Yesterday, Free Software Foundation activists visited the Boston Apple store to raise awareness of more ethical alternatives for technology gifts. The activists were accompanied by a gnu (the free software movement's buffalo-like mascot) and sported Santa hats in the spirit of the season. Shoppers were surprised to see such an unusual Santa, and many took stickers and copies of the FSF's "Giving Guide," which contains tips for purchasing tech gifts that respect computer users' freedom, privacy and security.


Thursday, December 19

FSF News:

: Gluglug X60 Laptop now certified to Respect Your Freedom

Posted on the 19th of December at about 8PM.

BOSTON, Massachusetts, USA -- Thursday, December 19, 2013 -- The Free Software Foundation (FSF) today awarded Respects Your Freedom (RYF) certification to Gluglug X60 laptops. The RYF certification mark means that the product meets the FSF's standards in regard to users' freedom, control over the product, and privacy. This is the first laptop to receive RYF certification from the FSF.


Wednesday, December 18

James Bridle: Planespotting

Posted on the 18th of December at about 5PM.

Watching the deportation flights.


Sunday, December 15


Jon: Utility/broadband usage scanner

Posted on the 15th of December at about 11AM.

I’ve written a simple PHP script to keep an eye on mobile internet usage, and have open-sourced it under a MIT license for anyone who wants to have a play. It scrapes account data from a provider’s website and stores that data in a local SQLite database. This mini-project gave me an opportunity to play […]


Wednesday, December 11

FSF News:

: Reform corporate surveillance

Posted on the 11th of December at about 10PM.

The FSF issued the following statement in response to the recent open letter on government surveillance published by AOL, Apple, Facebook, Google, LinkedIn, Microsoft, Twitter, and Yahoo.

James Bridle: Surveillance Spaulder

Posted on the 11th of December at about 2PM.

A wearable CCTV detector, with shocking results.


Monday, December 9

Open Maps:

Chris Hill: Storm surge

Posted on the 9th of December at about 9PM.

Last week the geography, planetary alignment and weather combined to cause misery to hundreds of families around Britain.

Tides around Britain naturally have a big range, the second highest tidal range in the world is in the Bristol Channel in Britain's south west. Tides vary depending on the alignment of the sun and moon, when the Sun and Moon are at the same side of the Earth (new moon) or opposite sides of the Earth (full moon) the tides are higher than when they are not in alignment. The highest tides are called spring tides, whatever time of year they occur.

The North Sea is roughly V-shaped, getting much narrower at the southern end. Last week a storm swept across the country, driving very strong winds from the north east down the North Sea coast forcing water in the sea towards the narrow part. The storm was, as usual, a deep low pressure system. With the low pressure over the sea, the water level will rise in a so-called storm surge.

The spring tide, the storm surge and the extra water blown down the North Sea created a lot of water pushing up against sea defences along the North Sea coast, particularly the southern end. In addition the waves thrown up by the stormy winds made topping the sea walls inevitable. Flooding followed.

Earlier this year I surveyed a new, small road close to the Humber Bridge, Wintersgill Place. Sadly the road was flooded. The houses now look finished, but there are three for-sale signs and one sold sign for the six houses. I wonder just how planning permission was granted for these houses when the area is clearly a flood risk. Now the small field next to these new houses is also set to be developed.

I tried to look at the local council's forward planning map to see if they agree that the area is a flood risk. The map was curiously off-line over the period of the storm and just after. Now it has lost the most detailed zoom level and the newly built houses are not on the map at all. I hope the planners have better information available, but since they have allowed houses to be built that have flooded before they were even sold, maybe they don't.


Saturday, December 7


Jon: Co-writing web application

Posted on the 7th of December at about 12AM.

Grassroots pressure groups, such as Amnesty International, ask their members to write letters in order to lobby individuals in positions of authority. Other groups request that messages of petition are sent to corporations or journalists. In each case, new members wanting to join in a letter-writing effort may find the process difficult, especially if their […]


Friday, December 6

James Bridle: DIY Drone Shadows

Posted on the 6th of December at about 3PM.

A Drone Shadow for Dirty Wars, a projection, and a how-to guide.


Tuesday, December 3

James Bridle: Anatomy of a failed rendition

Posted on the 3rd of December at about 12PM.

Private jets, aircraft tracking, and the deportation of Isa Musawa.


Wednesday, November 27

Open Maps:

Chris Hill: Using Leaflet with a database

Posted on the 27th of November at about 2PM.

The previous two posts created a map with markers. The marker information was stored in a fixed geojson file. For the few markers that don't change much this is fine, but it would be much more flexible if the markers were in a database. If there are a large number of markers, say thousands, browsers might slow down showing them, even though many might not actually be visible. One way to help with this is to work out which markers would be visible in the current view and only show them. To do this we need to use some features of Leaflet and introduce Ajax. We will also need to store the marker information in a database, write some code to extract it and format it into the geojson format that we know works so well.

Ajax is a means of exchanging data between the client browser and the server without forcing a page reload. I tend to use jQuery to simplify the process of using Ajax and jQuery ensures that the process works on a wide range of browsers. We will request some data from the server with Ajax which can return data in a json format, which works with geojson too.

In the examples so far the files from the server have been simple files, not needing scripting or a database. In my examples I'm using PHP for script and MySQL for the database as this is a very common combination available from many hosts. In the GitHub repository there is a SQL file, plaques.sql, you can use to create a table called plaques in a MySQL database and import the same data that we have seen already.

To extract the data from the database we'll use a PHP script. It needs to receive a request for the bounding box and it will extract that, format the geojson result and return it to the client. The client then can display the markers. If the user scrolls the map or changes the zoom then a new Ajax request will get the markers that are in the new view and display them. This isn't really needed for the seventy or so markers in this example but it is very useful for a large number of markers.

Let's start with the PHP script to extract the data:

// uncomment below to turn error reporting on
ini_set('display_errors', 1);

 * ajxplaque.php
 * returns plaque points as geojson

// get the server credentials from a shared import file
$idb= $_SERVER['DOCUMENT_ROOT']."/include/db.php";
include $idb;

if (isset($_GET['bbox'])) {
} else {
    // invalid request
    $ajxres['msg']='missing bounding box';
// split the bbox into it's parts

// open the database
try {
    $db = new PDO('mysql:host=localhost;dbname='.$dbname.';charset=utf8', $dbuser, $dbpass);
} catch(PDOException $e) {
    // send the PDOException message

//$stmt = $db->prepare("SELECT * FROM hbtarget WHERE lon>=:left AND lon<=:right AND lat>=:bottom AND lat<=:top ORDER BY targetind");
//$stmt->bindParam(':left', $left, PDO::PARAM_STR);
//$stmt->bindParam(':right', $right, PDO::PARAM_STR);
//$stmt->bindParam(':bottom', $bottom, PDO::PARAM_STR);
//$stmt->bindParam(':top', $top, PDO::PARAM_STR);

try {
    $sql="SELECT plaqueid,lat,lon,plaquedesc,colour,imageid FROM plaques WHERE lon>=:left AND lon<=:right AND lat>=:bottom AND lat<=:top";
    $stmt = $db->prepare($sql);
    $stmt->bindParam(':left', $left, PDO::PARAM_STR);
    $stmt->bindParam(':right', $right, PDO::PARAM_STR);
    $stmt->bindParam(':bottom', $bottom, PDO::PARAM_STR);
    $stmt->bindParam(':top', $top, PDO::PARAM_STR);
} catch(PDOException $e) {
    print "db error ".$e->getCode()." ".$e->getMessage();
$ajxres=array(); // place to store the geojson result
$features=array(); // array to build up the feature collection

// go through the list adding each one to the array to be returned   
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

// add the features array to the end of the ajxres array
// tidy up the DB
$db = null;
sendajax($ajxres); // no return from there

function sendajax($ajx) {
    // encode the ajx array as json and return it.
    $encoded = json_encode($ajx);

This is called ajxplaques.php in the folder ajax on the server, available in the GitHub repository.  The script needs a query string with bbox= in it. This defines the west,south,east and north longitude and latitude that bounds the current view of the map. It then queries the database for these items and returns the geojson of these limited markers. If the bounding box (BBOX) is big enough then all the markers will be returned and if the BBOX contains no markers then none are returned and that is fine too. I'm using MySQL and ignoring GIS functions as selecting points is quick and easy. If I was extracting polygons and using a powerful GIS database such as PostrgreSQL with the PostGIS extension then I would consider using a GIS function to find the polygons that intersect the BBOX.

To call the script from the JavaScript (example3.js) I use the ajax functions that are part of jQuery:

function askForPlaques() {
    var data='bbox=' + map.getBounds().toBBoxString();
        url: 'ajax/ajxplaques.php',
        dataType: 'json',
        data: data,
        success: showPlaques

This creates the query string by using map.bounds() and formats into the format we need with toBBoxString(). The $.ajax() function uses the query string, requests json (of which geojson is just a special case) and will call the function showPlaques() when the data is returned.

function showPlaques(ajxresponse) {

The showPlaques() function is called when the data is returned from the script. The geojson data is in the ajxresponse. We delete all of the existing markers with clearLayers() and add the new data to the geojson layer. To trigger this process we need to call askForPlaques() every time the view of the map changes. We can ask the map object to trigger an event whenever this occurs. So after the map is displayed we add

map.on('moveend', whenMapMoves);

This calls the function whenMapMoves() when the event is triggered. That function simply calls  askForPlaques() to get the correct data for the view.

Two more things have changed. Firstly, when the geojson layer is created no data is added - it is called with null - so the plaques.js is not used at all. When the map is first displayed we need to call askForPlaques() once to get the first set of markers before the map is moved.

Now we have a much more dynamic map, using data from a database and potentially using a part of thousands of markers without overloading the browser.


Thursday, November 21

Open Maps:

Chris Hill: Using Leaflet part 2

Posted on the 21st of November at about 10PM.

In the last post I described how to create a map with markers on it. I'm going to build on this to make some improvements. Firstly, the default markers are useful but it would be good to have some alternatives. I copied the example1.htm, .js and .css files to example2.x and made some changes there. I created three images which are blue, green and white disks and saved them in the images folder. To use these images we need to create a Leaflet Icon for each marker type. The variables used to store the Icon objects are declared in the global area and then the Icon is created before anything else is created so it is available whenever we need it.

        iconUrl: 'images/blueplaque.png',
        iconSize:[24, 24], // size of the icon
        iconAnchor:[12, 23] // point of the icon which will correspond to marker's location
        iconUrl: 'images/greenplaque.png',
        iconSize:[24, 24], // size of the icon
        iconAnchor:[12, 23] // point of the icon which will correspond to marker's location
        iconUrl: 'images/whiteplaque.png',
        iconSize: [24, 24], // size of the icon
        iconAnchor:[12, 23] // point of the icon which will correspond to marker's location

The icons use the images from the images folder. The icon anchor is important to make a marker work well especially when zooming. If your marker seems to slide around as you zoom in or out you probably don't have the anchor set correctly. It defaults to [0,0] which is top left and rarely what you want.

In the last example we used events to add popups to each markers, here we want to substitute the markers, so we need to change the behaviour, but not much. When we create the geojson layer we need to remove the onEachFeature and replace it with pointToLayer:

  lyrPlq = L.geoJson(plaques, {
        pointToLayer: setIcon

The pointToLayer event allows you to provide the marker you want to display for each feature. The function you define, setIcon in this case, gets passed the feature and the position that the marker need to be as a leaflet LngLat object. In the function you create a marker or some other Leaflet object and return that. Leaflet adds what you return to the layer.

function setIcon(feature,ll) {
    var plq;
    if ('green') {
        plq=L.marker(ll, {icon: greenicon});
    else if ('white') {
        plq=L.marker(ll, {icon: whiteicon});
    else {
        plq=L.marker(ll, {icon: blueicon});
    return p;

In this case we use one of the properties, colour, to choose the marker to display. We now need to add the popup to our newly created marker and return the marker for Leaflet to use.

You can see an example here. The source code is on GitHub.

More examples to come ...

Open Maps:

Chris Hill: Using Leaflet v0.7

Posted on the 21st of November at about 3PM.

The Leaflet JavaScript library has changed the way OpenStreetMap is being used, making it easy to use and offering all kinds of additional features and functions as plug-ins. I blogged about Leaflet soon after it was first released and that post has been read by a lot of people and has generated more comments than any other. Leaflet version 0.7 has just been released and when I was asked about using it I realised that my original post was badly out of date. I decided to use some local data to describe using Leaflet, including some plug-ins. I decided to use jQuery for a few features. It is widely used and is cross-platform, just like Leaflet. The jQuery files are in a folder called jquery, and the Leaflet files are all in a folder called leaflet.

All the example files are in a GitHub repository:

Leaflet displays a slippy map in an HTML div. It uses JavaScript to control the way the map behaves. The style, as you would expect, is controlled by CSS. Our first example displays a base map with an overlay of markers on it to show where blue plaques are around the UK city of Hull.  Take a look here. The HTML is really straightforward, take a look in the GitHub repository above.

In the head section there is a style sheet for leaflet (leaflet.css) and a script (leaflet.js). These are used in every example. I have also included leaflet-hash.js which is an example of a Leaflet plug-in. I like to store CSS and JavaScript in separate files, not in the HTML file, so I have also included example1.css and example1.js. The JavaScript names plaques.js holds the locations of the plaques to display, formatted as a geojson file. The CSS simply makes the div, with the id “mapdiv”, fill the page. The real work is in the javascript:

* global variables 
var map; // global map object 
var lyrOsm; // the Mapnik base layer of the map 
var lyrPlq; // the geoJson layer to display plaques with 

// when the whole document has loaded call the init function 

function init() { 
  // map stuff 
  // base layer 
  var osmUrl='http://{s}{z}/{x}/{y}.png';
  var osmAttrib='Map data © OpenStreetMap contributors';
  lyrOsm = new L.TileLayer(osmUrl, { minZoom: 9, maxZoom: 19, attribution: osmAttrib });

  // a geojson 
  layer lyrPlq = L.geoJson(plaques,{ 
    onEachFeature: makePopup

  // set the starting location for the centre of the map 
  var start = new L.LatLng(53.7610,-0.3529); 
  // create the map 
  map = new L.Map('mapdiv', { // use the div called mapdiv 
    center: start, // centre the map as above 
    zoom: 12, // start up zoom level 
    layers: [lyrOsm,lyrPlq] // layers to add

  // create a layer control 
  // add the base layers 
  var baseLayers = { "OpenStreetMap": lyrOsm }; 

  // add the overlays 
  var overlays = { "Plaques": lyrPlq }; 

  // add the layers to a layer control 
  L.control.layers(baseLayers, overlays).addTo(map); 

  // create the hash url on the browser address line 
  var hash = new L.Hash(map);

function makePopup(feature, layer) { 
  // create a popup for each point 
  if ( && {

The file starts with global variables. The map variable is the core of Leaflet, any name would do, but it is called map by convention. The map has two layers, one to display the base map and one to show the markers. These are defined by two variables lyrOsm and lyrPlq.

The first use for jQuery is:


This means that when the document is completely loaded and ready call the function init. Doing this is very useful as on a slow link, such as some mobile connections. It makes sure that all of the elements of the page are available before trying to use them.

The init function needs to create the layers, create the map itself and add the layers to the map. We need two different layers one is the base layer which is a set of square tiles  that Leaflet requests from the provider and arranges in the right place. We need to tell the layer where to get the tiles from, in this case the main OSM tile server.

    var osmUrl='http://{s}{z}/{x}/{y}.png'; 
We also need to add attribution – all OSM-based maps need attribution as part of the licence to use the data.

    var osmAttrib='Map data © OpenStreetMap contributors';

The tile provider may also require or request attribution. In one of the later examples will will use a different tile provider with a different attribution. We can now make a layer:

lyrOsm = new L.TileLayer(osmUrl, {
    minZoom: 9,
    maxZoom: 19,
    attribution: osmAttrib

This creates the layer of tiles, from the tile provider, which will zoom out only to zoom level 9 and in to level 19 and add the attribution to the bottom right of the map, by default.

We also need a layer to display the plaque markers. In the HTML a file called plaques.js was loaded. That contains a geojson format file which we will use in a geojson layer. Geojson is a very useful format that I use frequently and is supported well by Leaflet. Geojson allows a variety of objects to be passed to Leaflet for displaying, including points, lines, multiple lines, polygons and multipolygons and these can be mixed together as needed. With a simple set of points the loaded file can be simply used as a layer. The file plaques.js creates a variable called plaques that can be used directly:

    lyrPlq = L.geoJson(plaques, {
        onEachFeature: makePopup

The onEachFeature is an example of responding to an event. In this case as each feature of the geojson file is added the function makePopup is called. This allows us to use one of the properties in each feature in the geojson file to be used to make a popup if the marker is clicked.

We now create a LatLng object to use to centre the map and then the map object is created:

map = new L.Map('mapdiv', {        // use the div called mapdiv
    center: start,                   // centre the map as above
    zoom: 12,            // start up zoom level
    layers: [lyrOsm,lyrPlq]        // layers to add

This creates the map, centres it, zooms to level 12 and adds the two layers we created above.

That would be enough to create a slippy map, but I added a couple of extra features which are often useful. The first is a layers control which allows the layers on the map to be selected and hidden. There are two types of layer a base layer and an overlay and we have one of each. The two layers are created, with names that will appear in the layer control, and the control is then created with the layers added and then added to the map.

The last feature is a leaflet plug-in. I added the leaflet-hash.js file to the leaflet folder and loaded it in the HTML. The hash plug-in changes the URL displayed in the browser address line as the map is scrolled and zoomed so the address can always be used as a bookmark. It replaces the permalink used on earlier versions. A simple line adds the plug-in to your map.

Following posts will show how to change the icons that appear, customise the popup, use database data to display the markers, deal with a large number of markers including clustering them and how to respond to click or tap in other ways than just displaying a popup.


Friday, November 15

James Bridle: Recent Work, November 2013: Render Ghosts, GPS, Landsat.


Thursday, October 31

James Bridle: #OccupyTheCloud

Posted on the 31st of October at about 4PM.

An installation, and a call to action.


Monday, October 21

Coding Horror:

Jeff Atwood: Why Does Windows Have Terrible Battery Life?

Posted on the 21st of October at about 4AM.

I've become a huge fan of touch computing. I believe that most things we think of as "computers" will be de-facto tablets, either in our pocket, in our hands, possibly even mounted on our wrists or forearms.

I can't wait for the iPad 5 this week (I'll be ordering three), and my Surface Pro 2 should arrive this week too. Because it is a blazingly fast, modern Intel machine, I like to use the Surface Pro to predict where tablet performance ought to be for everyone in 2 to 3 years. I think of it as an iPad 7.

My main complaint with the Surface Pro is the incredibly lackluster battery life. Granted, this is a classic Intel x86 box we're talking about, not some efficient ARM system-on-a-chip designed to run on a tiny battery. Still, I was hopeful that the first Surface Pro with Haswell inside would produce giant gains in battery life as Intel promised. Then I saw this graph:

Web browsing battery life, Surface Pro vs Surface Pro 2

So WiFi web browsing battery life, arguably the most common user activity there is on a computer these days, goes from 4.7 hours on the Surface Pro to 6.7 hours on the Surface Pro 2, a 42% increase. That's a decent increase, I suppose, but I was hoping for something more like 8 hours, something closer to doubling of battery life – to bring the Surface Pro in line with other tablets.

Nearly 7 whole hours of WiFi web browsing for a real computer in tablet form factor … that's not bad, right? Let's see how the 2013 MacBook Air does, which spec-wise is about as close as we can get to the Surface Pro 2. The screen is somewhat lower resolution and not touch capable, of course, but under the hood, the i5-4200u CPU and LPDDR3 RAM are nearly the same. It's a real computer, too, using the latest Intel technology.


The Surface Pro 2 has a 42 Wh battery, which puts it closer to the 11 inch Air in capacity. Still, over 11 hours of battery life browsing the web on WiFi? That means the Air is somehow producing nearly two times the battery efficiency of the best hardware and software combination Microsoft can muster, for what I consider to be the most common usage pattern on a computer today. That's shocking. Scandalous, even.

UPDATE: Turns out the Surface 2 Pro was shipped with bad firmware. Once updated, the WiFi adapter enters lower idle power states and this helps a lot, going from 6.6 hours of browsing time to 8.3 hours, a 25% improvement! That puts it much more in line with the rest of the field, at least, even if it doesn't achieve Mac like runtime.

It's not exactly news that Windows historically doesn't do as well as OS X on battery life. Way back in 2009, AnandTech tested a MacBook Pro with multiple operating systems:

2009 15-inch MacBook Pro (73WHr battery) OS X 10.5.7 Windows Vista x64 SP1 Windows 7 RC1
Wireless Web Browsing (No Flash) Battery Life 8.13 hours 6.02 hours 5.48 hours

That's fine, I knew about this discrepancy, but here's what really bothers me:

  1. The Windows light usage battery life situation has not improved at all since 2009. If anything the disparity between OS X and Windows light usage battery life has gotten worse.

  2. Microsoft positions Windows 8 as an operating system that's great for tablets, which are designed for casual web browsing and light app use – but how can that possibly be true when Windows idle power management is so much worse than the competition's desktop operating system in OS X – much less their tablet and phone operating system, iOS?

(It's true that Bay Trail, Intel's new lower power CPU from the Atom family, achieves 8.6 hours of WiFi web browsing. That's solidly in the middle of the tablet pack for battery life. But all the evidence tells me that the very same hardware would do a lot better in OS X, or even iOS. At least Intel has finally produced something that's reasonably competitive with the latest ARM chips.)

Perhaps most damning of all, if you take the latest and greatest 13" MacBook Air, and install Windows 8 on it, guess what happens to battery life?

One of the best things about the standard 2013 MacBook Air 13" is that it has record-breaking battery life of 14 hrs 25 min (with the screen brightness at 100 cd/m², headphones plugged in and the Wi-Fi, Bluetooth and keyboard backlighting turned off). Under Windows 8 the results are more mixed [..] in the same conditions it lasts only 7 hrs 40 min. That's still very high—it's better than the Asus Zenbook Prime UX31A's 6 hours and the Samsung Series 7 Ultra's 5 hours—but it's only half the astronomical 14 hours + that the 13" MacBook Air is capable of.

Instead of the 26% less battery life in Windows that Anand measured in 2009, we're now seeing 50% less battery life. This is an enormous gap between Windows and OS X in what is arguably the most common form of computer usage today, basic WiFi web browsing. That's shameful. Embarrassing, even.

I had a brief Twitter conversation with Anand Shimpi of Anandtech about this, and he was as perplexed as I was. Nobody could explain the technical basis for this vast difference in idle power management on the same hardware. None of the PC vendors he spoke to could justify it, or produce a Windows box that managed similar battery life to OS X. And that battery life gap is worse today – even when using Microsoft's own hardware, designed in Microsoft's labs, running Microsoft's latest operating system released this week. Microsoft can no longer hand wave this vast difference away based on vague references to "poorly optimized third party drivers".

Apple is clearly doing a great job here. Kudos. If you want a device that delivers maximum battery life for light web browsing, there's no question that you should get something with an Apple logo on it. I just wish somebody could explain to me and Anand why Windows is so awful at managing idle power. We're at a loss to understand why Windows' terrible – and worsening! – idle battery life performance isn't the source of far more industry outrage.

[advertisement] How are you showing off your awesome? Create a Stack Overflow Careers profile and show off all of your hard work from Stack Overflow, Github, and virtually every other coding site. Who knows, you might even get recruited for a great new position!


Friday, October 18

Open Maps:

Chris Hill: Land Registry INSPIRE polygons

Posted on the 18th of October at about 10PM.

The UK Land Registry has released some open data as part of the INSPIRE directive. I say open data, but not very open, indeed hardly even ajar.

The Land Registry has released various data sets as recorded in this blog post, but there is a serious issue with some of their data, the polygons that show the cadastre, or property bounds, data. As you might expect, the Land Registry use the UK's national mapping agency, Ordnance Survey, to base any mapping on. So when they reproduce any GIS-based data, it is based on OS maps and, as usual, OS claims that their viral licensing clause applies. So even though the Land Registry maintain the cadastre data and want to publish it under the liberal Open Government licence,  OS prevent that by adding a personal-only, no publishing clause. This is a further example of how OS viral licensing is harming innovation and thus damaging business and potential open data users.

I have been using the Land Registry polygons to research the accuracy of creating Openstreetmap cadastre data simply by using surveys, permitted aerial imagery and local knowledge. I have decided to publish an example of what I have found under fair dealing of OS copyright and database rights. If OS are not happy about this I'm sure they will contact me and we could discuss it.

Some time ago I added all of the buildings in the postcode area HU14, Melton, North Ferriby and Swanland and added their address. In North Ferriby I also added all of the hedges, fences etc around properties. It took a lot of doing, using aerial imagery and some local knowledge. Having done it I decided that I wouldn't do any more places like that - I would only add buildings and address at most.

Now I have the means to check how good a job I managed to do, by comparing my boundary lines with the cadastre polygons from the Land Registry. I extracted a small area from their data, reprojected it to Mercator and used TileMill to render a simple view of part of North Ferriby with the cadastre polygons laid over it. Here are the three images:
OpenStreetMap data showing gardens and buildings

Land Registry cadastre polygons

OpenStreetmap data overlaid with Land Registry cadastre polygons

I am very pleased with the way the two datasets coincide. The biggest area of error in creating the Openstreetmap boundaries is the alignment of the aerial imagery - that seems to be very good in this instance. I did use multiple GPS traces to create an average trace and aligned the imagery to that. That seems to work well.

The Openstreetmap images © Chris Hill, CC-BY SA 2.0 which is based on Openstreetmap data © Openstreetmap contributors ODbL 1.0

The Land Registry data require the following statements:
This information is subject to Crown copyright and is reproduced with the permission of Land Registry

© Crown copyright and database rights [2013] Ordnance Survey 100026316

Coding Horror:

Jeff Atwood: You Don't Need Millions of Dollars

Posted on the 18th of October at about 1AM.

Masters of Doom is the story of John Carmack and John Romero creating the seminal games Wolfenstein 3D, Doom, and Quake.


It's an amazing work on so many levels – but primarily because of the exhaustive research the author undertook to tell this story.

To re-create the story of the Two Johns, I conducted hundreds of interviews over six years, often with each person on multiple occasions. After moving to Dallas in the fall of 2000 for research, I became known in offices, barbecue joints, and bars around town as “the guy writing the Book.” John Romero and John Carmack each spent dozens of hours in person answering my most picayune questions: how they were feeling, what they were thinking, what they were saying, hearing, seeing, playing. What they and others couldn’t recall, I unearthed from websites, newsgroups, e-mails, chat transcripts, and magazines (though I drew from some of these articles, I made a point of getting the gamers’ own versions of what happened as well). I also played a delirious amount of games: at home, online, and at a couple tournaments (yeah, I lost).

I spent six months transcribing all my taped interviews. From this material, I assembled a narrative of dialogue and description that re-creates the events as faithfully and accurately as possible. As often as appropriate, I told the story from each person’s point of view to give readers the different perspectives.

It's unusual to find a book about a contentious, complex friendship and business relationship that both parties sign off on – and even a decade later, regularly recommend to people interested in their personal back stories. But it is a testament to just how right Kushner got this story that both Romero and Carmack do. This is exactly the sort of meticulously researched, multiple viewpoint biography that you'd want to read about important people in your industry. In that sense, it's kind of the opposite of the Jobs biography, which I liked well enough, but it presented one viewpoint, and often in a very incomplete, sloppily researched way. I would kill to read a book this good about Jobs.

In a way, I grew up with these guys. I am almost exactly the same age they are. I missed the Wolfenstein 3D release because I was still in college, but come December 1993, there I was, bursting with anticipation waiting for the release of Doom along with every other early PC gamer. And who gave Doom its name? Oddly enough, Tom Cruise did.

I've had a lifelong love affair with first person shooters since encountering Wolf3D and Doom. I played about every Doom engine game there was to death. I even had a brief encounter with Romero himself on the modem based multiplayer hub DWANGO where I proverbially "sucked it down". And after the Internet hit around '95, I continued to follow Quake development obsessively online, poring over every .plan file update, and living the drama of the inevitable breakup, the emergence of GLQuake and 3D accelerators, and the road to Quake 3.

It is also an incredibly inspiring story. Here's a stereotypical group of geeky programmers from sketchy home backgrounds who went on to … basically create an entire industry from scratch on their own terms.

Shareware. Romero was familiar with the concept. It dated back to a guy named Andrew Fluegelman, founding editor of PC World magazine. In 1980, Fluegelman wrote a program called PC-Talk and released it online with a note saying that anyone who liked the wares should feel free to send him some “appreciation” money. Soon enough he had to hire a staff to count all the checks. Fluegelman called the practice “shareware,” “an experiment in economics.” Over the eighties other hackers picked up the ball, making their programs for Apples, PCs, and other computers available in the same honor code: Try it, if you like it, pay me. The payment would entitle the customer to receive technical support and updates.

The Association of Shareware Professionals put the business, largely domestic, between $10 and $20 million annually—even with only an estimated 10 percent of customers paying to register a shareware title. Forbes magazine marveled at the trend, writing in 1988 that “if this doesn’t sound like a very sound way to build a business, think again.” Shareware, it argued, relied not on expensive advertising but on word of mouth or, as one practitioner put it, “word of disk.” Robert Wallace, a top programmer at Microsoft, turned a shareware program of his called PC-Write into a multimillion-dollar empire. Most authors, however, were happy to break six figures and often made little more than $25,000 per year. Selling a thousand copies of a title in one year was a great success. Shareware was still a radical conceit, one that, furthermore, had been used only for utility programs, like check-balancing programs and word-processing wares. [Shareware] had never been exploited for games.

Does anyone even remember what shareware is? What is the equivalent to shareware today? Distributing software yourself on the Internet? Sort of. I'd say it's more analogous to the various app stores: Google Play, Apple App Store, Windows Store. Going directly to the users. But they found shareware games didn't work, at least initially:

When it came time to distribute the games, Scott took a long, hard look at the shareware market. He liked what he saw: the fact that he could run everything himself without having to deal with retailers or publishers. So he followed suit, putting out two text-based games in their entirety and waiting for the cash to roll in. But the cash didn’t roll; it didn’t even trickle. Gamers, he realized, might be a different breed from those consumers who actually paid for utility shareware. They were more apt simply to take what they could get for free. Scott did some research and realized he wasn’t alone; other programmers who had released games in their entirety as shareware were broke too. People may be honest, he thought, but they’re also generally lazy. They need an incentive.

Then he got an idea. Instead of giving away the entire game, why not give out only the first portion, then make the player buy the rest of the game directly from him? No one had tried it before, but there was no reason it couldn’t work. The games Scott was making were perfectly suited to such a plan because they were broken up into short episodes or “levels” of play. He could simply put out, say, fifteen levels of a game, then tell players that if they sent him a check he would send them the remaining thirty.

You know how game companies spent the last 5 years figuring out that free games with 100% in-app purchases are the optimum (and maybe, only) business model for games today? The guys at id had figured that all out twenty seven years ago. Those sounds you hear in the distance are a little bit of history repeating.

Id Software was more than a unique business model that gave almost all the power to the programmers. It was the explosive combination of shareware delivery with a particular genius programmer inventing new techniques for PC games that nobody had seen before: John Carmack. It may sound prosaic and banal now, but smooth scrolling platforming, texture mapped walls, lighting models, and high speed software 3D rendering on a PC were all virtually unheard of at the time Carmack created the engines that made them commonplace.


Carmack, like Abrash, is a legend in programming circles, and for good reason. The stories in this book about him are, frankly, a little scary. His devotion to the machine borders on fanatical; he regularly worked 80 hour weeks and he'd take "vacations" where it was just him and a computer alone in a hotel room for a whole week – just for fun, to relax. His output is herculean. But he also realizes that all his hard work is made possible by a long line of other programmers who came before him.

Al had never seen a side scrolling like this for the PC. “Wow,” he told Carmack, “you should patent this technology.

Carmack turned red. “If you ever ask me to patent anything,” he snapped, “I’ll quit.” Al assumed Carmack was trying to protect his own financial interests, but in reality he had struck what was growing into an increasingly raw nerve for the young, idealistic programmer. It was one of the few things that could truly make him angry. It was ingrained in his bones since his first reading of the Hacker Ethic. All of science and technology and culture and learning and academics is built upon using the work that others have done before, Carmack thought. But to take a patenting approach and say it’s like, well, this idea is my idea, you cannot extend this idea in any way, because I own this idea—it just seems so fundamentally wrong. Patents were jeopardizing the very thing that was central to his life: writing code to solve problems. If the world became a place in which he couldn’t solve a problem without infringing on someone’s patents, he would be very unhappy living there.

In that spirit, Carmack regularly releases his old engines under GPL for other programmers to learn from. Don't miss Fabien Sanglard's epic deconstruction of the Doom 3 codebase, for example. That's only one iteration behind the current id engine which was used for Rage and (apparently) will be used for the upcoming Doom 4.

One of my very favorite quotes of all time comes at the end of the book.

Carmack disdained talk of highfalutin things like legacies but when pressed would allow at least one thought on his own. “In the information age, the barriers just aren’t there,” he said. “The barriers are self-imposed. If you want to set off and go develop some grand new thing, you don’t need millions of dollars of capitalization. You need enough pizza and Diet Coke to stick in your refrigerator, a cheap PC to work on, and the dedication to go through with it. We slept on floors. We waded across rivers.”

And indeed they did, as the book will attest. Both @ID_AA_Carmack and @romero are still lifelong, influential, inspiring members of the game and programming communities. They are here for the long haul because they love this stuff and always have.

The ultimate point of Masters of Doom is that today you no longer need to be as brilliant as John Carmack to achieve success, and John Carmack himself will be the first to tell you that. Where John was sitting in a cubicle by himself in Mesquite, Texas for 80 hours a week painstakingly inventing all this stuff from first principles, on hardware that was barely capable, you have a supercomputer in your pocket, another supercomputer on your desk, and two dozen open source frameworks and libraries that can do 90% of the work for you. You have GitHub, Wikipedia, Stack Overflow, and the whole of the Internet.

All you have to do is get off your butt and use them.

[advertisement] Hiring developers? Post your open positions with Stack Overflow Careers and reach over 20MM awesome devs already on Stack Overflow. Create your satisfaction-guaranteed job listing today!


Monday, October 14

James Bridle: How to see through the Cloud

Posted on the 14th of October at about 6PM.

Superstudio's 'Continuous Monument' and Mozilla Webmaker

Coding Horror:

Jeff Atwood: Updating Your Utility Belt

Posted on the 14th of October at about 5PM.

I just updated my utility belt.

Batman Utility Belt

Well, metaphorically speaking – every self-respecting geek has one.

Lately I've been trying to minimize what I carry around even further. After having children I've come to appreciate the value of less stuff in my life. So here's my everyday carry in 2013:


Compared to my 2011 everyday carry, I have managed to reduce in size almost everything on it:

I have no idea why I was using a size #1 S-Biner for so long when the smaller size #0 model does the job just fine. And I gave up the USB flash drive altogether in favor of storing files on whatever smartphone I'm always carrying around with me anyway. (But if you need one, look at the USB 3.0 models, which are almost like little SSD drives in your pocket.)

I also flirted with the idea of dropping the standalone flashlight and relying on my smartphone camera flash as a flashlight, but in my testing smartphones make weak flashlights. It might replace one of those button battery style LEDs in an emergency, but it's not even close to what a decent AAA LED flashlight can do for actual nighttime navigation. It is interesting that LEDs haven't advanced much in the last few years on AAA flashlights. There are somewhat newer Cree XP-G2 models which I also experimented with, but I ended up preferring the minimalist, compact form factor of the iTP EOS. Don't forget the lithium AAA batteries to keep the weight down and runtime up, though!

The Leatherman Style is a fantastic new addition, because it keeps the core functions I used the most on the Leatherman Squirt and removes the extra stuff I didn't. Here's an expanded view of the other side.


So: scissors, knife, screwdriver. Hard to see, but detachable tweezers are also wedged in on the corner. That works for me. These are the functions I used the most on my Leatherman Squirt, by far. The Style is leaner, smaller, lighter … meaner.

(And there's also a nail file, on the other side of the screwdriver, but what is this obsession with nail files on multi-tools? Who are these people filing their nails all the damn time? I've never filed my nails once in my entire life! Can anyone mansplain this to me?)

I also purchased an updated Leatherman Squirt PS4, the one with the integrated scissors as well as the pliers. I'm showing it here fully expanded, next to my old red Squirt that didn't have the scissors.

Leatherman Squirt p4 old vs new

The pliers are great, and probably the only reason to carry this slightly larger multitool if you need it. But I hardly ever did. The physical dimensions aren't terribly different, but the Squirt PS4 is 56.4 grams, versus the Style at 23.1 grams. Quite a weight savings.

(I would be remiss if I didn't point out that the Squirt and Style are only two of the literally dozens of great Leatherman utility tool choices, from pocket to multi-tool. I like the smallest ones in the model range for my minimalist EDC needs, but you might want more. Of particular note is the Style CS which adds an integrated clip and bottle opener, but bulks up to 41.1g)

So that's my updated utility belt in 2013. Less is more, folks.

But there is one more thing…

If you were worried that Haitz's Law wasn't working for us on these LED flashlights, have no fear. Because for $75, you can now own a compact, roughly AA-sized LED flashlight that produces an astonishing 850 lumens. (For context, the AAA flashlight pictured above produces around 90 lumens on its highest setting.)


I got this Fenix PD35 flashlight to play with, along with some rechargeable 18650 Li-ion batteries (think fatter AA, two CR123A batteries stacked on top of each other), and it is nuts. It's actually painful to look at when lit, and it gets pretty warm in your hands on the high and turbo settings. If you've ever dreamed of carrying a lightsaber, and I know you have, wielding this baby will make you realize that dream is closer today than ever before.

It's also a pretty nice flashlight. Just try to resist making lightsaber noises while using it.

[advertisement] How are you showing off your awesome? Create a Stack Overflow Careers profile and show off all of your hard work from Stack Overflow, Github, and virtually every other coding site. Who knows, you might even get recruited for a great new position!


Thursday, October 3

Open Maps:

Chris Hill: Tram depot and Boothferry Park

Posted on the 3rd of October at about 3PM.

Recently, sladen added some tram lines close to Wheeler Street off Anlaby Road in Hull. I was surprised to see railway=tram appearing in Hull as I hadn't heard the city was joining the enlightened ones adding smart new public transport options for the commuters. It turns out that that was the site of the old tram network depot. Trams were progressively phased out by mid 1940's in favour of trolleybuses, using the same overhead infrastructure but without the rails. They ran until 1964. After a short conversation on IRC with sladen I set out to see if I could find any signs of track at the site and any other clues about the depot.

I arrived at the Wheeler Street depot tram entrance on Anlaby Road. The tracks were clearly visible in the old cobblestone roadway. It is now a private yard of some kind. I walked a little way down the roadway before being stopped by a large chap who wanted to know what I wanted. I explained about it having been a tram depot and asked if I could see the rest of the tram lines, he said no, and told me to f*** off where I'd come from. I left.

I suppose the camera round my neck and the GPS in my hand might have been intimidating, but I was polite. It is quite unusual in my experience to get a response like that when out mapping - it just made me wonder just what was going on on the site.

I tried to see into the yard from Wheeler Street but the site has buildings and high walls around it, so I couldn't see any more details.
Overall I could only confirm what sladen had seen elsewhere already, there are a few tram lines left, but not the extent of them. Judging by recent aerial images the building had gone. Older aerial images showed the shell of a building with no roof on it. I'm not able to add to that at all.

I checked the restored oneway section of Wheeler street near Wheeler primary school, confirmed that the opposite cycleway has been restored after being removed during some building work. I then moved along Anlaby road to where Boothferry Park, the football ground of Hull City, used to be. It is in the process of being turning into a housing estate. The first houses are occupied now but there is still a lot more to build. The main drag is called Legends Way with the first side road to the east called Boothferry Park Halt. Boothferry Park was unusual because it had its own railway station, only used for match days and only used until the mid 1980's. I'll need to check the site some more in a few months to catch up with the new developments.


Thursday, September 12

Open Maps:

Chris Hill: Open data? Hmmmm

Posted on the 12th of September at about 6PM.

I have been impressed with SK53's use of open data in Nottingham, so I thought I'd see what was available for my home county of the East Riding of Yorkshire and for nearby Hull. The answer has been disappointing and frustrating.

I decided to look at the web site of the two councils in the hope that either of them had started to publish any open data. Not a trace of anything vaguely resembling publishing anything as open data on either site. For example, ERoY site has a map showing current road works. It needs MS Silverlight to see it, and when you do look, the data is copyright. Hull City website has a link to food hygiene data on the landing page, but that only sends you to the Food Standards Agency site, not a local data set and, as before, everything on their website seems to be copyright.

So, using SK53's example, I asked for food hygiene data from the two councils, in the hope that I would find a list of addresses just like he did. I sent an email request on Saturday 17th August to each council. The request said that I wanted to analyse food hygiene data and I would like to know if they publish such data as open data, preferably under the Open Government Licence. As I usually do in such matters I asked them to treat this as request under the Freedom of Information act.

Given that the request was sent on a Saturday, it is reasonable to expect that no one read it until the following Monday, 19th August, so I would expect the twenty working days clock that applies to FoI requests to start then. Allowing of the public holiday in August I would expect an answer by 17th September and both councils beat that deadline comfortably.

Hull City council responded quickly. On 21st August I got a reply from Garry of the Food and Health & Safety (sic) team to say they had been busy and would I please send my request to the Information Governance Team. He did also direct me to the FSA website too. This is directly contrary to the FoI act. It is also contrary to the Hull City Council policy on the FoI act. I replied pointing this out. The Information Governance Team responded by saying that the officer was wrong to direct me to them, apologised and said that the email should just have been forwarded to them internally. They confirmed that the deadline for their response would be 16th September. On the 29th August, well within the deadline, the Information Governance Team answered with the same idea as Garry: look at the FSA site.

ERoY council first replied on the 22nd of August. The email had an attached MS Word document. The first page had headings but was otherwise blank, the second page acknowledged my request, repeating my email, and the third page confirmed that they would reply by the 17th September, as I expected. On the 9th September I got a response. That too was an MS Word document attached to an email. That too recommended that I look at the FSA website to find such data. They gave a link to a council website page that includes a list of registered food premises. This is a simple list, with no description and no licence or copyright information, so it is not possible to assume that it is open data.

When I was disappointed with the lack of open data on either councils' websites I also sent an email to the Department for Communities and Local Government. They have suggested in the past that councils should expect to publish any data they have under an open licence. I asked if the DfCLA or my local Member of Parliament might be able to do anything to apply pressure to the councils to publish any data as open data as a driving force for openness and innovation. Today I got a response from Rt Hon David Davis MP, my MP, with an attached letter from Malcolm Sims, Director of Corporate Resources, East Riding of Yorkshire council. Mr Sims confirms that they have received an FoI request and that they will reply by 20th September, which they already have. Neither Mr Davis nor Mr Sims seem to grasp the underlying point: they don't publish open data, and don't seem to want to.

The art of politics is to give a response to a question that wasn't asked, but that you can answer.


Friday, September 6

James Bridle: Australia: Drone Shadows, Diagrams, and Political Systems

Posted on the 6th of September at about 1AM.

On secrecy, censorship, and not drawing a drone in Queensland.


Thursday, September 5

Dave Robertson:

Dave Robertson: Ok Cello – The Portland Cello Project Does Ok Computer

Posted on the 5th of September at about 3PM.

It was the reason I bought my first reggae album, and for those who know me that is no mean feat. I had always thought reggae sounded like the musicians couldn’t get the beat right, and it was called the “off” beat for a very good reason. But let’s go back to the Grammy Awards […]

The post Ok Cello – The Portland Cello Project Does Ok Computer appeared first on Dave Robertson.


Monday, September 2


Clare Davies:

Posted on the 2nd of September at about 12PM.



Sunday, August 11

Stone: Three Daze South – on Youtube!

Posted on the 11th of August at about 1AM.

Hiya, Check out; A 6 minute snippet of our trip to the South Coast. (For best viewing select the highest quality setting (720p HD – at bottom of viewing pane) and view in full screen.) Ahhh…winter waves….. Sweet. Later, Stone.


Wednesday, August 7

James Bridle: The Barbican: Unmoored

Posted on the 7th of August at about 3PM.

Another thing about architecture, weather and the internet.


Tuesday, August 6

Danny O'Brien's Oblomovka:

Danny O'Brien: On the Thoughts of Chairman Bruce

Posted on the 6th of August at about 5PM.

So I’m reading the latest missive from Chairman Bruce Sterling about Snowden and Assange, and even though I have some history with the guy, I’m clapping along, because he always writes a fine barnstormer. Then, like Cory, I get pulled up by this bit. He’s reeling off a list of names, from 7iber to Bytes [...]


Sunday, August 4

Dave Robertson:

Dave Robertson: Deviant Yoga and a Sex Positive Culture

Posted on the 4th of August at about 9AM.

Laughter, ruff, verbal, shadow, juicy… Many words have been used to prefix yoga. When I saw Deviant Yoga advertised in Seattle I decided to give it a go. My travel-weary body needed a good stretch, plus a friend and I were curious to check out the venue, the Center for a Sex Positive Culture  There […]

The post Deviant Yoga and a Sex Positive Culture appeared first on Dave Robertson.


Sunday, July 28


Jon: Beginners’ PHP course

Posted on the 28th of July at about 10PM.

I’ve been writing a PHP course for beginners over for the past couple of weeks, and think it is now good enough to share. It’s a work in progress, but what I have at present is useful already, and I plan to add to it. I’d previously looked around the existing resources on the web, […]


Saturday, July 27


Jon: Macports error: “Python interpreter is too old”

Posted on the 27th of July at about 4PM.

Today I tried to install texlive on Snow Leopard via Macports, in order to make use of pdflatex with pandoc. However I received this error: Python interpreter is too old This would exit Macports with an error, suggesting that a bug should be raised. It appeared to be looking for Python 2.6 specifically, which is […]


Monday, July 8

Dave Robertson:

Dave Robertson: CDless in Seattle and why MP3 sucks

Posted on the 8th of July at about 2PM.

I like Seattle. It has the friendly, progressive port thing going on that reminds me of Freo. In the leafy suburb known locally as “The People’s Republic of Fremont”, there is a statue of Lenin, a troll under a bridge, and a musical instrument store called Dusty Strings. It was the perfect place to consummate […]

The post CDless in Seattle and why MP3 sucks appeared first on Dave Robertson.


Saturday, July 6


Jon: Café photo website

Posted on the 6th of July at about 2PM.

I’ve mentioned before on this site that I sometimes work day-to-day from coffee shops. To get an idea of what a café is like prior to visiting, I’ll sometimes refer to services like Beanhunter. However, many websites of this kind focus on coffee reviewing — not unimportant, of course — rather than what the space is like […]


Sunday, June 30

Dave Robertson:

Dave Robertson: What has Dave been up to?

Posted on the 30th of June at about 2PM.

This website is in the stages of reconstruction. Enjoy the content, but come back soon to see it in full bloom.

The post What has Dave been up to? appeared first on Dave Robertson.


Tuesday, June 25


Jon: Unix-like wifi-specific bandwidth counter

Posted on the 25th of June at about 10PM.

I use wireless broadband via a wireless router, the use of which needs to be monitored carefully to avoid going over-quota. However I also use another wifi connection at home, and wifi connections at the office and many public ones. Thus, I wish to count data bytes on a specific interface for one specific router; […]


Tuesday, June 18

Release notes from semver:

: v2.0.0: Merge pull request #120 from mojombo/release-2.0

Posted on the 18th of June at about 5PM.

Merge pull request <a href="" class="issue-link" title="Mark 2.0.0 as RTM">#120</a> from mojombo/release-2.0

Mark 2.0.0 as RTM


Sunday, June 16

Stone: GILI T..!!!!!!

Posted on the 16th of June at about 7AM.

  Greetings friends, Well, time continues to tick…. funny that…. We just got back recently from 2 weeks in Bali/Gili Trawangan – a little island off Lombok.  It was a family affair as the better half, the kids and I … Continue reading


Friday, June 7

Danny O'Brien's Oblomovka:

Danny O'Brien: PRISM, Verizon: Surprise!

Posted on the 7th of June at about 12AM.

Someone in another forum was asking his friends whether they were surprised by the new revelations about US surveillance, and whether they thought there was a collective will to battle it. After the stream of “no and no” responses, I ended up saying this. I deal with this material every day, and while what I [...]


Saturday, May 4

Danny O'Brien's Oblomovka:

Danny O'Brien: Virtual subdomains for open webapps

Posted on the 4th of May at about 4PM.

I’ve been playing around with Firefox’s open web app designs recently. I hadn’t quite realised before that if you have Firefox on Android and your PC, you can run their webapps on FirefoxOS, Android and the desktop, which is pretty impressive. Their payment and push notification infrastructure is exciting too. One small gotcha is that [...]

Danny O'Brien's Oblomovka:

Danny O'Brien: The Calculation Problem

Posted on the 4th of May at about 3AM.

I love how the Web is an unfinished work made of unfinished works. Here’s one more for you: an old beginning to a story I never wrapped up, based on an alternative future in which Cyril Parkinson worked on artificial intelligence, Harold Wilson stayed a civil servant statistician, and Cecil King’s 1968 request that Mountbatten [...]


Tuesday, April 16

The Open Library Blog:

Anand Chitipothu: Open Library Scheduled Downtime (Completed)

Posted on the 16th of April at about 1PM.

Open Library will be down from during the following time due to a scheduled power outage. Tuesday, April  16 - 7:00AM to 12:00 noon Wednesday, April 17 - 2:00PM to 7:00PM Thank you for your cooperation.  UPDATE 5:30PM PST: is back online.


Sunday, March 17


Clare Davies:

Posted on the 17th of March at about 9AM.

OPPOSING FORCES 24 April – 12 May 2013 opening 6 – 8pm,  24 April c3 Contemporary Art Space Abbotsford Convent Foundation 1 St Heliers St. Abbotsford VIC 3067 Australia


Saturday, February 2


Clare Davies:

Posted on the 2nd of February at about 6AM.

What it means to be human Penny Bovell Clare Davies Isabel Davies Domenico de Clario Tom Gibbons Bevan Honey Ben jones Jeremy Kirwan-Ward Akio Makagawa Mary McLean Kathleen O’Connor Curated by André Lipscombe Fremantle Arts Centre Sat 2 February–Sun 24 March 2013 Opening Fri 1 February, 6:30pm    


Sunday, January 13

Danny O'Brien's Oblomovka:

Danny O'Brien: He was funny

Posted on the 13th of January at about 12AM.

It was in the main room of CCC in 2006, and Aaron and Peter and I had just had a wide-ranging discussion on Wikipedia’s WP:AUTO guidance that people shouldn’t edit their own Wikipedia pages. For pernickety rule-followers with bad faith motives, it was trivially circumventable, of course: one could simply enter a pact to edit [...]


Saturday, January 12

The Open Library Blog:

Anand Chitipothu: Rest in peace, Aaron Swartz

Posted on the 12th of January at about 5PM.

Aaron Swartz committed suicide yesterday (Jan 11, 2013). The Open Library wouldn’t exist without him. He wrote the backbone of the system you see today, hired the team that built the first version of the website. He founded Demand Progress, which launched the campaign against the Internet censorship bills (SOPA/PIPA), coauthored the RSS 1.0 specification, […]


Monday, October 8

Stone: Alive & Kickin….. just

Posted on the 8th of October at about 2AM.

Hey peeps, What a busy year! – Seems like 6 months has passed in 3 days… weird.. Good news is that I’m still here and getting motivated to finish off the next movie (hopefully by December) and get into some … Continue reading


Wednesday, September 12

Danny O'Brien's Oblomovka:

Danny O'Brien: touch of the galois

Posted on the 12th of September at about 6AM.

As you will no doubt already know, there’s been a lot of talk in the last few days about a potential proof of the abc conjecture. I just gave up my last professional non-fiction writing gig last week, which means that I no longer have any obligation to explain to you what that is, or [...]


Saturday, August 11

tom m wilson:

Tom Wilson: Paleo Therapy

Posted on the 11th of August at about 7AM.

Currently I’m interested in the evolutionary context of human movement and psychology. I believe that stress reduction in modern Western society can be achieved through moving for pleasure in wild natural environments for regular, if brief, periods. We are stone age children born to twentieth century mothers, and I believe that understanding our past can [...]


Sunday, August 5

The Open Library Blog:

Anand Chitipothu: Scheduled Downtime (Completed)

Posted on the 5th of August at about 1AM.

We’re planning for a scheduled downtime on Sunday, August 5 for migrating our database server to new hardware. Open Library will be unavailable for  about 3 hours during 7:00 PM PST – 10:00 PM PST. We’ll post here when the site’s back online. UPDATE 8:40PM PST: The migration is  complete. Both and are back […]


Sunday, July 22

Danny O'Brien's Oblomovka:

Danny O'Brien: if the 3.4.1 Debian wheezy gnome-shell starts up slowly for you

Posted on the 22nd of July at about 2AM.

I love titles like that. Anyway, I am intensely enjoying being back in Debian-space, and I am slowly accreting small mechanisms of usefulness around me. Vim keystrokes are bleeding out everywhere. My caps lock is now a Meta key, and springs up little windows when I dance on it. I still quite like Gnome 3, [...]


Friday, May 25

Danny O'Brien's Oblomovka:

Danny O'Brien: NTK, Fifteen Years On

Posted on the 25th of May at about 6PM.

Give or take a few days, it was fifteen years ago that I hit send on the first official issue of NTK. I was hiding out at a start-up called Virgin Internet, trying to work out how to bring Usenet to the masses, or something. I added people to the mailing list by hand, but [...]


Tuesday, March 27

John Kozubik:

John Kozubik: With friends like these...

Posted on the 27th of March at about 4AM.

I have been an EFF supporter for a very long time and am excited about the work that they do. To a lesser degree, I am interested in, and support sister organizations of the EFF, such as Electronic Frontier Finland....


Sunday, March 11

Stone: The Pot of Gold at the end of the r..ough bush track…….

Posted on the 11th of March at about 6AM.

Yep. It’s out there. Recently I was lucky enough to be down in the ‘deep south’. I haven’t really looked around much down there – usually I’ll stick to the south west corner, Margs etc… It’s a bit more predictable… … Continue reading


Thursday, February 23

Stone: Life….!

Posted on the 23rd of February at about 3AM.

Life!  Blink, and you miss it!… or so they say… Yep, it’s been busy lately but hopefully soon I can show you some of the designs I have been working on. Hope you’re all happy and healthy, whoever you are!, … Continue reading


Wednesday, February 15

Danny O'Brien's Oblomovka:

Danny O'Brien: reality distortion field lensing

Posted on the 15th of February at about 10PM.

I think about Steve Jobs these days on average about once a day. I’d like to pretend I think about Apple, because I could then say that it’s because I’m pondering the future of the post-PC world, and get to stroke my chin in a punditly fashion, but it’s mostly about Steve Jobs. One of [...]


Friday, February 10


Clare Davies:

Posted on the 10th of February at about 4AM.

Window 24HR Art – Northern Territory Centre for Contemporary Art Darwin NT 0801 – AUSTRALIA Vimy Lane, Parap Shopping Village tel + 61 8 8981 5368 10.2.12 – 10.3.12


Sunday, February 5

tom m wilson:

Tom Wilson: Goodbye

Posted on the 5th of February at about 3AM.

This is my last blog post for a long time, maybe forever. I began this site in 2005, with help from my brother. Thanks for all your help Sam. That year I finished writing my PhD. In 2006 I started writing a blog, and for the next six years I regularly contributed images and words [...]


Tuesday, January 24

PEAR Blog:

doconnor: What would you do with 5 million lines of code?

Posted on the 24th of January at about 2PM.

Since October 2011, 5 million lines of the PEAR codebase has shifted to github. Hand in hand with this shift has been the tireless work of Daniel C – someone who brazenly said “I will fix the failing packages!” in … Continue reading


Tuesday, January 17

tom m wilson:

Tom Wilson: Moral Leaders of the Nation

Posted on the 17th of January at about 3PM.

Over Christmas I took the opportunity to look back over some of the talk from 2011.  Here I bring you the words of the ‘moral leaders of the nation’.  The first comes from the American nation.  The second comes from the Australian nation. The first comes from American author Bill McKibben, and the second comes [...]

Danny O'Brien's Oblomovka:

Danny O'Brien: some rambling conversations I’ve had on moving from MacOS to Debian

Posted on the 17th of January at about 3AM.

When the magic smoke escapes Drunkenly confessing all with Brady Forrest last week: “I’ve done an insane thing. I’m abandoning my nice MacOS laptop for Debian.” “Was it Lion for you too?” Liz has a Macbook Air, and loves Lion. I bought and installed it on my Macbook Pro when it came out. It has [...]


Sunday, December 18

PEAR Blog:

doconnor: Welcome to new contributors

Posted on the 18th of December at about 11AM.

With the PEAR move to github surpassing 200 repositories, we’re seeing more contributions from folks lurking in the shadows. In particular I’d like to highlight the efforts of meldra and Gemorroj. With XML_Feed_Parser hosted on github, Meldra has been able to provide … Continue reading


Thursday, December 15


Clare Davies:

Posted on the 15th of December at about 7AM.

The Conservatorium Co-Curators Renae Coles & Anna Dunnill Jan 27 – Feb 5, 2012 Paper Mountain 267A William St Northbridge, upstairs Perth Fringe World       


Saturday, December 10

The Open Library Blog:

Mike McCabe: Reading lending library books on the Nook

Posted on the 10th of December at about 12AM.

Our lending library books now work on the Nook! If you can read online, try the ‘Read In Browser’ link on a borrowable book. This is simplest!  Otherwise, you’ll need a computer, with Adobe Digital Editions (ADE) installed. Once you have ADE, here’s how to use it with your Nook: Quit Digital Editions, if it’s […]


Friday, November 25

Release notes from semver:

: v1.0.0-rc.1: Move pre-release and build sections to last position.


Thursday, November 24

Stone: Ahh, summer….

Posted on the 24th of November at about 1AM.

Yep. Summer. It’s upon us. It’s weird. As I get older I tend to dred those 40 degree days when it’s too hot to even walk down the beach to the water. Or, if I forget to take the cover … Continue reading


Tuesday, November 22

The Open Library Blog:

Noufal: KohaCon 2011

Posted on the 22nd of November at about 12PM.

Anand and I attended the Koha Conference in Thane, Mumbai earlier in November and spoke about Open Library. The conference took place from Oct 31 till 2 November. There was a hackfest following the event from 4th to 6th. We missed the first day and presented our talk on the second day of the event. […]


Sunday, November 6

PEAR Blog:

doconnor: PEAR Development on Github

Posted on the 6th of November at about 12AM.

Like many other projects, many components of PEAR have started a migration to github. We have two primary organisations set up for PEAR and PEAR2. While the existing PEAR packages will continue to use the distribution and bug tracking … Continue reading


Monday, October 31

PEAR Blog:

doconnor: Newly stable packages in PEAR

Posted on the 31st of October at about 12AM.

We’ve had 60 releases since July. While most are often minor improvements or bug fixes; a number of packages really stand out. Net_DNS2, and HTTP_Request2. Each of these packages represents the second edition of their respective APIs; each having been … Continue reading


Tuesday, October 4

The Open Library Blog:

mang: BookReader Work Sprint at NYPL Labs

Posted on the 4th of October at about 11PM.

We had a really fantastic code/work sprint for the BookReader organized by the most excellent NYPL Labs.  The sprint was designed to bring together organizations that have an interest in the BookReader as a way to foster the sharing of interest, code and expertise. We started by making a list of desired features and prioritizing […]


Thursday, September 15

Stone: Still Alive!

Posted on the 15th of September at about 12AM.

Heya everyone! Yep, it’s been awhile between drinks here but I’m still alive and kicking… The footy season has finally finished for my team – we made the grand final only to go down to a better side in Scarborough … Continue reading


Wednesday, September 7

Release notes from semver:

: v1.0.0: Make patch/minor version resetting explicit.


Thursday, July 21

The Open Library Blog:

George Oates: “We’re Re-Tribalising”

Posted on the 21st of July at about 11PM.

“It’s no longer one thing at a time, but everything all at once.” Happy Birthday, Marshall McLuhan. (Via @josettemelchor on Twitter.)


Tuesday, July 12

The Open Library Blog:

George Oates: Our Search Engine Was Hurting

Posted on the 12th of July at about 6PM.

Sorry to say, but our search engine is all kinds of weird this morning (San Francisco time). Lots of the pages you see around the site, like a Work page or a Subject page, or indeed the Search Results page are driven largely by search. So, while we’re working on fixing the problem, please excuse […]


Saturday, July 9

PEAR Blog:

doconnor: PEAR in July 2011

Posted on the 9th of July at about 2PM.

There’s nothing quite like having your blogging system go MIA for a while to give your community an overwhelming impression that no one is home. Thankfully; despite the radio silence between updates there’s quite a lot to talk about! We’ve … Continue reading


Friday, June 17

Stone: Just One Of Those Daze…

Posted on the 17th of June at about 4AM.

Saturday, 11th June 2011. The surf report was nothing too exciting. A long period 2.2meter SW swell and a gusty 20 knot NEasterly but it was my first Saturday off from playing footy so it was worth the punt. A … Continue reading


Wednesday, June 8

Release notes from semver:

: v1.0.0-beta: Fix link to GitHub project.


Thursday, May 5

Stone: Aotearoa – The Land of the Long White Cloud…

Posted on the 5th of May at about 6AM.

Kiaora friends!, Wow. You really don’t know what exhaustion is until you’ve travelled abroad with 2 kids under 2 years of age! But don’t get me wrong, what an adventure – I think we’ve all gained so much from 3 … Continue reading


Thursday, March 17


Clare Davies:

Posted on the 17th of March at about 11PM.

Island Life Venn Gallery 16 Queen Street Perth, WA 6000 Australia 6.5.11 – 3.6.11


Clare Davies:

Posted on the 17th of March at about 11PM.

Joondalup Festival Joondalup Festival Art Trail Grand Boulevard and Boas Street 26th 27th March 2011


Wednesday, March 9

Stone: L.A.G.O (Late Arvo Glass Off)

Posted on the 9th of March at about 1PM.

Hi All, Well, a wave of inspiration (or a ripple at the very least) washed over me on the weekend and I managed to get into the studio for the first time in a long time. My awesome wife is … Continue reading


Wednesday, December 8

John Kozubik:

John Kozubik: Peak Internet

Posted on the 8th of December at about 6PM.

In light of current events, I think it is time to begin discussing "Peak Internet" in the same way that we discuss "Peak Oil" or "Peak Credit". The last two weeks have included Comcast potentially de-peering due to end user...


Tuesday, November 16


Clare Davies:

Posted on the 16th of November at about 2AM.

Impressions 2010 limited edition prints by contemporary artists 6-8pm Friday 3 December 2010 – 12 February 2011 AUSTRALIAN PRINT WORKSHOP GALLERY 210 Gertrude Street Fitzroy VIC link here


Thursday, September 16

John Kozubik:

John Kozubik: Ignoring The Kill Switch

Posted on the 16th of September at about 6PM.

And so, in Q1 of 2011, will provide a wireless private network at each of its physical locations (San Diego California, Denver Colorado, Zurich Switzerland, and Hong Kong) which will allow customers to physically approach the datacenter and access their stored data without traversing The Internet. This will ensure that bad policy will have to enter the stone age to keep you from accessing your data.


Saturday, August 14

PEAR Blog:

doconnor: PEAR in August

Posted on the 14th of August at about 4PM.

What’s the pear project been up to recently? We’ve been fairly quiet, launching pear2 and pyrus into the line up, welcoming new faces to the QA team, Jesús Espino, and getting ready to call an election for the new pear … Continue reading


Friday, August 6

John Kozubik:

John Kozubik: The Warrant Canary in 2010 and Beyond

Posted on the 6th of August at about 10PM.

We have been publishing our Warrant Canary weekly at for almost five years now. We are happy to report that in this time, no warrants of any kind have been served to us.


Friday, June 25

John Kozubik:

John Kozubik: Moving (back) to the Finder

Posted on the 25th of June at about 11PM.

I've been running an HTPC of some kind or another for almost ten years now, and my user interface has finally come (almost) full circle.


Saturday, May 29

PEAR Blog:

cweiske: Google code channels work again

Posted on the 29th of May at about 6AM.

The recent problems regarding the usage of PEAR channels hosted in google code SVN repositories has been fixed on both sides! PEAR 1.9.1 is out! Continue reading


Monday, May 10


Clare Davies:

Posted on the 10th of May at about 12PM.

City of Joondalup Invitation Art Award Survey Ellenbrook Arts February  2011 link here City of Joondalup Invitation Art Award 14 – 30 October 2010 Lakeside Joondalup Shopping City Joondalup Perth WA link here


Tuesday, March 23

PEAR Blog:

cweiske: PEAR channels on google code currently broken

Posted on the 23rd of March at about 3PM.

PEAR channels hosted on google code (like the unofficial Smarty channel, unofficial Zend Framework channel and the unofficial Mediawiki channel) are currently broken. The reason for it has been discovered in the corresponding bug report: HTTP requests containing a port … Continue reading


Friday, March 19

PEAR Blog:

doconnor: PEAR in March 2010

Posted on the 19th of March at about 8PM.

After a quiet holiday season, the PEAR community has started rumbling again. Digg gave PEAR a plug, new versions of Mail, Services_Facebook, System_Daemon, and HTML_Template_IT were released, the number of bugs reported dropped to less than one per package for … Continue reading


Tuesday, March 16


Clare Davies:

Posted on the 16th of March at about 1AM.

                    Constellations: A Large number of Small drawings, curated by Vanessa Gerrans 8 April – 26 June 2010. RMIT Gallery Melbourne VIC link here


Thursday, February 18

John Kozubik:

John Kozubik: Git and Subversion Support at

Posted on the 18th of February at about 10PM.

At long last, git is supported at


Saturday, December 12

John Kozubik:

John Kozubik: Google DNS

Posted on the 12th of December at about 10PM.

I believe that Google will begin delivering search results based not only on PageRank but an amalgam of PageRank and other, increasingly "out of band" information.


Thursday, November 19

John Kozubik:

John Kozubik: Making the Mac more like Ion

Posted on the 19th of November at about 8AM.

For ten years - roughly 1999 through 2009 - all of my personal workstations ran the Ion window manager on top of X Windows (on FreeBSD, FWIW). (actually, it was ratpoison at first...)


Saturday, November 14

PEAR Blog:

david: Net_Traceroute and Net_Ping security advisory

Posted on the 14th of November at about 11PM.

PEAR Security Advisory (PSA 200911-14-01) Severity: Serious Title: PEAR Net_Ping and Net_Traceroute Remote Arbitrary Command Injection Date: November 14, 2009 ID: 200911-14-01 Synopsis Multiple remote arbitrary command injections have been found in the Net_Ping and Net_Traceroute. Background Net_Ping is an … Continue reading


Friday, November 6

John Kozubik:

John Kozubik: Flat Rate Storage Services vs.

Posted on the 6th of November at about 8PM.

One of the most common pre-sales questions we get at is: "Why should I pay a per gigabyte rate for storage when these other providers are offering unlimited storage for a low flat rate?" The short answer is: paying a flat rate for unlimited storage, or transfer, pits you against your provider in an antagonistic relationship. This is not the kind of relationship you want to have with someone providing critical functions.


Saturday, October 24

John Kozubik:

John Kozubik: SwissDisk Doubles Down

Posted on the 24th of October at about 8PM.

We'd heard of SwissDisk here at, but they rarely showed up on our radar screen. We were reminded of their existence a few days ago when their entire infrastructure failed. It's unclear how much data, if any, was eventually lost ... but my reading of theirannouncement makes me think "a lot". I'm commenting on this because I believe their failure was due to an unnecessarily complex infrastructure. Of course, this requires a lot of conjecture on my part about an organization I know little about ... but I'm pretty comfortable making some guesses.


Tuesday, June 30

Dave Robertson:

Dave Robertson: Coral Coast Tour


Tuesday, October 14

Dave Robertson:

Dave Robertson: Nannup

Posted on the 14th of October at about 5AM.

I’m excited to be on the bill for next year’s Nannup Music Festival which also features Michelle Shocked and Lior. It will hopefully be the first gig at which my new album will be available. Recording of the album will commence in December and feature some fantastic musicians including Mel Robinson, Ben Franz, Sian Brown, […]

The post Nannup appeared first on Dave Robertson.


Friday, June 27

Dave Robertson:

Dave Robertson: Sounds Like Cafe

Posted on the 27th of June at about 7AM.

“Other Body Parts” features on the latest compilation in the Sounds Like Cafe series, which is distributed to over 1200 cafes and coffee shops throughout all states and territories of Australia. Each SoundsLikeCafe CD features some of Australia’s most highly regarded musicians, such as Paul Kelly, Grace Knight and Abbe May.

The post Sounds Like Cafe appeared first on Dave Robertson.