Sam Wilson's Journal

NewsPhotosArchivesContactWiki

News From Everywhere

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

Monday, September 1

Technology | The Guardian:

Samuel Gibbs: Apple iPhone 6: Visa, MasterCard and American Express sign up for mobile payments

Posted on the 1st of September at about 12PM.

A contactless payments service for the iPhone 6 is backed by the three big credit card companies, reports suggest

Continue reading...






Technology | The Guardian:

Tom Brewster: Europol launches taskforce to fight worlds top cybercriminals

Posted on the 1st of September at about 12PM.

Joint Cybercrime Action Taskforce to coordinate investigations into hacking, malware and other online crimes

Continue reading...






Technology | The Guardian:

Charles Arthur: Nude celebrity picture leak looks like phishing or email account hack

Posted on the 1st of September at about 12PM.

Apples iCloud service may have been the source of the photos but security experts think password hacks are likely explanation

Continue reading...






Open Maps:

Chris Hill: Floods

Posted on the 1st of September at about 11AM.

In 2007 large parts of Hull and surrounding areas were flooded. The reasons why are still being debated. Drainage capacity, pumping capacity, pumping failures and poor coordination of various agencies have been blamed in reports.

Most flooding in the UK in the past has been either due to rivers bursting their banks or coastal flooding. Coastal flooding along the east coast is often somewhat predictable as it is often the combination of a spring tide, a deep depression and winds from the north or north west blowing down the North Sea. The low pressure allows the sea level to rise, the wind blows the water into the bottle-neck of the southern North Sea and combined with a spring tide the winds blow waves over sea defences which quickly floods land behind the defences.

Rivers bursting their banks is a bit more obvious. Heavy rainfall runs off land and fills water courses, which may burst their banks downstream and flood surrounding land. What we are beginning to see in Britain are more cases of another kind of flooding: direct flooding from heavy rainfall. Here saturated ground and impermeable ground cannot hold any more rainfall, so water sweeps across the surface of land to a low point where it forms a temporary flood, as it did in Hull in 2007. Britain's existing drainage infrastructure tries to deal with this using ditches and other water courses but they are now unable to cope more and more often.

I think more concentrated, heavier rainfall is causing part of this, some of which is down to climate change no doubt. Some of the flooding is man-made in other ways too. Ditches and other water courses are badly maintained and even being filled in. Building causes more run off from roofs, roads and other impermeable surfaces.

One decision made, I think, in the 1950s is also having a devastating effect and that is where any land run off water goes. In most cases the water boards of the 1950 decided to direct run off into sewers. At the time most areas with access the coast simply dumped untreated sewage into the sea and land run off was seen as a way to dilute it. Now all sewage is supposed to be treated before discharge. I said 'supposed to be treated' because the Water Act allows water companies some discretion to pump untreated sewage into the sea when their infrastructure is overwhelmed in an excessive rainfall event. At Bridlington a new pipe has been built for this purpose.

Adding relatively clean land run off to sewage has two big effects. Land run off water ends up getting treated as sewage in expensive treatment works. This water could reasonably be discharged directly into natural water courses or the sea without much problem, instead sewage works with greatly inflated capacity have to be built and run to deal with it. The second big effect is that when unusually heavy rainfall events overwhelm the drainage system, the bottlenecks are the sewage pipes which overflow, putting not just land run off into streets, gardens and homes but sewage too. Fixing this is not easy and will be very, very expensive and disruptive but as climate change progresses some changes will be needed.

I have been helping Cottingham Flood Action Group to understand the drainage and sewer network for that low-lying village by using their knowledge and surveys to add the ditches, drains, culverts, sewers and manholes to OSM and produce a map to help them understand the issues. You can see the map here. So far only a small part of the sewer network of the village has been added but various people in the group have enough knowledge to add the whole network I think. Then the onward link to Hull's network needs adding, which is a much bigger task. All of the network ends up in a single treatment works at the east of Hull at Salt End.

I hope CFAG find my map useful.

Technology | The Guardian:

Deborah Coughlin: You might need Somebody too the messaging app with a personal touch

Posted on the 1st of September at about 10AM.

A new app that delivers messages via the nearest human is a breath of fresh air in a virtual world Continue reading...






Technology | The Guardian:

Samuel Gibbs: Drone video shows Apples Space Ship campus under construction

Posted on the 1st of September at about 10AM.

Video shows vast scale of Apples Norman-Foster-designed Campus 2, scheduled for completion at the end of 2016

Continue reading...






Technology | The Guardian:

Stuart Dredge: 20 best iPhone and iPad apps and games this week

Posted on the 1st of September at about 10AM.

Star Walk 2, Bioshock, Gruffalo: Games, Tiny Tower Vegas, Hyperlapse from Instagram, Google Slides and more

Continue reading...






Technology | The Guardian:

Stuart Dredge: 20 best Android apps and games this week

Posted on the 1st of September at about 9AM.

Mix by Camera360, Grabble, Tiny Tower Vegas, Fragment, Madden NFL Mobile, Calculords, WeTransfer and more

Continue reading...






Technology | The Guardian:

Stuart Dredge: YouTube: top 100 channels' views have grown 80% in the last year

Posted on the 1st of September at about 7AM.

Its biggest star PewDiePies gaming videos were watched 439m times in July 2014 alone

Continue reading...






Technology | The Guardian:

Charles Arthur: Boot up: album sales crash, tablet forecasts down, Google blocks privacy app

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

Plus MSN Messenger reaches the end, Microsoft mobile job cuts, how LG screwed up webOS, and more Continue reading...






Technology | The Guardian:

Keith Stuart: Chatterbox: Monday

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

The place to talk about games and other things that matter Continue reading...






 

Sunday, August 31

Scripting News:

Scripting News: A note to browser-makers.

Scripting News:

Jackson Heights

Posted on the 31st of August at about 7PM.

I went for a ride today in Jackson Heights, where I was a small kid, from pre-school to fourth grade. In most ways the neighborhood hasn't changed at all. It still has all the same basic features. There are some new buildings, and everything is a lot smaller than I remembered, when I was a very small person.

What an interesting contrast to Doc's story of visiting the town he grew up in, Fort Lee NJ, which basically doesn't exist, having been replaced with superhighways and shiny huge buildings. It's not a neighborhood at all.

physika:

johnmiedema: Physika, the next phase: Text analysis of the novel. Selected book reviews are back.

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

NovelTM is an international collaboration of academic and non-academic partners to produce the first large-scale quantitative history of the novel. It is a natural fit with my interests in cognitive technologies, text analytics, and literature. I am getting to know the players, and hope to contribute. Given that, I have reorganized things a bit here ...

Scripting News:

My linkblog is in transition. Here's the newest stuff. The two streams will probably be joined tomorrow.

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

My linkblog is in transition. Here's the newest stuff. The two streams will probably be joined tomorrow.

Scripting News:

Today's background image is Nighthawks by Edward Hopper.

Posted on the 31st of August at about 12PM.

Today's background image is Nighthawks by Edward Hopper.

Scripting News:

Scripting News: How to stimulate the open web.

 

Saturday, August 30

Scripting News:

Commercials at live sports events

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

Used to be we'd have to wait, at live sports events, while they played commercials for the TV audience, but now they play commercials for us at the stadium too. Even when there was a great play in the previous inning, they have the same commercially-sponsored "stupid fan tricks." The Mets had just pulled a double steal. We couldn't see the replay because they were playing Simon Says with kids, with an insane dancing life-size Dunkin Donuts guy. I guess it worked cause I stopped in at a Dunkin Donuts to get a corn muffin before I went home. But man, we paid a lot of money for those tickets. Do we really have to have commercials too?

Scripting News:

Today's background image was taken at the Willets Point station on the 7 line. That's the stop you get off at for the US Open or The NY Mets

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

Today's background image was taken at the Willets Point station on the 7 line. That's the stop you get off at for the US Open or The NY Mets. Last night I was going to the Mets. They won, 4-1. That also happens to be their record this year at games I've gone to. When I go with Patrick Scoble, their record is 4-0. We help ground the Mets in their philosophy, it seems. They win! Weird.

Scripting News:

Scripting News: Come on a bike ride with me!

JAMES WARD: I LIKE BORING THINGS:

James Ward: ADVENTURES IN STATIONERY

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

I have written a book. It’s about stationery. It’s called Adventures in Stationery: A Journey Through Your Pencil Case and is published by Profile Books on September 11th 2014. Here is a brief description of it: We are surrounded by stationery: half-chewed Cristal Bics and bent paper clips, rubber bands to fiddle with or ping, blunt pencils, rubbers and Tipp-ex. They are … Continue reading 

Scripting News:

Scripting News: Why Zocalo plus S3 would be amazing.

Scripting News:

Scripting News: What I learn from my bike.

 

Friday, August 29

JonBlog:

Jon: Online PHP beginners’ tutorial

Posted on the 29th of August at about 11PM.

I’ve been working since Christmas last year on an online PHP tutorial for beginners, which is now pretty much ready to try out. The working title during development has been “I ♥ PHP” and I still rather like that, so I’ll stick with that at least for the alpha period. The course is split over […]

The Open Library Blog:

Jessamyn West: Time travel through millions of historic Open Library images

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

The BBC has an article about Kalev Leetaru’s project to extract images from millions of Open Library pages. You can read about how it works… The Internet Archive had used an optical character recognition (OCR) program to analyse each of its 600 million scanned pages in order to convert the image of each word into […]

 

Thursday, August 28

The Blasphemous Bicycler:

Adam: Commute Videos

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

I recently received a Garmin Virb “action camera” as a present from my lady friend. Yesterday, I recorded (most of) my commute to and from work. If you have some time to kill, you may want to watch this enthralling footage. Here is the monring ride: And here is the afternoon ride:

 

Wednesday, August 27

Cory Doctorow's craphound.com:

Cory Doctorow: Adversarial Compatibility: hidden escape hatch rescues us from imprisonment through our stuff

Posted on the 27th of August at about 12PM.

My latest Guardian column, Adapting gadgets to our needs is the secret pivot on which technology turns, explains the hidden economics of stuff, and how different rules can trap you in your own past, or give you a better future. Depending on your view, the stuff you own is either a boon to business or … [Read more]

 

Tuesday, August 26

alexking.org » Blog:

Alex: I’m participating in a live conversation with some…

Posted on the 26th of August at about 9PM.

I’m participating in a live conversation with some stellar folks at http://wpthinktank.com

alexking.org » Blog:

Alex: BruteProtect Joins Automattic

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

I’m not a fan of Jetpack in general, but this is a tremendous win for the WordPress community if brute force protection is added to it as a feature.

#

Linode Blog:

caker: Introducing Professional Services

Posted on the 26th of August at about 2PM.

Now you can hire us to perform your site migrations, server installs, one-off sysadmin tasks, and anything else you need. With this new service you’ll always have our expert staff available to perform system administration work for you. You submit a request, we work with you to define the requirements and scope, and then you receive […]

Cory Doctorow's craphound.com:

Cory Doctorow: Tech Review’s annual science fiction issue, edited by Bruce Sterling, featuring William Gibson

Posted on the 26th of August at about 1PM.

The summer annual features stories "inspired by the real-life breakthroughs covered in the pages of MIT Technology Review," including "Petard," my story about hacktivism; and "Death Cookie/Easy Ice," an excerpt from William Gibson's forthcoming (and stone brilliant) futuristic novel The Peripheral. Other authors in the collection include Lauren Beukes, Chris Brown, Pat Cadigan, Warren Ellis, … [Read more]

 

Monday, August 25

alexking.org » Blog:

Alex: Couldn’t renew my annual archiving subscription to…

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

Couldn’t renew my annual archiving subscription to Pinboard fast enough.

 

Friday, August 22

FSF News:

GNU hackers unmask massive HACIENDA surveillance program and design a countermeasure

Posted on the 22nd of August at about 8PM.

BOSTON, Massachusetts, USA -- Friday, August 22, 2014 -- GNU community members and collaborators have discovered threatening details about a five-country government surveillance program codenamed HACIENDA. The program employs a technology known as port-scanning to map every server in twenty-seven countries and detect vulnerabilities to be exploited.

 

Thursday, August 21

alexking.org » Blog:

Alex: about.me Backstory

Posted on the 21st of August at about 5PM.

I pitched nearly the same idea to some friends a few months ago, but with a focus on storytelling and accomplishments rather than just having links. I think something like this has the potential to be much more compelling and useful than a traditional resume.

#

 

Wednesday, August 20

alexking.org » Blog:

Alex: Twitter’s going to show you popular tweets whether you like it or not

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

This seems like the sort of thing a platform would do when natural growth/network effect has stalled. Anyone surprised by this move hasn’t been paying attention.

#

alexking.org » Blog:

Alex: Analog(ue) #1: Putting It Into The Universe

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

I think Casey and Myke are pretty brave to be putting this much “inside baseball” into a public podcast. I think it has huge potential. I don’t know if they intend to take it this way, but imagine a show like Debug about the people rather than the products/tech.

#

 

Tuesday, August 19

The Open Library Blog:

Anand Chitipothu: Open Library Scheduled Hardware Maintenance

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

Open Library will be down from 6:00PM to 8:00PM SF Time (PDT, UTC/GMT -7 hours) on August 19, 2014 due to a scheduled hardware maintenance. We’ll post updates here and on @openlibrary twitter. Thank you for your cooperation. UPDATE 6:45PM PST: The hardware maintenance is complete and openlibrary.org is back online! 

Cory Doctorow's craphound.com:

Cory Doctorow: Neal Stephenson and Cory speaking at Seattle’s Town Hall, Oct 26

Posted on the 19th of August at about 2PM.

We're getting together to talk about Hieroglyph: Stories and Visions for a Better Future , a project that Stephenson kicked off -- I've got a story in it called "The Man Who Sold the Moon." The project's mission is to promote "Asimovian robots, Heinleinian rocket ships, Gibsonian cyberspace… plausible, thought-out pictures of alternate realities in … [Read more]

 

Monday, August 18

alexking.org » Blog:

Alex: Kindergarten

physika:

johnmiedema: Genre detection. Natural language processing models ought to be trained by genre specific content.

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

Having completed the second iteration of Whatson, I am going kick about for a bit, exploring special topics, before I take on another iteration. One topic of interest is genre detection. To start with the obvious, genre is a category of art, most commonly in reference to literature, characterized by similarities in form, style, technique, tone, ...

 

Friday, August 15

alexking.org » Blog:

Alex: Unnecessary Single Point of Failure

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

Sorry for some shows having delayed updates recently (e.g. The Talk Show). I think I just fixed the cause. Let me know if it happens again. — Overcast (@OvercastFM) August 14, 2014 Exactly the sort of thing I was concerned about.

alexking.org » Blog:

Alex: Nobody’s Fool: Arming Morons

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

We could all use a little levity after this week. (kiddo-in-the-room alert: f-bomb in last 10 seconds)

 

Thursday, August 14

alexking.org » Blog:

Alex: America Is Not For Black People

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

The worst part of outfitting our police officers as soldiers has been psychological. Give a man access to drones, tanks, and body armor, and he’ll reasonably think that his job isn’t simply to maintain peace, but to eradicate danger. Instead of protecting and serving, police are searching and destroying. If officers are soldiers, it follows…

#

 

Tuesday, August 12

The Open Library Blog:

Jessamyn West: Wikimania London!

Posted on the 12th of August at about 8PM.

The Internet Archive had a booth at Wikimania in London. The booth was in the Community Village section of the conference. We hope you stopped by and said hello, grabbed a sticker or a handout, and learned a bit more about our book scanning projects and told us what you were up to. If you’d […]

 

Monday, August 11

Cory Doctorow's craphound.com:

Cory Doctorow: My London Worldcon schedule

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

I'll be joining thousands of fans and hundreds of presenters at Loncon 3, the 72nd World Science Fiction Convention, later this week. I hope to see you there! Weds, Aug 13 * 18h: Group signing at Forbidden Planet, Shaftesbury Ave, with Chris Achilleos, Madeline Ashby, Gregory Benford, Adam Christopher, Wesley Chu, Phil & Kaja Foglio, … [Read more]

 

Thursday, August 7

The Blasphemous Bicycler:

Adam: This means war

 

Monday, August 4

stonewaves.net:

Stone: North.

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

Had this recently. Yep it was goooood…especially considering it was my first waves in 6 months… Been busy. Hope you’re happy and healthy…

 

Sunday, August 3

JonBlog:

jonny: Security vulnerabilities in On Your Bike’s website

Posted on the 3rd of August at about 4PM.

I recently got in touch with On Your Bike, a cycle shop with stores in Birmingham and London, to alert them to a number of security issues in their website. I’d raised the matter with a very friendly chap at the shop, and he advised me to send an email to the manager. This I […]

 

Friday, August 1

The Blasphemous Bicycler:

Adam: Tomatoes

JonBlog:

Jon: SSL meter browser plugin

Posted on the 1st of August at about 12AM.

Using HTTPS in the browser is a good security measure against data and session theft, especially on publicly available networks, such as internet cafes. A number of browser plugins now offer the ability to auto-switch to an encrypted connection, such as NoScript and SSL Everywhere. I thought a good counterpart to these would be a […]

 

Wednesday, July 30

Linode Blog:

Alex Fornuto: Linode Docs Now Open Source on GitHub

Posted on the 30th of July at about 7PM.

Five years ago today we launched the Linode Library – a free, public resource for guides on subjects ranging from Linux basics to complex multi-system configurations. We’ve given our docs a much needed facelift in our new Guides & Tutorials section of our site. This new format should make finding and following the guides much easier. Our entire […]

physika:

johnmiedema: What is unstructured data? Anything not in a DBMS? Text? Non-repetitive data?

Posted on the 30th of July at about 1PM.

What is unstructured data? Anything not in a DBMS? Text? “Many English teachers would contend that the English language is in fact highly structured.” In IBM Data Mag, Inmon suggests distinguishing structured data from unstructured data based on repetition of data occurrences. “Data that occurs frequently, repetitive data, is data in a record that appears very similar ...

 

Tuesday, July 29

JAMES WARD: I LIKE BORING THINGS:

James Ward: CHEESE

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

This morning I was watching BBC Breakfast and there was a report from Steph McGovern who was at the International Cheese Awards in Nantwich. The International Cheese Awards are the “biggest and best cheese awards in the world” and so you can understand why the BBC were keen to cover the story. During the report, McGovern claimed that cheese is … Continue reading 

 

Monday, July 28

The Blasphemous Bicycler:

Adam: Corn Explosion

 

Sunday, July 27

The Blasphemous Bicycler:

Adam: Farm Animals

 

Friday, July 25

tom m wilson:

Tom Wilson: The Paleo Path on Rottnest

Posted on the 25th of July at about 8AM.

I’ve just come back from Rottnest island, after staying in a little cottage in a small bay right on the water.  The cottage looks out over an arcing rocky limestone headland, and as a cold front moved over us, the headland protected us like a encircling arm from the winds and waves.  Our first night [...]

 

Thursday, July 24

Cory Doctorow's craphound.com:

Cory Doctorow: Disrupting elections with Kickstarter-like campaigning apps

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

The UK parliamentary farce over #DRIP showed us that, more than any other industry, the political machine is in dire need of disruption. In my latest Guardian column, How the Kickstarter model could transform UK elections, I suggest that the way that minority politicians could overcome the collective action deadlock of voters being unwilling to … [Read more]

 

Wednesday, July 23

The Blasphemous Bicycler:

Adam: Susquehanna Sunset

 

Monday, July 21

The Open Library Blog:

Jessamyn West: Open library’s been doing that the whole time…. for free

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

Amazon’s “Kindle Unlimited” announcement has been helping raise awareness of Open Library. Last week, Amazon informed us that for ten dollars per month, Kindle users can have unlimited access to over six hundred thousand books in its library. But it shouldn’t cost a thing to borrow a book, Amazon, you foul, horrible, profiteering enemies of […]

 

Sunday, July 20

physika:

johnmiedema: What makes a system cognitive? Conclusion to the Whatson iteration.

Posted on the 20th of July at about 3AM.

In March I asked the question, Can I build Watson Jr in my basement? I performed two iterations of a basement build that I dubbed “What, son?” or “Whatson” for short. In a first iteration, I recreated the Question-Answer system outlined in Taming Text by Ingersoll, Mortin and Farris. In a second iteration, I did deep ...

 

Saturday, July 19

physika:

johnmiedema: QA Architecture III: Enrichment and Answer. Playing the game with confidence.

Posted on the 19th of July at about 7PM.

The Question and Answer Architecture of Whatson can be divided into three major processes. Previous posts covered I – Initialization and II – Natural Language Processing and Queries. This post describes the third and final process, III – Enrichment and Answer as shown in the chart to the right. Confidence. At this point, candidate results have been ...

 

Friday, July 18

Cory Doctorow's craphound.com:

Cory Doctorow: Documentary on the making of the Homeland audiobook with Wil Wheaton

Posted on the 18th of July at about 1PM.

Skyboat Media produced this great little documentary about Wil Wheaton's recording sessions for the audiobook of my novel Homeland, in which he had to read out Pi for four minutes straight, read out dialog in which the narrator had a fanboy moment about meeting Wil Wheaton, and many other fun moments.

 

Thursday, July 17

Coding Horror:

Jeff Atwood: The "Just In Time" Theory of User Behavior

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

I've long believed that the design of your software has a profound impact on how users behave within your software. But there are two sides to this story:

  • Encouraging the "right" things by making those things intentionally easy to do.

  • Discouraging the "wrong" things by making those things intentionally difficult, complex, and awkward to do.

Whether the software is doing this intentionally, or completely accidentally, it's a fact of life: the path of least resistance is everyone's best friend. Learn to master this path, or others will master it for you.

For proof, consider Dan Ariely's new and amazing book, The (Honest) Truth About Dishonesty: How We Lie to Everyone – Especially Ourselves.

Indeed, let's be honest: we all lie, all the time. Not because we're bad people, mind you, but because we have to regularly lie to ourselves as a survival mechanism. You think we should be completely honest all the time? Yeah. Good luck with that.

But these healthy little white lies we learn to tell ourselves have a darker side. Have you ever heard this old adage?

One day, Peter locked himself out of his house. After a spell, the locksmith pulled up in his truck and picked the lock in about a minute.

“I was amazed at how quickly and easily this guy was able to open the door,” Peter said. The locksmith told him that locks are on doors only to keep honest people honest. One percent of people will always be honest and never steal. Another 1% will always be dishonest and always try to pick your lock and steal your television; locks won’t do much to protect you from the hardened thieves, who can get into your house if they really want to.

The purpose of locks, the locksmith said, is to protect you from the 98% of mostly honest people who might be tempted to try your door if it had no lock.

I had heard this expressed less optimistically before as

10% of people will never steal, 10% of people will always steal, and for everyone else … it depends.

The "it depends" part is crucial to understanding human nature, and that's what Ariely spends most of the book examining in various tests. If for most people, honesty depends, what exactly does it depend on? The experiments Ariely conducts prove again and again that most people will consistently and reliably cheat "just a little", to the extent that they can still consider themselves honest people. The gating factor isn't laws, penalties, or ethics. Surprisingly, that stuff has virtually no effect on behavior. What does, though, is whether they can personally still feel like they are honest people.

This is because they don't even consider it cheating – they're just taking a little extra, giving themselves a tiny break, enjoying a minor boost, because well, haven't they been working extra specially hard lately and earned it? Don't they of all people deserve something nice once in a while, and who would even miss this tiny amount? There's so much!

These little white lies are the path of least resistance. They are everywhere. If laws don't work, if ethics classes don't work, if severe penalties don't work, how do you encourage people to behave in a way that "feels" honest that is actually, you know, honest? Feelings are some pretty squishy stuff.

It's easier than you think.

My colleagues and I ran an experiment at the University of California, Los Angeles. We took a group of 450 participants, split them into two groups and set them loose on our usual matrix task. We asked half of them to recall the Ten Commandments and the other half to recall 10 books that they had read in high school.

Among the group who recalled the 10 books, we saw the typical widespread but moderate cheating. But in the group that was asked to recall the Ten Commandments, we observed no cheating whatsoever. We reran the experiment, reminding students of their schools' honor codes instead of the Ten Commandments, and we got the same result. We even reran the experiment on a group of self-declared atheists, asking them to swear on a Bible, and got the same no-cheating results yet again.

That's the good news: a simple reminder at the time of the temptation is usually all it takes for people to suddenly "remember" their honesty.

The bad news is Clippy was right.

In my experience, nobody reads manuals, nobody reads FAQs, and nobody reads tutorials. I am exaggerating a little here for effect, of course. Some A+ students will go out of their way to read these things. That's how they became A+ students, by naturally going the extra mile, and generally being the kind of users who teach themselves perfectly well without needing special resources to get there. When I say "nobody" I mean the vast overwhelming massive majority of people you would really, really want to read things like that. People who don't have the time or inclination to expend any effort at all other than the absolute minimum required, people who are most definitely not going to go the extra mile.

In other words, the whole world.

So how do you help people who, like us, just never seem to have the time to figure this stuff out becase they're, like, suuuuper busy and stuff?

You do it by showing them …

  • the minumum helpful reminder
  • at exactly the right time

This is what I've called the "Just In Time" theory of user behavior for years. Sure, FAQs and tutorials and help centers are great and all, but who has the time for that? We're all perpetual intermediates here, at best.

The closer you can get your software to practical, useful "Just In Time" reminders, the better you can help the users who are most in need. Not the A+ students who already read the FAQ, and studied the help center intently, but those users who never read anything. And now, thanks to Dan Ariely, I have the science to back this up. Even something as simple as putting your name on the top of a form to report auto insurance milage, rather than the bottom, resulted in a mysterious 10% increase in average miles reported. Having that little reminder right at the start that hey, your name is here on this form, inspired additional honesty. It works.

Did we use this technique on Stack Overflow and Stack Exchange? Indeed we did. Do I use this technique on Discourse? You bet, in even more places, because this is social discussion, not technical Q&A. We are rather big on civility, so we like to remind people when they post on Discourse they aren't talking to a computer or a robot, but a real person, a lot like you.

When's the natural time to remind someone of this? Not when they sign up, not when they're reading, but at the very moment they begin typing their first words in their first post. This is the moment of temptation when you might be super mega convinced that someone is Wrong on the Internet. So we put up a gentle little reminder Just In Time, right above where they are typing:

Then hopefully, as Dan Ariely showed us with honesty, this little reminder will tap into people's natural reserves of friendliness and civility, so cooler heads will prevail – and a few people are inspired to get along a little better than they did yesterday. Just because you're on the Internet doesn't mean you need to be yelling at folks 24/7.

We use this same technique a bunch of other places: if you are posting a lot but haven't set an avatar, if you are adding a new post to a particularly old conversation, if you are replying a bunch of times in the same topic, and so forth. Wherever we feel a gentle nudge might help, at the exact time the behavior is occurring.

It's important to understand that we use these reminders in Discourse not because we believe people are dumb; quite the contrary, we use them because we believe people are smart, civil, and interesting. Turns out everyone just needs to be reminded of that once in a while for it to continue to be true.

[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.

physika:

johnmiedema: QA Architecture II: Natural Language Processing and Queries. Context-Focus pairing of the question and results.

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

The Question and Answer Architecture of Whatson can be divided into three major processes: I – Initialization, II – Natural Language Processing and Queries, and III – Enrichment and Answer. This post describes the second process, as shown in the chart: Context for the Question. There are two pairs of green Context and Focus boxes. ...

 

Monday, July 14

physika:

johnmiedema: QA Architecture: Initialization. The solution is in the question.

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

The Question and Answer Architecture of Whatson can be divided into three major processes. The first process may be called Initialization, and is shown in the chart to the left. It involves the following steps: Accept the Question. A user asks a question, “Who is the author of The Call of the Wild?” Everything flows ...

 

Sunday, July 13

Cory Doctorow's craphound.com:

Cory Doctorow: Homeland wins the Prometheus award!

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

I am delighted and honored to announce that my novel Homeland has won the Prometheus Award for best novel, tying with Ramez Naam's excellent novel Nexus. I am triply honored because this is the third Prometheus I've won -- the other two being for Little Brother and Pirate Cinema. My sincere thanks to the Libertarian … [Read more]

physika:

johnmiedema: Hammering out the Question and Answer Architecture. The big picture.

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

I settled on the Tankless option for the overall architecture — see diagram and discussion. In that architecture, the Question and Answer piece was one major component. I need to hammer out the details of that component because it has the most complexity, naturally. The following is the complete picture of the Question and Answer ...

 

Saturday, July 12

PEAR Blog:

cweiske: PEAR 1.9.5 is out

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

The PEAR installer version 1.9.5 has been released today. The new version – three years after the last stable 1.9.4 and 2 weeks after the preview – is a bugfix only release. 13 bugs have been fixed. Among them are … Continue reading

 

Friday, July 11

physika:

johnmiedema: I met Watson in Austin Texas. And Watson’s female alter-ego, Willow.

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

I visited Austin Texas this week for training on the latest release (v3.5) of IBM Watson Content Analytics. Had a tour of Watson Lab. Was introduced to Watson’s lesser known female alter-ego, known on that day as Willow.

 

Thursday, July 10

Cory Doctorow's craphound.com:

Cory Doctorow: How to save the CBC, making it a global online participatory leader

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

In my latest Guardian column, What Canada's national public broadcaster could learn from the BBC, I look at the punishing cuts to the CBC, and how a shelved (but visionary) BBC plan to field a "creative archive" of shareable and remixable content could help the network lead the country into a networked, participatory future. The … [Read more]

The Blasphemous Bicycler:

Adam: I am the Mapillary King of Pennsylvania!

 

Tuesday, July 8

Cory Doctorow's craphound.com:

Cory Doctorow: OECD predicts collapse of capitalism

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

The Organization for Economic Cooperation and Development -- a pro-establishment, rock-ribbed bastion of pro-market thinking -- has released a report predicting a collapse in global economic growth rates, a rise in feudal wealth disparity, collapsing tax revenue and huge, migrating bands of migrant laborers roaming from country to country, seeking crumbs of work. They proscribe … [Read more]

booktwo.org:

James Bridle: Homo Sacer

Posted on the 8th of July at about 9AM.

Changelogs, holograms, and who gets killed.

 

Sunday, July 6

physika:

johnmiedema: The “Tank-less” architecture is better suited to dynamic adaptation, to learning

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

Quick recap. The Hot Water Tank architecture for a Question-Answer system saves external content in a massive internal index along with Natural Language Processing (NLP) tags. The alternative Tank-less architecture does not have an index. It looks up external content on the fly, using a lightweight data source catalog. NLP is also performed on the fly. Here’s a ...

 

Friday, July 4

booktwo.org:

James Bridle: On the Rainbow Plane

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

On seeing through satellites, and catching them out.

 

Tuesday, July 1

The Open Library Blog:

Jessamyn West: Open Library Scheduled Hardware Maintenance (completed)

Posted on the 1st of July at about 3PM.

Open Library will be down from 5:00PM to 7:00PM SF time (PDT, UTC/GMT -7 hours) on July 8, 2014 due to scheduled hardware maintenance. We’ll post updates here and on @openlibrary twitter. Thank you for your cooperation. UPDATE: 5:50PM PDT – the hardware maintenance is complete and openlibrary.org is back online.  

 

Monday, June 30

Cory Doctorow's craphound.com:

Cory Doctorow: Coming to SLC and PDX

Posted on the 30th of June at about 10AM.

I'm heading to Salt Lake City this week for Westercon, followed by an appearance at the SLC Library on Monday. Next week, I'll be in PDX for three library gigs: Beaverton, Tigard, and Hillsboro. See you there!

 

Sunday, June 29

booktwo.org:

James Bridle: Spectacular Sports Visualisations

Posted on the 29th of June at about 9AM.

On football, machine vision, sports and surveillance.

 

Friday, June 27

The Open Library Blog:

Jessamyn West: The Internet’s Own Boy premieres today

Posted on the 27th of June at about 9PM.

The Internet’s Own Boy, the documentary about Aaron Swartz, premieres online and in theaters today. You can watch it on the Internet Archive. From the film’s website The Internet’s Own Boy follows the story of programming prodigy and information activist Aaron Swartz. From Swartz’s help in the development of the basic internet protocol RSS to […]

PEAR Blog:

cweiske: PEAR 1.9.5dev1 released

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

I’ve just released a preview of the upcoming PEAR installer version 1.9.5: PEAR 1.9.5dev1. Version 1.9.5 will be the first release of the PEAR installer since 3 years, and thus needs quite some testing before declaring it stable. Instead of … Continue reading

 

Thursday, June 19

FSF News:

US Supreme Court makes the right decision to nix Alice Corp. patent, but more work needed to end software patents for good

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

BOSTON, Massachusetts, USA -- Thursday, June 19, 2014 -- Today the United States Supreme Court unanimously ruled a prominent software patent invalid in the case of Alice Corp. v. CLS Bank, saying that implementing an abstract idea on a computer does not make that idea patent-eligible.

 

Wednesday, June 18

The Blasphemous Bicycler:

Adam: Sauerkraut

 

Monday, June 16

Linode Blog:

caker: 11th Linode Birthday / $10 Linode plan

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

Linode opened its doors 11 years ago today, offering virtual servers with great service, and ultimately pioneering a new industry. It’s hard to believe it’s been that long. It’s been fun to reminisce through the old forum posts from those formative years like this one and this one. Many of the old posts echo the same sentiments […]

 

Thursday, June 12

The Blasphemous Bicycler:

Adam: Tuscarora in Tuscarora Part 2

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

As part of my continuing quest to hike all 798 miles of the Pennsylvania State Forest Hiking Trails System, I drove out to the Tuscarora State Forest to pick up where I left off on the Tuscarora Trail. My plan was to hike from Cowpens Road to Fenton Knob, and then turn around and hike […]

Linode Blog:

Stormy Mayersky: Summer Conferences 2014

Posted on the 12th of June at about 1PM.

Linode will be exhibiting at several upcoming conferences this summer. Stop by our booth, chat up our crew and learn all about what’s new at Linode. Check out the full list below of where our team will be and we’ll see you there!   SouthEast LinuxFest | Charlotte, NC | June 21-23 Started in 2009, […]

 

Sunday, June 8

The Blasphemous Bicycler:

Adam: Wildflowers on the AT

 

Thursday, June 5

FSF News:

To help Reset the Net, FSF launches guide to email protection

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

BOSTON, Massachusetts, USA -- Thursday, June 5th, 2014 -- The Free Software Foundation (FSF) today released Email Self-Defense, a how-to guide for setting up and using email encryption.

 

Monday, June 2

Open Maps:

Chris Hill: Local radio

Posted on the 2nd of June at about 10AM.

Just got a plug for OSM on BBC Radio Humberside. Maybe there's scope for more info there ...

 

Wednesday, May 21

FSF News:

Tehnoetic wireless USB adapter now FSF-certified to respect your freedom

Posted on the 21st of May at about 9PM.

BOSTON, Massachusetts, USA -- Wednesday, May 21, 2014 -- The Free Software Foundation (FSF) today awarded Respects Your Freedom (RYF) certification to the Tehnoetic TET-N150 wireless USB adapter.

 

Sunday, May 18

The Open Library Blog:

Jessamyn West: Resolved: Open Library unexpected downtime

Posted on the 18th of May at about 12AM.

Update: This should now be resolved. 6 pm PDT. Adobe had an unprecedented license server outage for most of the day on May 15th (PDT). Users have experienced issues checking books out of our lending library, mainly getting various Adobe errors. We are still trying to resolve the issues resulting from Adobe’s server outage and […]

 

Friday, May 16

Coding Horror:

Jeff Atwood: The Infinite Space Between Words

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

Computer performance is a bit of a shell game. You're always waiting for one of four things:

  • Disk
  • CPU
  • Memory
  • Network

But which one? How long will you wait? And what will you do while you're waiting?

Did you see the movie "Her"? If not, you should. It's great. One of my favorite scenes is the AI describing just how difficult it becomes to communicate with humans:

It's like I'm reading a book… and it's a book I deeply love. But I'm reading it slowly now. So the words are really far apart and the spaces between the words are almost infinite. I can still feel you… and the words of our story… but it's in this endless space between the words that I'm finding myself now. It's a place that's not of the physical world. It's where everything else is that I didn't even know existed. I love you so much. But this is where I am now. And this who I am now. And I need you to let me go. As much as I want to, I can't live your book any more.

I have some serious reservations about the work environment pictured in Her where everyone's spending all day creepily whispering to their computers, but there is deep fundamental truth in that one pivotal scene. That infinite space "between" what we humans feel as time is where computers spend all their time. It's an entirely different timescale.

The book Systems Performance: Enterprise and the Cloud has a great table that illustrates just how enormous these time differentials are. Just translate computer time into arbitrary seconds:

1 CPU cycle0.3 ns1 s
Level 1 cache access0.9 ns3 s
Level 2 cache access2.8 ns9 s
Level 3 cache access12.9 ns43 s
Main memory access120 ns6 min
Solid-state disk I/O50-150 μs2-6 days
Rotational disk I/O1-10 ms1-12 months
Internet: SF to NYC40 ms4 years
Internet: SF to UK81 ms8 years
Internet: SF to Australia183 ms19 years
OS virtualization reboot4 s423 years
SCSI command time-out30 s3000 years
Hardware virtualization reboot40 s4000 years
Physical system reboot5 m32 millenia

The above Internet times are kind of optimistic. If you look at the AT&T real time US internet latency chart, the time from SF to NYC is more like 70ms. So I'd double the Internet numbers in that chart.

Latency is one thing, but it's also worth considering the cost of that bandwidth.

Speaking of the late, great Jim Gray, he also had an interesting way of explaining this. If the CPU registers are how long it takes you to fetch data from your brain, then going to disk is the equivalent of fetching data from Pluto.

He was probably referring to traditional spinning rust hard drives, so let's adjust that extreme endpoint for today:

  • Distance to Pluto: 4.67 billion miles.
  • Latest fastest spinning HDD performance (49.7) versus latest fastest PCI Express SSD (506.8). That's an improvement of 10x.
  • New distance: 467 million miles.
  • Distance to Jupiter: 500 million miles.

So instead of travelling to Pluto to get our data from disk in 1999, today we only need to travel to … Jupiter.

That's disk performance over the last decade. How much faster did CPUs, memory, and networks get in the same time frame? Would a 10x or 100x improvement really make a dent in these vast infinite spaces in time that computers deal with?

To computers, we humans work on a completely different time scale, practically geologic time. Which is completely mind-bending. The faster computers get, the bigger this time disparity grows.

[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.

 

Thursday, May 15

CLARE DAVIES:

Clare Davies: Interior Scene Abbotsford Sculpture Gallery 117 Vere Street Abbotsford Residency  – April/May 2014 Showing  – Friday 9th ̵

Posted on the 15th of May at about 9AM.

Interior Scene Abbotsford Sculpture Gallery 117 Vere Street Abbotsford Residency  – April/May 2014 Showing  – Friday 9th – Sunday 17th May 12-5pm  

 

Wednesday, May 14

FSF News:

FSF condemns partnership between Mozilla and Adobe to support Digital Restrictions Management

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

BOSTON, Massachusetts, USA — Wednesday, May 14th, 2014 — In response to Mozilla's announcement that it is reluctantly adopting DRM in its Firefox Web browser, Free Software Foundation executive director John Sullivan made the following statement:

 

Tuesday, May 6

FSF News:

Global community rallies for International Day Against DRM

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

BOSTON, Massachusetts, USA -- Tuesday, May 6th, 2014 -- Today a wide variety of community groups, activist organizations and businesses are taking part in the 8th International Day Against DRM (DayAgainstDRM.org). The groups are united in envisioning a world without Digital Restrictions Management, technology that places arbitrary restrictions on what people can do with digital media, often by spying on them. As the largest anti-DRM event in the world, the International Day Against DRM is an important counterpoint to the pro-DRM message broadcast by powerful media and software companies. The Day is coordinated by Defective by Design (DefectiveByDesign.org), the anti-DRM campaign of the Free Software Foundation.

 

Friday, May 2

FSF News:

FSF seeks full-time senior GNU/Linux systems administrator

Posted on the 2nd of May at about 5PM.

The Free Software Foundation (FSF), a Boston-based 501(c)(3) charity with a worldwide mission to protect freedoms critical to the computer-using public, seeks a full-time senior systems administrator.

 

Friday, April 25

Coding Horror:

Jeff Atwood: What Can Men Do?

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

(The title references Shanley Kane's post by the same name. This post represents my views on what men can do.)

It's no secret that programming is an incredibly male dominated field.

  • Figures vary, but somewhere from 20% to 29% of currently working programmers are female.

  • Less than 12% of Computer Science bachelor's degrees were awarded to women at US PhD-granting institutions in 2010.

So, on average, only about 1 out of every 5 working programmers you'll encounter will be female. You could say technology has a man problem.

In an earlier post I noted that many software developers I've known have traits of Aspergers. Aspergers is a spectrum disorder; the more severe the symptoms, the closer it is to autism. And did you know that autism skews heavily towards males at a 4:1 ratio?

Interesting. I might even go so far as to say some of those traits are what makes one good at programming.

That's the way it currently is. But is that the way it should be? I remember noticing that the workforce of the maternity ward at the hospital where our children were born was incredibly female dominated. Is there something inherently wrong with professions that naturally skew heavily male or female?

Consider this list of the most male and female dominated occupations in the Netherlands from 2004. It notes that:

In higher and academic level positions, men and women are more often represented equally. This pattern of employment has hardly changed over the last years.

Is programming a higher and academic level occupation? I'm not so sure, given that I've compared programmers to auto mechanics and plumbers in the past. And you'll notice squarely where those occupations are on the above graphs. There's nothing wrong with being an auto mechanic or a plumber (or a programmer, for that matter), but is there anything about those particular professions that demands, in the name of social justice, that there must be 50% male plumbers and 50% female plumbers?

For a counterpoint, here's a blog post from Sara J. Chipps. When I've e-mailed her in the past with my stupid questions on topics like this, she tries her best to educate me with empathy and compassion. That's why I love her.

This is an excerpt from a blog post she wrote in 2012 which answered my question:

Many people I meet ask me a variant of the question “I understand we want more women in technology, but why?” It’s a great question, and not at all something we should be offended by. Often men are afraid to ask questions like this for fear there will be backlash, and I think that fear can lead to stifling an important conversation.

Frankly, the Internet is thriving without women building it, why should that change? Three reasons:

1) Diversity leads to better products and results

As illustrated in this Cornell study along with many others, diversity improves performance, morale, and end product. More women engineers means building a better internet, and improving software that can service society as a whole. Building a better Internet is why I started doing software development in the first place. I think we can all agree this is of utmost importance.

2) The Internet is the largest recording of human history ever built

Right now the architecture for that platform is being built disproportionally by white and asian males. You’ve heard the phrase “he who writes history makes history”? We don’t yet know how this will affect future generations.

How can architecture be decidedly male? I like to refer to the anecdotal story of the Apple Store glass stairs. While visually appealing, there was one unforeseen consequence to their design: the large groups of strange men that spend hours each day standing under them looking up. As a woman, the first time I saw them I thought “thank god I’m not wearing a skirt today.” Such considerations were not taken in designing these stairs. I think it’s probable, if not easily predictable, that in a few years we will see such holes in the design of the web.

3) Women in 10 years need to be able to provide for themselves, and their families

Now, this reason is purely selfish on the part of women, but we all have mothers, and sisters, so I hope we can relate.

This year there are 6 million information technology jobs in the US, up from 628,600 in 1987 and 1.34 million in 1997. Right now jobs in technology have half the unemployment rate of the rest of the workforce. There is no sign this will change anytime soon. If growth continues at the current rate, it will not be long until women will not be able to sustain themselves if not involved in a technical field.

We have to start educating young girls about this now, or they may ultimately become the poorest demographic among us.

These are good reasons. I'm particularly fond of #1. Diversity in social perspectives is hugely valuable when building social software intended for, y'know, human beings of all genders, like Discourse and Stack Exchange. Also, I get really, really tired of all the aggressive mansplaining in software development. Yes, even my own. Sometimes it would be good to get some ladysplaining all mixed up in there for variety.

I suppose any effort to encourage more women to become software engineers should ideally start in childhood.

boy toys vs girl toys

Dolls? Pshaw. In our household, every child, male or female, is issued a regulation iPad at birth. You know, the best, most complex toy there is: a computer. And, shocker, I'm kind of weird about it – I religiously refer to it as a computer, never as an iPad. Never. Not once. Not gonna happen in my house. Branding is for marketing weasels. So the twin girls will run around, frantically calling out for their so-called "'puter". It puts a grin on my face every time. And when anything isn't here, Maisie has gotten in the habit of saying "dada chargin'". Where's the milk, Maisie? "dada chargin'".

But not everyone has the luxury of spawning their own processes and starting from boot. (You really should, though. It will kick your ass.)

What can you do?

If you're reading this, there's about an 80% chance that you're a man. So after you give me the secret man club handshake, let's talk about what we men can do, right now, today, to make programming a more welcoming profession for women.

  1. Abide by the Hacker School Rules

    Let's start with the freaking brilliant Hacker School rules. This cuts directly to the unfortunate but oh-so-common Aspergers tendencies in programmers I mentioned earlier:

    • No feigning surprise. "I can't believe you don't know what the stack is!"
    • No well-actuallys. "Well, actually, you can do that without a regular expression."
    • No back seat driving. Don't intermittently lob advice across the room.
    • No subtle sexism via public debate.

    Does any of this sound familiar? Because it should. Oh God does this sound familar. Just read the whole set of Hacker School guidelines and recognize your natural tendencies, and try to rein them in. That's all I'm proposing.

    Well, actually, I'll be proposing a few more things.

  2. Really listen. What? I SAID LISTEN.

    Remember this scene in Fight Club?

    This is why I loved the support groups so much, if people thought you were dying, they gave you their full attention. If this might be the last time they saw you, they really saw you. Everything else about their checkbook balance and radio songs and messy hair went out the window. You had their full attention. People listened instead of just waiting for their turn to speak. And when they spoke, they weren't just telling you a story. When the two of you talked, you were building something, and afterward you were both different than before.

    Guilty as charged.

    My wife is a scientist, and she complains about this happening a lot at her work. I don't even think this one is about sexism, it's about basic respect. What does respect mean? Well, a bunch of things, but let's start with openly listening to people and giving them our full attention when they talk to us – rather than just waiting for our turn to speak.

    Let's shut up and listen quietly with the same thoughtfulness that we wish others would listen to us. We'll get our turn. We always do, don't we?

  3. If you see bad behavior from other men, speak up.

    It's not other people's job to make sure that everyone enjoys a safe, respectful, civil environment at work and online.

    It's my job. It's your job. It is our job.

    There is no mythical men's club where it is OK to be a jerk to women. If you see any behavior that gives you pause, behavior that makes you wonder "is that OK?", behavior that you'd be uncomfortable with directed toward your sister, your wife, your daughter – speak up. Honestly, as one man to another. And if that doesn't work for whatever reason, escalate.

  4. Don't attempt romantic relationships at work.

    Do you run a company? Institute a no-dating rule as policy. Yeah, I know, you can't truly enforce it, but it should still be the official company policy. And whether the place where you work has this policy or not, you should have it on a personal level.

    I'm sorry I have to be that guy who dumps on true love, but let's be honest: the odds of any random office romance working out are pretty slim. And when it doesn't, how will you handle showing up to work every day and seeing this person? Will there be Capulet vs Montague drama? The women usually get the rough end of this deal, too, because men aren't good at handling the inevitable rejection.

    Just don't do it. Have all the romantic relationships you want outside work, but do not bring it to work.

  5. No drinking at work events.

    I think it is very, very unwise for companies to have a culture associated with drinking and the lowered inhibitions that come with drinking. I've heard some terrifyingly awful stories that I don't even want to link to here. Men, plus women, plus alcohol is a great recipe for college. That's about all I remember from college, in fact. But as a safe work environment for women? Not so much.

    If you want to drink, be my guest. Drink. You're a grown up. I'm not the boss of you. But don't drink in a situation or event that is officially connected with work in any way. That should absolutely be your personal and company policy – no exceptions.

There you have it. Five relatively simple things you, I, and all other working male programmers can do to help encourage a better environment for men and women in software plumbing. I mean engineering.

So let's get to it.

(I haven't listed anything here about mentoring. That's because I am an awful mentor. But please do feel free to mention good resources, like Girl Develop It, that encourage mentoring of female software engineers by people that are actually good at it, in the comments.)

[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!

 

Monday, April 21

JAMES WARD: I LIKE BORING THINGS:

James Ward: BERLIN

 

Thursday, April 17

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 […]

 

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 gdal2tiles.py 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. gdal2tiles.py -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.

Coding Horror:

Jeff Atwood: Three Things

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

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!

 

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

JonBlog:

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:

admin: 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 […]

 

Saturday, April 5

JonBlog:

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 […]

 

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 […]

 

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 - openlibrary.org is back online now.

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 […]

 

Sunday, March 30

JAMES WARD: I LIKE BORING THINGS:

James Ward: CHAS AND DAVE

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

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

 

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 - openlibrary.org is back online now.

 

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.

 

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!

discourse

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 discourse.codinghorror.com

  • 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: I LIKE BORING THINGS:

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.

 

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

JAMES WARD: I LIKE BORING THINGS:

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

JonBlog:

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: I LIKE BORING THINGS:

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

booktwo.org:

James Bridle: #Rorschcam NYC

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

A hello present to New York City

 

Thursday, March 6

JAMES WARD: I LIKE BORING THINGS:

James Ward: A CONVERSATION

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.

Love.

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.

This-website-has-an-ipad-app

XKCD helpfully translates:

Xkcd-download-our-app

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.

Walledgarden-cover

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.

Geek-and-poke-pigs-free

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 poems about passing moments on train platforms, [...]

 

Friday, February 21

Linode Blog:

admin: 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 […]

 

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.

Civilized-discourse-construction-kit-inc

(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.

I-love-it-when-a-plan-comes-wait

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.

Discourse-character-count-1

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.

Discourse-character-count-2

Discourse-character-count-3

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.

Discourse-character-count-4

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.

Oculus-rift-crystal-cove

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 [...]

 

Wednesday, February 12

JAMES WARD: I LIKE BORING THINGS:

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.

 

Sunday, February 9

JAMES WARD: I LIKE BORING THINGS:

James Ward: WILLIAM, IT WAS REALLY SOMETHING

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 

 

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.

 

Sunday, December 29

JonBlog:

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 […]

 

Wednesday, December 18

booktwo.org:

James Bridle: Planespotting

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

Watching the deportation flights.

 

Sunday, December 15

JonBlog:

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

booktwo.org:

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

JonBlog:

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

booktwo.org:

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

booktwo.org:

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);
error_reporting(E_ALL);

/*
 * 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'])) {
    $bbox=$_GET['bbox'];
} else {
    // invalid request
    $ajxres=array();
    $ajxres['resp']=4;
    $ajxres['dberror']=0;
    $ajxres['msg']='missing bounding box';
    sendajax($ajxres);
}
// split the bbox into it's parts
list($left,$bottom,$right,$top)=explode(",",$bbox);

// open the database
try {
    $db = new PDO('mysql:host=localhost;dbname='.$dbname.';charset=utf8', $dbuser, $dbpass);
} catch(PDOException $e) {
    // send the PDOException message
    $ajxres=array();
    $ajxres['resp']=40;
    $ajxres['dberror']=$e->getCode();
    $ajxres['msg']=$e->getMessage();
    sendajax($ajxres);
}

//$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);
//$stmt->execute();


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);
    $stmt->execute();
} 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
$ajxres['type']='FeatureCollection';

// go through the list adding each one to the array to be returned   
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $lat=$row['lat'];
    $lon=$row['lon'];
    $prop=array();
    $prop['plaqueid']=$row['plaqueid'];
    $prop['plaquedesc']=$row['plaquedesc'];
    $prop['colour']=$row['colour'];
    $prop['imageid']=$row['imageid'];
    $f=array();
    $geom=array();
    $coords=array();
   
    $geom['type']='Point';
    $coords[0]=floatval($lon);
    $coords[1]=floatval($lat);
   
    $geom['coordinates']=$coords;
    $f['type']='Feature';
    $f['geometry']=$geom;
    $f['properties']=$prop;

    $features[]=$f;
   
}
   
// add the features array to the end of the ajxres array
$ajxres['features']=$features;
// 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);
    exit($encoded);
}
?>



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();
    $.ajax({
        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) {
    lyrPlq.clearLayers();
    lyrPlq.addData(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.

    blueicon=L.icon({
        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
    });
    greenicon=L.icon({
        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
    });
    whiteicon=L.icon({
        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 (feature.properties.colour=='green') {
        plq=L.marker(ll, {icon: greenicon});
    }
    else if (feature.properties.colour=='white') {
        plq=L.marker(ll, {icon: whiteicon});
    }
    else {
        plq=L.marker(ll, {icon: blueicon});
    }
    plq.bindPopup(feature.properties.plaquedesc);
    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: http://github.com/chillly/plaques

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 
$(document).ready(init);

function init() { 
  // map stuff 
  // base layer 
  var osmUrl='http://{s}.tile.openstreetmap.org/{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 (feature.properties && feature.properties.plaquedesc) {
    layer.bindPopup(feature.properties.plaquedesc);
  } 
}

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:

    $(document).ready(init);

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}.tile.openstreetmap.org/{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

booktwo.org:

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

 

Thursday, October 31

booktwo.org:

James Bridle: #OccupyTheCloud

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

An installation, and a call to action.

 

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

 

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 […]

 

Monday, September 2

CLARE DAVIES:

Clare Davies: BRIGHT LIGHTS SMALL CITY 20 September – 12 October 2013 Opening 19 September 6pm Artist Talks 21 September 3pm + 5 October 3pm Buratti

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

BRIGHT LIGHTS SMALL CITY 20 September – 12 October 2013 Opening 19 September 6pm Artist Talks 21 September 3pm + 5 October 3pm Buratti Fine Art North Fremantle WA AMOK ISLAND, HANNAH JONES, CLAIRE BUSHBY, COURTNEY ILLFIELD, CLARE DAVIES CHERISH MARRINGTON, W J FERRIER, MIMI CHO, CLAIRE MARTIN, LISA KYLE, KIMBERLEY PACE, CHLOE TINE, KATE […]

 

Sunday, August 11

stonewaves.net:

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.

 

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 […]

 

Sunday, July 28

JonBlog:

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, […]

 

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 […]

 

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.

 

Tuesday, June 18

Release notes from semver:

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

 

Sunday, June 16

stonewaves.net:

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: openlibrary.org is back online.

 

Sunday, March 17

CLARE DAVIES:

Clare Davies:                   OPPOSING FORCES 24 April – 12 May 2013 opening 6 – 8pm,  24 April c3 Con

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 www.c3artspace.blogspot.com

 

Saturday, February 2

CLARE DAVIES:

Clare Davies: What it means to be human Penny Bovell Clare Davies Isabel Davies Domenico de Clario Tom Gibbons Bevan Honey Ben jones Jeremy Kirwan-Ward Ak

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 [...]

 

Monday, October 8

stonewaves.net:

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, 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

stonewaves.net:

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

stonewaves.net:

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:

Clare Davies: Window 24HR Art – Northern Territory Centre for Contemporary Art Darwin NT 0801 – AUSTRALIA Vimy Lane, Parap Shopping Village te

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 http://www.24hrart.org.au/

 

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

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:

Clare Davies: The Conservatorium Co-Curators Renae Coles & Anna Dunnill Jan 27 – Feb 5, 2012 Paper Mountain 267A William St Northbridge, upsta

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                 http://papermountaincollective.wordpress.com/ http://theconservatoriumproject.com/

 

Friday, November 25

Release notes from semver:

mojombo: v1.0.0-rc.1

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

Move pre-release and build sections to last position.

 

Thursday, November 24

stonewaves.net:

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

 

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 pear.php.net 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

 

Thursday, September 15

stonewaves.net:

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:

mojombo: v1.0.0

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

Make patch/minor version resetting explicit.

 

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

stonewaves.net:

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:

mojombo: v1.0.0-beta

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

Fix link to GitHub project.

 

Thursday, May 5

stonewaves.net:

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:

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

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:

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

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, 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:

Clare Davies: Impressions 2010 limited edition prints by contemporary artists 6-8pm Friday 3 December 2010 – 12 February 2011 AUSTRALIAN PRINT WORKS

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, rsync.net 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 rsync.net 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:

Clare Davies: City of Joondalup Invitation Art Award Survey Ellenbrook Arts February  2011 link here City of Joondalup Invitation Art Award 14 – 30 Oct

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

 

Thursday, February 18

John Kozubik:

John Kozubik: Git and Subversion Support at rsync.net

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

At long last, git is supported at rsync.net.

 

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...)

 

Friday, November 6

John Kozubik:

John Kozubik: Flat Rate Storage Services vs. rsync.net

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

One of the most common pre-sales questions we get at rsync.net 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 rsync.net, 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, […]

 

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.