Sam Wilson's Journal


News From Everywhere

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

Monday, December 22

Technology | The Guardian:

Associated Press in Washington: North Korea suffers internet blackout – reports

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

Connectivity problems not immediately linked to US threats of retribution over Sony Pictures hacking Continue reading...

Technology | The Guardian:

Reuters: Top bankers urged to take cybercrime threat more seriously

Posted on the 22nd of December at about 5PM.

Bank of England policymakers issue warning over cyber criminals who cost the global economy £285bn a year Continue reading...

Technology | The Guardian:

Jack Schofield: Argos enters the mini-tablet market with a £100 Windows 8.1 machine

Posted on the 22nd of December at about 3PM.

If you haven’t finished your Christmas shopping, Argos has joined the rising tide of companies selling Microsoft Windows 8.1 tablets at giveaway prices

Argos took a beating when it launched its first Android-based Bush MyTablet last year. Happily, this year’s Windows 8.1-based version seems to be one of the better models in a growing market. It’s good value at its current £99.99 price, reduced from £129.99. However, it faces stiff competition from similar products from Tesco, Sainsbury’s, Staples and other stores, as well as PC industry stalwarts such as Acer, Asus, HP and Toshiba.

At the start of the year, Windows tablets – Microsoft’s Surface, Dell’s Venue Pro etc – typically cost from £250 to £500 or more. The new wave models run from around £80 to £180, mainly because Intel and Microsoft are desperate to get into the mass market for tablets. Intel has reportedly been selling Atom processors at promotional (loss-making) prices, while Microsoft has made “Windows 8.1 with Bing” available free (as in beer) for smartphones and tablets with screens smaller than 10in.

Continue reading...

Cory Doctorow's

Cory Doctorow: Podcast: Happy Xmas! (guest starring Poesy)

Posted on the 22nd of December at about 2PM.

It's that time again! School is out, but I'm still working, so the kid came to the office with me, just in time to record a new podcast. This year, Poesy performs a stirring rendition of Jingle Bells, with dirty words! MP3

Technology | The Guardian:

Justin McCurry in Tokyo and agencies: South Korean nuclear operator hacked amid cyber-attack fears

Posted on the 22nd of December at about 2PM.

Operator begins two-day exercise after suspected hacker tweets information on KHNP plants and its staff Continue reading...

Technology | The Guardian:

Alex Hern: Bitcoin entrepreneur sentenced to two years in prison

Posted on the 22nd of December at about 1PM.

Charlie Shrem, the former chief executive of BitInstant, will serve jail time for his part in bitcoin sales on the Silk Road black market

Continue reading...

Technology | The Guardian:

Keith Stuart: Nintendo is working on next games console, says Mario creator

Posted on the 22nd of December at about 1PM.

The legendary game designer Shigeru Miyamoto has told press that the company is working on a console to follow the Wii U

Continue reading...

Technology | The Guardian:

Owen Bowcott, legal affairs correspondent: Attempt to use data protection laws to silence Guinea mining critic defeated

Posted on the 22nd of December at about 1PM.

Global Witness not obliged to surrender personal information gathered during investigation into Simandou mine Continue reading...

Technology | The Guardian:

Richard Vinter: John Westcott obituary

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

Pioneer in the field of control engineering Continue reading...

Technology | The Guardian:

Keith Stuart: Chatterbox: Monday

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

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

Technology | The Guardian:

Keith Stuart: Best video games of 2014: the ones that got away

Posted on the 22nd of December at about 11AM.

Our top 25 couldn’t contain all our favourite gaming moments from the year, so here are the hidden gems that almost made the cut

Continue reading...

tom m wilson:

Tom Wilson: River Guidance in Northern Laos

Posted on the 22nd of December at about 3AM.

  On the way down I lay back in the kayak and looked up the valley cliff faces as the kayak span lazily and drifted downstream with the pull of the current. All I could see was wild forest canopy, creepers, epiphytes and vivid, chaotic, lush green life with a background of soaring cliff and [...]


Sunday, December 21

Scripting News:

Who's going to bring NYC together?

Posted on the 21st of December at about 7PM.

I wrote on Friday, before the police murders yesterday, that NYPD and the city are inseparable. It's still true today, no matter what some people may think. We are the same thing. That's why it's so disturbing to see the police openly disrespect the mayor. We self-police in the United States. No matter how they feel, they really can't continue as police if they feel so strongly about the mayor.

We cannot have an independent police force in the city. This is the United States, with a Bill of Rights. We cannot impose constraints on the citizens of the city that would violate the Constitution. The police can protest when they're off-duty. They're Americans too. But when they're on duty they are part of the city as a whole. They have to protect opinions they don't support. They don't get a say in other people's speech. A police force that thinks otherwise is a very dangerous thing.

If they don't respect the mayor, how are they going to treat ordinary citizens?

We need leadership. We elected a leader, and the police must get behind him, as must everyone else in the city. There's really no other way it can work.


Saturday, December 20

Scripting News:

Zuck at 22 was wrong

Posted on the 20th of December at about 6AM.

Mark Zuckerberg at 22: "Young people are just smarter."

My own experience: I did great work when I was in my 20s, 30s, 40s and 50s. The stuff I'm most famous for I did in my 40s. But the best software I've ever done was this week. I think that's pretty much been true all the way through. It all builds.

Some people stop growing. And some people never are that smart, at any age, even in their 20s. If you want to be creative, and you work at it, you don't stop growing.

It never gets easy. Which is one of the reasons I like what I do.

How to make it better

I don't expect the young people who have all the power in the tech industry to wake up one day and want to work with people who are the same age as their parents. That's not likely to happen.

But I do think it's possible to create new distribution systems for technology that don't have to flow through the channels they dominate. With different values that are appropriate to people who aren't trying to conquer the world, only make a modest contribution. That's something you come to appreciate with age. I don't think we'll have a lot of competition from younger technologists.

tom m wilson:

Tom Wilson: Country Living in Laos

Posted on the 20th of December at about 5AM.

  After leaving Luang Prabang, we head further north, up a powerful and fast flowing river called the Nam Ou…   We’ve finally arrived in the agrarian Asia of mountainous Laos. Its a step back hundreds of years into a land of ducks quacking, chicks chirping, dogs playing, children crying and playing, river water mummuring, [...]


Friday, December 19

Scripting News:

Networking has costs

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

Alert: There are spoilers in this piece for two TV series, Battlestar Galactica and Homeland.

Battlestar Galactica takes place after the Cylons and the humans have been at war for some time. An earlier round of war involved computer viruses so as a result there is no net that connects the ships. When they have to turn the net on, in an emergency, they only have so much time before everything is destroyed by the viruses that are still in all their systems. Disconnect the network, no viruses. Re-connect: destruction.

I always thought this was brilliant of the writers of the series, because it's inevitable that we will do this too, if we avoid the total destruction that can come from interconnecting everything.

And that's a context for Sony's experience with The Interview. It'll get worse. We're going to globalize in ways we've never imagined. It won't just be our economic systems that merge (they pretty much already have), so will our legal and social systems. We can't, ultimately, have more freedom than the people of China, Iran or North Korea. Because our systems are networked, as we've seen, we exert control on each other.

Another example, what do you think Zuck is talking about when he meets with the leaders of the China? It has to be about how to impose limits on free speech. Facebook will have to have the same limits as locally-run networks, if the people who run China are to let it in. And once they've implemented those controls for one huge country, they are available to be deployed everywhere. I'm not saying Facebook is bad, it's just inevitable. If they won't do it someone else will.

And don't forget, the US is leading the way in state surveillance. We're already competing with China over who can control speech on the net more effectively.

That's why I laugh when I hear about The Internet of Things. No, if I ever get a pacemaker, I don't want it on the net. Another TV show, Homeland was very prescient in explaining this one. I probably don't want to ride in a car that can be hijacked by a North Korean hacker either.

One more thing, it's a problem that some countries are not fully on the net. That means they can attack without anyone having the ability to retaliate. As if we would even know who to retaliate against.

The big lesson here is that we probably should un-network in some meaningful ways. Before there's too much more havoc to deal with.

Scripting News:

Twitter and Facebook aren't working

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

I had a phone conversation with a Facebook friend, Chris Saad, last week. In that conversation, I found out what Chris does. I also found out that he did not know what I do. Yet, I feel I know him, and I think to some extent he feels he knows me.

Yet all the tweeting and facebooking I've been doing about my various projects has gone for naught. When he found out what I do, and vice versa, we found that there was a lot we have in common! We should be collaborating, I felt.

So I wanted to leave you with this little thought. We may think we're being informed by these great social media tools, but more likely we're being fed. High fructose emotional rage medicine. Here's the next thing to be angry about. And the next and the next and so on. Facebook is a bit nicer. I can see Chris lives in a lovely apartment and has a sweet girlfriend (no sarcasm). Lots to admire there. But something is seriously missing.

I would really like to solve this problem. To use the great networking tools we have to their fullest potential. So we can really get to know the people we connect with, if that's what we want. And that is very much what I want.

Scripting News:

NYPD are the people

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

Talking with a friend the other day I learned something I had not previously understood. The people of the NYPD want the support of the community the same way we support soldiers who are or were fighting in Afghanistan and Iraq. They want "Support Our Troops" to apply to them as it applies to soldiers fighting overseas.

The people of NYC are horrified to see what we are supposed to excuse in this support. The video of the murder of Eric Garner, and that's the only word for it, was totally incriminating. The thought that the perpetrators of that crime would go free is something we can't accept. Not when the evidence is so clear and overwhelming.

Two local papers, the Daily News and the Post communicate directly to the people of the NYPD and tell them they deserve total support of the community no matter what they do. And they apparently believe them.

This is a huge disconnect, and we let it happen. The problem isn't with the NYPD, the problem is with the blanket total support we give our military when it fights in Afghanistan and Iraq. The price of placing zero value on the lives of the people of these countries is that our lives in turn become worthless. What goes around comes around. You reap what you sow. There are dozens of adages and fables that explain this phenomenon. The lives of the people of the foreign countries are worth exactly as much as ours. We overlooked the behavior of American soldiers in these countries. Now the cops want to know why we treat them differently.

And they're right to ask. Why? If the army can arbitrarily kill thousands in Iraq, why can't they kill a few people in Staten Island, Missouri, or Ohio? You "support the troops" why don't you support us, they ask.

Fair question. There is an answer. We made a bad mistake. Now we understand. We have to unwind this. We have to tell the police that they are us and we are them. When they kill us they are killing themselves. Eric Garner was a real person, with a life, a family, he clearly had ideas, felt entitled as an American citizen to be left alone by the cops. So he was breaking a law. Yeah, it happens. There's no way what he did justified the penalty. The people who killed him must pay for what they did, so that everyone in a position of similar power understands that we do not tolerate murder, even if you have a badge. Our support of the police has limits.

We can support the troops by honoring their sacrifice. By caring for them when they come home. Or caring for their families if they don't. But don't expect to get a pass when you break the law. Police must be held to a higher standard, because of the power we give them. Certainly not a lower one.

Net-net: Let's stop singing God Bless America at our sporting events. Let's stop lying about what our military does (I see the recruiting commercials during basketball and football games, they are disgusting). We have to remove this culture of honoring the invasion of countries on the pretense of liberating them when we're actually protecting the economic interests of the rich and powerful. We allowed this to happen. Now if we want it to stop, we're going to have to be strong. It's going to involve a lot more than marching in the streets. We're going to have to remain seated when we're asked to stand and honor our imperialism which devalues the lives of ordinary people, like us. That way maybe the police will get the message that we won't tolerate them killing us.

Update: Who's going to bring NYC together?

Cory Doctorow's

Cory Doctorow: LISTEN: Wil Wheaton reads “Information Doesn’t Want to Be Free”

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

I've posted the first chapter (MP3) of Wil Wheaton's reading of my book Information Doesn't Want to Be Free (which sports introductions by Neil Gaiman and Amanda Palmer!), which is available as a $15 DRM-free audiobook, sweetened by samples from Amanda Palmer and Dresden Dolls' "Coin-Operated Boy." In sharply argued, fast-moving chapters, Cory Doctorow’s Information … [Read more]

Cory Doctorow's

Cory Doctorow: Interview with Radio New Zealand’s This Way Up

Posted on the 19th of December at about 6AM.

Radio New Zealand National's This Way Up recorded this interview with me, which airs tomorrow (Saturday), about my book Information Doesn't Want to Be Free (MP3).


Wednesday, December 17

Scripting News:

What if the RIAA had embraced Napster?

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

Back in 2000 when Napster was raging, I kept writing blog posts asking this basic question. Isn't there some way the music industry can make billions of dollars off the new excitement in music?

Turns out there was. Ask all the streaming music services that have been born since the huge war that the music industry had with the Internet. Was it necessary? Would they have done better if they had embraced the inevitable change instead of trying to hold it back? The answer is always, yes, it seems.

Well, now it seems Sony is doing it again, on behalf of the movie industry. Going to war with the Internet. Only now in 2014, the Internet is no longer a novel plaything, it's the underpinning of our civilization, and that includes the entertainment industry. But all they see is the evil side of the net. They don't get the idea that all their customers are now on the net. Yeah there might be a few holdouts here and there, but not many.

What if instead of going to war, they tried to work with the good that's on the Internet? It has shown over and over it responds. People basically want a way to feel good about themselves. To do good. To make the world better. To not feel powerless. It's perverted perhaps to think that Hollywood which is so averse to change, could try to use this goodwill to make money, but I think they could, if they appealed to our imaginations instead of fear.


Monday, December 15


James Ward: HOOKS

Posted on the 15th of December at about 1PM.

In my bedroom in my flat, there is a picture rail running around the walls. There are small metal hooks hanging from the rail. I hang my coat from the hook nearest the door. Every morning, I try lifting the coat off the hook without touching the hook and every morning, my coat catches on the hook and the hook … Continue reading 

Coding Horror:

Jeff Atwood: The Evolution of eInk

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

Sure, smartphones and tablets get all the press, and deservedly so. But if you place the original mainstream eInk device from 2007, the Amazon Kindle, side by side with today's model, the evolution of eInk devices is just as striking.

Each of these devices has a 6 inch eInk screen. Beyond that they're worlds apart.

8" × 5.3" × 0.8"
10.2 oz
6.4" × 4.5" × 0.3"
6.3 oz
6" eInk display
167 PPI
4 level greyscale
6" eInk display
300 PPI
16 level greyscale
256 MB 4 GB
400 Mhz CPU 1 GHz CPU
$399 $199
7 days battery life
6 weeks battery life
WiFi / Cellular

They may seem awfully primitive compared to smartphones, but that's part of their charm – they are the scooter to the motorcycle of the smartphone. Nowhere near as versatile, but as a form of basic transportation, radically simpler, radically cheaper, and more durable. There's an object lesson here in stripping things away to get to the core.

eInk devices are also pleasant in a paradoxical way because they basically suck at everything that isn't reading. That doesn't sound like something you'd want, except when you notice you spend every fifth page switching back to Twitter or Facebook or Tinder or Snapchat or whatever. eInk devices let you tune out the world and truly immerse yourself in reading.

I believe in the broadest sense, bits > atoms. Sure, we'll always read on whatever device we happen to hold in our hands that can display words and paragraphs. And the advent of retina class devices sure made reading a heck of a lot more pleasant on tablets and smartphones.

But this idea of ultra-cheap, pervasive eInk reading devices eventually replacing those ultra-cheap, pervasive paperbacks I used to devour as a kid has great appeal to me. I can't let it go. Reading is Fundamental, man!

That's why I'm in this weird place where I will buy, sight unseen, every new Kindle eInk device. I wasn't quite crazy enough to buy the original Kindle (I mean, look at that thing) but I've owned every model since the third generation Kindle was introduced in 2010.

I've also been tracking the Kindle prices to see when they can get them down to $49 or lower. We're not quite there yet – the basic Kindle eInk reader, which by the way is still pretty darn amazing compared to that original 2007 model pictured above – is currently on sale for $59.

But this is mostly about their new flagship eInk device, the Kindle Voyage. Instead of being cheap, it's trying to be upscale. The absolute first thing you need to know is this is the first 300 PPI (aka "retina") eInk reader from Amazon. If you're familiar with the smartphone world before and after the iPhone 4, then you should already be lining up to own one of these.

When you experience 300 PPI in eInk, you really feel like you're looking at a high quality printed page rather than an array of RGB pixels. Yeah, it's still grayscale, but it is glorious. Here are some uncompressed screenshots I made from mine at native resolution.

Note that the real device is eInk, so there's a natural paper-like fuzziness that makes it seem even more high resolution than these raw bitmaps would indicate.

I finally have enough resolution to pick a thinner font than fat, sassy old Caecilia.

The backlight was new to the original Paperwhite, and it definitely had some teething pains. The third time's the charm; they've nailed the backlight aspect for improved overall contrast and night reading. The Voyage also adds an ambient light sensor so it automatically scales the backlight to anything from bright outdoors to a pitch-dark bedroom. It's like automatic night time headlights on a car – one less manual setting I have to deal with before I sit down and get to my reading. It's nice.

The Voyage also adds page turn buttons back into the mix, via pressure sensing zones on the left and right bezel. I'll admit I had some difficulty adjusting to these buttons, to the point that I wasn't sure I would, but I eventually did – and now I'm a convert. Not having to move your finger into the visible text on the page to advance, and being able to advance without moving your finger at all, just pushing it down slightly (which provides a little haptic buzz as a reward), does make for a more pleasant and efficient reading experience. But it is kind of subtle and it took me a fair number of page turns to get it down.

In my experience eInk devices are a bit more fragile than tablets and smartphones. So you'll want a case for automatic on/off and basic "throw it in my bag however" paperback book level protection. Unfortunately, the official Kindle Voyage case is a disaster. Don't buy it.

Previous Kindle cases were expensive, but they were actually very well designed. The Voyage case is expensive and just plain bad. Whoever came up with the idea of a weirdly foldable, floppy origami top opening case on a thing you expect to work like a typical side-opening book should be fired. I recommend something like this basic $14.99 case which works fine to trigger on/off and opens in the expected way.

It's not all sweetness and light, though. The typography issues that have plagued the Kindle are still present in full force. It doesn't personally bother me that much, but it is reasonable to expect more by now from a big company that ostensibly cares about reading. And has a giant budget with lots of smart people on its payroll.

This is what text looks like on a kindle.

— Justin Van Slembrou… (@jvanslem) February 6, 2014

If you've dabbled in the world of eInk, or you were just waiting for a best of breed device to jump in, the Kindle Voyage is easy to recommend. It's probably peak mainstream eInk. Would recommend, would buy again, will probably buy all future eInk models because I have an addiction. A reading addiction. Reading is fundamental. Oh, hey, $2.99 Kindle editions of The Rise and Fall of the Third Reich? Yes, please.

(At the risk of coming across as a total Amazon shill, I'll also mention that the new Amazon Family Sharing program is amazing and lets me and my wife finally share books made of bits in a sane way, the way we used to share regular books: by throwing them at each other in anger.)

[advertisement] What's your next career move? Stack Overflow Careers has the best job listings from great companies, whether you're looking for opportunities at a startup or Fortune 500. You can search our job listings or create a profile and let employers find you.


Sunday, December 14

Cory Doctorow's

Cory Doctorow: Interview with The Command Line podcast

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

I just appeared on the Command Line podcast (MP3) to talk about Information Doesn't Want to Be Free -- Thomas and I really had a wide-ranging and excellent conversation: In this episode, I interview Cory Doctorow about his latest book, “Information Doesn’t Want to be Free: Laws for the Internet Age.” If you are interested … [Read more]


Saturday, December 13

Scripting News:

Heroku deploy puzzle

Posted on the 13th of December at about 4PM.

Note: This problem has been solved. Something about a tarball and the current node.js installation or distribution or. Something shifted in the plate tectonics and it broke my water pump. This is all voodoo, I tell you!

Upfront disclaimer

I have a cold. I'm trying to do some development work anyway. I have a project I'm itching to see run, and I'm bored. Because of the cold, my mind is a little foggy, and it's likely the problem I'm having with Heroku is something I'm doing wrong that's completely obvious. Hence this blog post.

The problem

  1. I've been trying to create a new app on Heroku.

  2. I create a new folder called pringles in a local folder on my local Mac disk.

  3. In that folder I put two files. package.json and hello.js.

  4. As you can see, the script is just a console.log call.

  5. I do the commands on the Bare-bones Heroku page. Init a repo, add the two files, create the app (pringles3), build the master. Here's the log.

A picture named log.png

Things I've considered

At first I thought the problem might be that I'm using a new Mac and it's not initialized in some way. But I kept my original Mac around, completely unmodified, the one I did months of Heroku-based development work on, and repeated the steps with the same results. So it seems the problem isn't on my machine.

I also thought it might have to do with some package I was using, that's why I reduced it down to using no packages, and just being a simple console.log call.

What you can do

If you see the problem, please let me know.

If you're a Heroku user, can you think of something for me to check?

If you're a Heroku user, and feel like wasting some time, can you repeat the steps? Do you get a different result?

I'm basically stuck until I get this working, so I'm highly motivated.



James Ward: H&M

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

The other day, I was in the menswear section of the Covent Garden branch of H&M. It’s the one on Long Acre, I think. The menswear department is downstairs and is quite a long, narrow space. There is a bank of tills along one side of longer walls. Running parallel to the bank of tills is a set of display … Continue reading 

tom m wilson:

Tom Wilson: Laos, The Road North

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

    Got scooter but don’t want to drive it 12 hours north?  Not a problem.  We’ll get a couple of the guys from out back. Laotian ingenuity and cheerful disregard for health and safety are soon on display (why is that girl standing under the scooter?!).   Vang Vieng is the first stop on [...]


Friday, December 12

Scripting News:

How "dislike" might work

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

  1. Facebook should have a Dislike button, but it would work differently from Like.

  2. Where likes are public, a dislike would just be between you and the algorithm. It's a way of signalling that "this is something I do not want to see more of."

  3. It's very much like Checkbox News, an idea I proposed for cable news as it makes the transition to the net. Suppose I'm watching MSNBC, as I did in April 2007, and I have heard enough about the massacre at Virginia Tech. The reports are getting too meta. I get the sense that they're mostly just filling space until the next outrage breaks. So I want to say "No more news about Virginia Tech." Uncheck the box. Or in Facebook terminology -- dislike. Same idea.

  4. It just came up the other day. I was sick of reading about people who don't know Ben Edelman saying he should be punished for being himself. I want to signal to Facebook, please I beg you, no more of this. Hence, dislike.

  5. Even better, if the algorithm could learn about this genre of Internet writing, shaming people who have elite jobs, for being human, and allow me to dislike the whole genre. That would be fantastic. I hope the SEO geniuses at Facebook are working on this.

  6. BTW, sometimes the Internet is used in clever ways to disable people like Ben who are acting in ways big companies dislike (there's that word again). I am sure they employ consultants who find ways to discredit their harshest most effective critics, people like Ben (ahh you didn't know that about him did you?). Their goal: get people to stop listening to him. I'd say they achieved that pretty well. (If you believe this is not possible, you haven't been paying attention.)

  7. Two facts A picture named sideways.pngthat might seem unrelated at first: A. For some reason I love to watch the Knicks. B. I quit smoking in 2002, already 12 years ago. I am not going to start again. Yet they run a certain number of absolutely disgusting anti-smoking ads on each Knicks game. I try to block the screen with my iPad so I don't have to see the poor disfigured human they're putting up as an example of what smoking can do to you. That's not enough, now they have people who have lost the ability to speak, lamenting how they didn't record their real voice for their grandchildren. I want to desperately say DISLIKE! Get this bullshit off my screen. I quit smoking. I am not going to start. Maybe they should have a FUCKOFF button to express more extreme displeasure than a mere dislike.

  8. See also: 1-877-KARS-4-KIDS.

  9. I read today that Maureen Dowd lets the people she writes about review her column before publication. I think the NYT, who she writes for, should click Dislike on behalf of all her readers, but until they do that, I want to ask for no more articles about her or by her. As far as I'm concerned Ms Dowd does not exist. Dislike!

  10. I love that Facebook is basically a positive space. I think this is partially due to the positiveness of the Like button, but also due to the controls it gives users to silence people who abuse the power of Internet communication. So I click Like on Dislike.


Thursday, December 11


James Ward: TOAST

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

Two harmless bearded men have opened a cereal cafe in East London. Because we live in the internet, lots of people (including Channel 4 News) have pretended to get angry about it: Look at these ridiculous hipster morons I don’t care about the cost of their cereal. It’s THEM I object to — Milo Yiannopoulos (@Nero) December 11, 2014 … Continue reading 

Scripting News:

I know Ben

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

A wish

I wish there were some way to tell Facebook that:

  1. I know Ben Edelman.

  2. He's a good guy.

  3. No more "news" about him writing emails to restaurants in the Boston area.


That was an actual post

I posted that on Facebook, and there were a couple of replies that were interesting enough for me to want to turn this into a post on Scripting News.

Bill Heyman

"Unfortunately, some within the media love to throw out red meat to the famished, raging, and self-righteous mobs of social media to build up those page views. Add in some anti-elitism and other stereotypes to fuel the rage, has generated the perfect storm against a single human. Yes, what Ben did was tactless and asinine, but he doesn't deserve what's happening to him. The same goes with that GOP staffer who ill-advisedly criticized the president's kids on her personal Facebook page."

Michael Markman

"'All the news that's bait for clicks' would not have built the New York Times into the institution it, um, well, hasn't been for years now. The need for clicks to put bread on the table is a mighty corrupting influence, isn't it?

My own two cents

Yup this is the new SEO. At some point I expect the news "algorithms" will have to defend against this. It's so obvious what they're doing, and so potentially harmful. And after a while, sad and shameful, like a bad commercial that a station plays over and over.

One more thing. If you order takeout at Sichuan Garden in the future, and you think they screwed up the bill, just pay it. Not worth the grief.


Wednesday, December 10

Scripting News:

Project Maelstrom

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

Project Maelstrom sounds hot.

But it all depends on the execution. It has to be a very smooth reliable web browser.

And it'll need to have applications that can only work this way, in other words, a compelling reason for people to use it. It doesn't have to be a large number of people, just enough to draw interest. » Blog:

Alex: Out of Touch

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

Michael has a good, if somewhat depressing, roundup of the recent Apple bumbles. Once again making me glad I don’t sell in this ecosystem.


Cory Doctorow's

Cory Doctorow: Information Doesn’t Want to Be Free: the audiobook, read by Wil Wheaton (if you were to share this, I’d consider it a personal favor!)

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

I've independently produced an audiobook edition of my nonfiction book Information Doesn't Want to Be Free: Laws for the Internet Age, paying Wil Wheaton to narrate it (he did such a great job on the Homeland audiobook, with a mixdown by the wonderful John Taylor Williams, and bed-music from Amanda Palmer and Dresden Dolls. Both … [Read more]


johnmiedema: PirateBay went down yesterday. Text analysts can take a page from pirates.

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

This post deserves an essay. I’m going to take big leaps with too little explanation, but it’s been rattling in my head for awhile and yesterday’s bust of PirateBay compelled me to write something down. PirateBay went down yesterday. Police in Sweden seized computers and the site went down. This is not the first time ...

Cory Doctorow's

admin: Information Doesn’t Want to Be Free Audiobook

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

Information Doesn't Want to Be Free, read by Wil Wheaton With introductions by Neil Gaiman and Amanda Palmer

tom m wilson:

Tom Wilson: Angkor – The Lost Kingdom

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

Arrived in Siem Reap – flew over a vast delta of rivers and floating villages here and there amongst the glinting waters of the Cambodian plain. Into Siem Reap and immediately errant chickens on the side of the road and bicycles bring me back into South-East Asian life. Walked down the river into down town [...]


Monday, December 8

FSF News:

Committee begins review of High Priority Projects list -- your input is needed

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

Send your suggestions for projects of strategic importance to the goal of freedom for all computer users.


Tuesday, December 2

Cory Doctorow's

Cory Doctorow: When Ed Snowden met Marcus Yallow

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

Here's a scene from Citizenfour, Laura Poitras's acclaimed documentary on Edward Snowden, showing Snowden packing his bags to leave Hong Kong, showing the book on his nightstand: my novel Homeland. I literally could not be more proud than I am right now. Thanks to Poitras and her helper, Maria, for this clip.


Monday, December 1

Cory Doctorow's

Cory Doctorow: Why should we care about characters?

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

I appear in the latest edition of the Writing Excuses podcast (MP3), recorded live at Westercon in Salt Lake City last summer, with Mary Robinette Kowal, Brandon Sanderson, Dan Wells and Howard Tayler, talking about why we care about characters.


Saturday, November 29

Open Maps:

Chris Hill: Save a village

Posted on the 29th of November at about 3PM.

I've been checking out a few new roads in the area. That took me to North Ferriby, a place I know well as I lived there for many years. A housing development, known as Melton Fields, was proposed about three years ago for a piece of land that is not actually in Ferriby, but in the next-door parish of Welton. The land is next to a wood in an open field and the developers dared to suggest that a footpath and cycleway would connect the development to Ferriby through the wood, as well as by a road joined into a recently modified junction - modified with this purpose in mind in my opinion. The development caused outrage that the extra people would swamp the village services and destroy the character of the village.

Three years on and the planning application has been turned down by the local authority and there's an enquiry under way. Enquiries like this seem pointless to me, everyone knows the dice is heavily loaded in favour of the developers, so why waste millions on an enquiry that will ultimately allow the development to go ahead anyway? We need new houses.

The one thing I have noticed over the past few years is the number of very ugly signs scattered all over the village, protesting about the development. This ugliness is something the village should be saved from - it is a real mess. I wonder if the owners of these signs got planning permission to erect the signs as they don't seem temporary to me. It is interesting that some recent developments in the village have these signs outside their properties (the one pictured is not a recent development). So squeezing poky little in fills in that don't match the surroundings and all strain the services is OK but building an integrated new development outside of the village, which includes extra services is not. Save the village, but from nimbys not sensible development.


Wednesday, November 26

Coding Horror:

Jeff Atwood: Because Reading is Fundamental

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

Most discussions show a bit of information next to each user:

What message does this send?

  • The only number you can control printed next to your name is post count.
  • Everyone who reads this will see your current post count.
  • The more you post, the bigger that number next to your name gets.

If I have learned anything from the Internet, it is this: be very, very careful when you put a number next to someone's name. Because people will do whatever it takes to make that number go up.

If you don't think deeply about exactly what you're encouraging, why you're encouraging it, and all the things that may happen as a result of that encouragement, you may end up with … something darker. A lot darker.

Printing a post count number next to every user's name implies that the more you post, the better things are. The more you talk, the better the conversations become. Is this the right message to send to everyone in a discussion? More fundamentally, is this even true?

I find that the value of conversations has little to do with how much people are talking. I find that too much talking has a negative effect on conversations. Nobody has time to listen to the resulting massive stream of conversation, they end up just waiting for their turn to pile on and talk, too. The best conversations are with people who spend most of their time listening. The number of times you've posted in a given topic is not a leaderboard; it's a record of failing to communicate.

Consider the difference between a chat room and a discussion. Chat is a never-ending flow of disconnected, stream of consciousness sentences that you can occasionally dip your toes in to get the temperature of the water, and that's about it. Discussion is the process of lobbing paragraphs back and forth that results in an evolution of positions as your mutual understanding becomes more nuanced. We hope.

The Ars Banana Experiment

Ars Technica ran a little experiment in 2011. When they posted Guns at home more likely to be used stupidly than in self defense, embedded in the last sentence of the seventh paragraph of the article was this text:

If you have read this far, please mention Bananas in your comment below. We're pretty sure 90% of the respondants to this story won't even read it first.

The first person to do this is on page 3 of the resulting discussion, comment number 93. Or as helpfully visualized by Brandon Gorrell:

Plenty of talking, but how many people actually read up to paragraph 7 (of 11) of the source article before they rushed to comment on it?

The Slate Experiment

In You Won't Finish This Article, Farhad Manjoo dares us to read to the end.

Only a small number of you are reading all the way through articles on the Web. I’ve long suspected this, because so many smart-alecks jump in to the comments to make points that get mentioned later in the piece.

But most of us won't.

He collected a bunch of analytics data based on real usage to prove his point:

These experiments demonstrate that we don't need to incentivize talking. There's far too much talking already. We badly need to incentivize listening.

And online, listening = reading. That old school program from my childhood was right, so deeply fundamentally right. Reading. Reading Is Fundamental.

Let's say you're interested in World War II. Who would you rather have a discussion with about that? The guy who just skimmed the Wikipedia article, or the gal who read the entirety of The Rise and Fall of the Third Reich?

This emphasis on talking and post count also unnecessarily penalizes lurkers. If you've posted five times in the last 10 years, but you've read every single thing your community has ever written, I can guarantee that you, Mr. or Mrs. Lurker, are a far more important part of that community's culture and social norms than someone who posted 100 times in the last two weeks. Value to a community should be measured every bit by how much you've read as much as how much you talked.

So how do we encourage reading, exactly?

You could do crazy stuff like require commenters to enter some fact from the article, or pass a basic quiz about what the article contained, before allowing them to comment on that article. On some sites, I think this would result in a huge improvement in the quality of the comments. It'd add friction to talking, which isn't necessarily a bad thing, but it's a negative, indirect way of forcing reading by denying talking. Not ideal.

I have some better ideas.

  1. Remove interruptions to reading, primarily pagination.

    Here's a radical idea: when you get to the bottom of the page, load the next damn page automatically. Isn't that the most natural thing to want when you reach the end of the page, to read the next one? Is there any time that you've ever been on the Internet reading an article, reached the bottom of page 1, and didn't want to continue reading? Pagination is nothing more than an arbitrary barrier to reading, and it needs to die a horrible death.

    There are sites that go even further here, such as The Daily Beast, which actually loads the next article when you reach the end of the one you are currently reading. Try it out and see what you think. I don't know that I'd go that far (I like to pick the next thing I read, thanks very much), but it's interesting.

  2. Measure read times and display them.

    What I do not measure, I cannot display as a number next to someone's name, and cannot properly encourage. In Discourse we measure how long each post has been visible in the browser for every (registered) user who encounters that post. Read time is a key metric we use to determine who we trust, and the best posts that people do actually read. If you aren't willing to visit a number of topics and spend time actually listening to us, why should we talk to you – or trust you.

    Forget clicks, forget page loads, measure read time! We've been measuring read times extensively since launch in 2013 and it turns out we're in good company: Medium and Upworthy both recently acknowledged the intrinsic power of this metric.

  3. Give rewards for reading.

    I know, that old saw, gamification, but if you're going to reward someome, do it for the right things and the right reasons. For example, we created a badge for reading to the end of a long 100+ post topic. And our trust levels are based heavily on how often people are returning and how much they are reading, and virtually not at all on how much they post.

    To feel live reading rewards in action, try this classic New York Times Article. There's even a badge for reading half the article!

  4. Update in real time.

    Online we tend to read these conversations as they're being written, as people are engaging in live conversations. So if new content arrives, figure out a way to dynamically rez it in without interrupting people's read position. Preserve the back and forth, real time dynamic of an actual conversation. Show votes and kudos and likes as they arrive. If someone edits their post, bring that in too. All of this goes a long way toward making a stuffy old debate feel like a living, evolving thing versus a long distance email correspondence.

These are strategies I pursued with Discourse, because I believe Reading Is Fundamental. Not just in grade school, but in your life, in my life, in every aspect of online community. To the extent that Discourse can help people learn to be better listeners and better readers – not just more talkative – we are succeeding.

If you want to become a true radical, if you want to have deeper insights and better conversations, spend less time talking and more reading.

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


Sunday, November 23

Danny O'Brien's Oblomovka:

Danny O'Brien: Auxiliary Ancillary

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

I’m greatly enjoying Ancillary Sword, the sequel to Ann Leckie’s Ancillary Justice. Everyone always goes on about Ancillary’s treatment of gender, but my favorite bits are Leckie’s gentle bit-twiddling of almost every other part of the Radch culture compared to the dominant Western default. The Radch idea of beauty tends to the “broad and heavy”. […]


Friday, November 21

Cory Doctorow's

Cory Doctorow: Little Brother middle school English curriculum materials

Posted on the 21st of November at about 11AM.

James Scot Brodie is a teacher at Presidio Middle School in San Francisco, where Jen Wang and I spoke last month on our tour for In Real Life; prior to my arriving, he assigned my book Little Brother to his students, and produced some curricular materials that he's generously given to me to publish. Little … [Read more]


Thursday, November 20

Cory Doctorow's

Cory Doctorow: Wide-ranging conversation with Portland’s KBOO about Information Doesn’t Want to Be Free

Posted on the 20th of November at about 11PM.

Last month, I sat down for a long conversation (MP3) with Ken Jones for the Between the Covers at Portland, Oregon's KBOO community radio station, talking about my book Information Doesn't Want to be Free. They've posted the audio so people from outside of Portland can hear it too!

The Open Library Blog:

Jessamyn West: Open Library Scheduled Hardware Maintenance

Posted on the 20th of November at about 5PM.

Open Library will be down from 4:30PM to approximately 5:00PM (PST, UTC/GMT -7 hours) on Thursday November 20, 2014 due to scheduled hardware maintenance. We’ll post updates here and on @openlibrary twitter. Thank you for your cooperation.


Wednesday, November 19


James Ward: POTATOES

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

I often eat at Eat. My favourite item on the EAT menu is the Texan Chilli Hot Pot (“A warming beef chilli with smoky chipotle chilli, kidney beans & red peppers, served with wild rice & a coriander crème fraiche”). EAT rotate their menu which means that they don’t always have the Texan Chilli Hot Pot. They probably only have … Continue reading 


johnmiedema: Genre, gender and agency analysis using Parts of Speech in Watson Content Analytics. A simple demonstraton.

Posted on the 19th of November at about 4PM.

Genre is often applied as a static classification: fiction, non-fiction, mystery, romance, biography, and so on. But the edges of genre are “blurry” (Underwood). The classification of genre can change over time and situation. Ideally, genre and all classifications could be modeled dynamically during content analysis. How can IBM’s Watson Content Analytics (WCA) help analyze genre? Here is ...


Friday, November 14 » Blog:

Alex: Getting Started with BusyContacts

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

Wow! The BusyMac folks sure have been busy! I know, I know… I couldn’t help myself. As a BusyCal user for years I’m looking forward to playing with this, it sounds awesome. UPDATE: Wow, I’m blown away. I imported my contacts from iCloud, Twitter and Facebook. It took me 15 minutes to manually link the…

# » Blog:

Alex: Lately I’ve been experiencing Google Voice calls n…

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

Lately I’ve been experiencing Google Voice calls not ringing to my phone long enough for me to actually answer them. Anyone else or just me?


Thursday, November 13 » Blog:

Alex: “Herding dog” is basically code for “my dog has OC…

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

“Herding dog” is basically code for “my dog has OCD”, right? » Blog:

Alex: The Wearable Landscape pre-Apple Watch

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

While the current wearables landscape is a story of slow convergence over the last 18 months, each device has clearly evolved from one of two origin approaches: activity/fitness tracker or smartwatch. Activity Trackers no notifications Nike Fuelband Fitbit One, Flex, Charge Jawbone Up Withings Activite Hybrid Activity Trackers also do notifications Garmin vivosmart Fitbit Surge… » Blog:

Alex: I’m reading more on my iPhone 6 and its bigger scr…

Posted on the 13th of November at about 3PM.

I’m reading more on my iPhone 6 and its bigger screen than I did on my iPhone 5S.


Tuesday, November 11 » Blog:

Alex: Daylight Saving Time Explained

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

One of the best summaries I’ve seen on the topic. Besides this of course (thanks Steve).

Coding Horror:

Jeff Atwood: The Tablet Turning Point

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

Remember how people in the year 2000 used to say how crazy and ridiculous it was, the idea that Anyone Would Ever Run Photoshop in a Web Browser? I mean come on.


One of my big bets with Discourse is that eventually, all computers will be tablets of varying size, with performance basically indistinguishable from a two year old desktop or laptop.

Apps are great and all, but there has to be some place for this year's bumper crop of obscene amount of computing superpower to go. I like to use history as my guide, and I believe it's going exactly the same place it did on desktops and laptops — that no-installing-anything friend of every lazy user on the planet, the inevitable path of least resistance, the mobile web browser.

For the last few years, I've been buying every significant tablet device in the run up to the big holiday sales season, and testing them all, to see how many years are left until mobile devices catch up to desktops on general web and JavaScript performance.

How are we doing? Let's benchmark some Discourse client-side Ember JavaScript code:

iPhone 4 June 2011 2031ms
iPhone 5 Sept 2012 600ms
iPhone 5s Sept 2013 300ms
iPhone 6 Sept 2014 250ms
iPad Air 2 Oct 2014 225ms

My Core i4770k desktop machine scores 180ms in the same benchmark on the latest version of Chrome x64. I'd say we're solidly within striking distance this year.

I don't like to spend a lot of time talking about news and gadgets here, since the commentary will be irrelevant within a few years. But this year marks a key turning point for mobile and tablet performance, and I've lived with every iteration of these devices for the last couple of years, so I'll make an exception.

Look at this performance rampage the iPad Air 2 goes on:

Just look at it! All the graphs are like this!

It's hard to believe we now live in a world where the Apple "Premium" is no longer about aesthetics, but raw, unbridled, class-leading performance. And you know what? That's something I can totally get behind.

Anyone who tells you the iPad Air 2 is some kind of incremental update must not actually use theirs. As someone who does regularly use his iPad, I can say without hesitation that this is a massively upgraded device. I grew to hate my old iPad Air because of the memory restrictions; I could barely have three tabs open in Mobile Safari without one of them paging out of memory. Thanks x64 and iOS7!

The bonded screen, touchid, the now-adequate-for-x64 2GB of RAM, the amazingly fast triple core CPU, the GPU, and yeah, it's a little thinner. For performance, nothing else even comes close.

It's so fast I sometimes forget I'm not using my Surface Pro 3 with its 4GB RAM and Core i5 CPU. I get hassled when I bring my Surface to meetings, but I patiently explain that it's a very nice third gen hardware design with a fully integrated keyboard cover, IE11 is a great touch browser, and that I'm mostly using the device as a tablet, as a sneak preview of what iPad 8 performance will look like. Based on today's benchmarks with the iPad Air 2 – chronologically, the iPad "6" – I believe that's about right.

I also purchased a Nexus 9. It's the first device to ship with Android 5 and the vaunted Nvidia Tegra K1.

I'm very impressed with Android 5.0; aesthetically I think it's superior to iOS 8 in a lot of ways, and it is a clear step forward over Android 4. Anyone on older Android devices should definitely upgrade to Android 5 at their first opportunity.

Performance-wise, it is what I've come to expect from Android: erratic. In our Discourse benchmarks, and the latest version of Chrome Android beta, it scores about 750ms, putting it somewhere between the 2011 iPhone 4s and the 2012 iPhone 5. That said, this is the fastest Android device I have ever laid hands on. I just wish it was consistently faster. A lot faster.

To that end, I'd like to ask for your help. We've identified some deep bugs in the Android Chrome V8 engine that cause fairly severe performance issues with JavaScript frameworks like Angular and Ember. (Desktop Chrome performance remains class leading; this is highly specific to the Android version of Chrome.) If you know anyone at Google, please ping them about this and see if it can be escalated. I'd love it if more Android users – including me – could have a better browser experience when using large JavaScript apps.

I hope over the next year the remaining Android 5 performance bumps can be ironed out. I still like the Nexus 9; if you're a big fan of Google services like GMail, Docs, and Maps like I am, I definitely recommend it. The one I have will be a gift to my mom.

[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, November 10


johnmiedema: Using Orlando and Watson Named Entities to analyze literature from Open Library. A simple example.

Posted on the 10th of November at about 3AM.

Jane Austen’s Letters are a collection of Austen’s personal observations about her family, friends, and life. Great stuff for a literary researcher.The Letters are in the public domain. Public domain books provide a corpus of unstructured content for literary analysis. I am very grateful to Jessamyn West and Open Library for obliging my request for a download ...


Friday, November 7

FSF News:

Software Freedom Conservancy and Free Software Foundation announce

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

This new site will not only provide a venue for those who constantly update and improve the Comprehensive Tutorial, but is also now home to a collaborative community to share and improve information about copyleft licenses, especially the GNU General Public License (GPL), and best compliance practices.

James Bridle: The Nor

Posted on the 7th of November at about 1PM.

An investigation into paranoia, electromagnetism, and infrastructure.


Wednesday, November 5

The Blasphemous Bicycler:

Adam: Tweed Ride Video

Posted on the 5th of November at about 7PM.

The Tweed Ride happened. It was magnificent. If you missed it, you’ve earned my pity. » Blog:

Alex: It would be a real shame if something terrible hap…

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

It would be a real shame if something terrible happened to this Chutes and Ladders game.


Tuesday, November 4 » Blog:

Alex: The Old Guard

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

We’ve been fighting our way through this at Crowd Favorite over the last year. Everyone working with the best of intentions, yet still some things are still hard.

# » Blog:

Alex: Repurposing the Titanic

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

This might be Justin’s best post to date on GlassBoard.



Monday, November 3


johnmiedema: Orlando and Watson Part II. Pseudonym as a simple illustration of semantic search.

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

A common problem with searching for information is that a concept can have many different surface forms. It is difficult for a researcher to know all the forms, let alone type them in for every search. Orlando is a digital literary resource, a structured “textbase” about British women writers. This resource can be utilized by ...


Saturday, November 1


johnmiedema: Orlando and Watson demonstration. Analytics without metadata.

Posted on the 1st of November at about 8PM.

Orlando is a digital index of the lives and works of British women writers. I have the privilege of using the Orlando resource in collaboration with Susan Brown. For discussion in the context of NovelTM, I have put together a quick demo that integrates Orlando in IBM’s Watson Content Analytics. Orlando is structured data, making ...


Friday, October 31

Dave Robertson:

Dave Robertson: Halloween in New York on the way home from London

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

… is the opening line of an epic Crazy Horse-esque dirge by the Red House Painters. It seemed appropriate I was going to see their lead singer Mark Kozelek play a show in London after I attended the Greenwich Village Halloween parade. My plans were thwarted though, with Hurricane Sandy causing cancellation of the 2012 […]


Clare Davies: A New Feminine 3 April ‐ 18 April 2015. Opening  3 April 6 – 9pm Cente for Style, Christian Thompson, Clare Davies, Dominic Kirwkood, H

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

A New Feminine 3 April ‐ 18 April 2015. Opening  3 April 6 – 9pm Cente for Style, Christian Thompson, Clare Davies, Dominic Kirwkood, Hana Shimada, Karla Dickens and Rebecca Scibilia Curated by Rafaela Pandolfini AirSpace Projects10 Junction StreetMARRICKVILLE NSW 2204SYDNEY AUSTRALIA


Wednesday, October 29

James Bridle: Rainbow Plane 002: Kiev

Posted on the 29th of October at about 2PM.

A 1:1 outline of an aircraft, as seen by a satellite.


Tuesday, October 28

PEAR Blog:

cweiske: Security Vulnerability Announcement

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

A vulnerability in the HTML_AJAX package has been found which allows arbitrary remote code execution. All versions of the package from 0.4.0 up to and including release 0.5.6 are affected by this. An new release of the package is available … Continue reading


Friday, October 24

Mostly Harmless:

rob: Life Without Water

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

Which is more valuable: diamonds or water? It’s clear to me. Water is the perfect product. It is endlessly useful, cheap, simple, ubiquitous, and beautiful. Water is essential to all forms of life and is used in every industry, not to mention its calming presence. As our species continues to shape the planet I find […]


Thursday, October 23

Coding Horror:

Jeff Atwood: What If We Could Weaponize Empathy?

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

One of my favorite insights on the subject of online community is from Tom Chick:

Here is something I've never articulated because I thought, perhaps naively, it was understood:

The priority for participating on this forum is not the quality of the content. I ultimately don't care how smart or funny or observant you are. Those are plusses, but they're never prerequisites. The priority is on how you treat each other. I expect spats, arguments, occasional insults, and even inevitable grudges. We've all done that. But in the end, I expect you to act like a group of friends who care about each other, no matter how dumb some of us might be, no matter what political opinions some of us hold, no matter what games some of us like or dislike. This community is small enough, intimate enough, that I feel it's a reasonable expectation.

Indeed, disagreement and arguments are inevitable and even healthy parts of any community. The difference between a sane community and a terrifying warzone is the degree to which disagreement is pursued in the community, gated by the level of respect community members have for each other.

In other words, if a fight is important to you, fight nasty. If that means lying, lie. If that means insults, insult. If that means silencing people, silence.

I may be a fan of the smackdown learning model and kayfabe, but I am definitely not a fan of fighting nasty.

I expect you to act like a group of friends who care about each other, no matter how dumb some of us might be, no matter what political opinions some of us hold, no matter what games some of us like or dislike.

There's a word for this: empathy.

One of the first things I learned when I began researching discussion platforms two years ago is the importance of empathy as the fundamental basis of all stable long term communities. The goal of discussion software shouldn't be to teach you how to click the reply button, and how to make bold text, but how to engage in civilized online discussion with other human beings without that discussion inevitably breaking down into the collective howling of wolves.

That's what the discussion software should be teaching you: Empathy.

You. Me. Us. We can all occasionally use a gentle reminder that there is a real human being on the other side of our screen, a person remarkably like us.

I've been immersed in the world of social discussion for two years now, and I keep going back to the well of empathy, time and time again. The first thing we did was start with a solid set of community guidelines on civilized discussion, and I'm proud to say that we ship and prominently feature those guidelines with every copy of Discourse. They are bedrock. But these guidelines only work to the extent that they are understood, and the community helps enforce them.

In Your Community Door, I described the danger of allowing cruel and hateful behavior in your community – behavior so obviously corrosive that it should never be tolerated in any quantity. If your community isn't capable of regularly exorcising the most toxic content, and the people responsible for that kind of content, it's in trouble. Those rare bad apples are group poison.

Hate is easy to recognize. Cruelty is easy to recognize. You do not tolerate these in your community, full stop.

But what about behavior that isn't so obviously corrosive? What about behavior patterns that seem sort of vaguely negative, but … nobody can show you exactly how this behavior is directly hurting anyone? What am I talking about? Take a look at the Flamewarriors Online Discussion Archetypes, a bunch of discussion behaviors that never quite run afoul of the rules, per se, but result in discussions that degenerate, go in circles, or make people not want to be around them.

What we're getting into is shades of grey, the really difficult part of community moderation. I've been working on Discourse long enough to identify some subtle dark patterns of community discussion that – while nowhere near as dangerous as hate and cruelty – are still harmful enough to the overall empathy level of a community that they should be actively recognized when they emerge, and interventions staged.

1. Endless Contrarianism

Disagreement is fine, even expected, provided people can disagree in an agreeable way. But when someone joins your community for the sole purpose of disagreeing, that's Endless Contrarianism.

Example: As an athiest, Edward shows up on a religion discussion area to educate everyone there about the futility of religion. Is that really the purpose of the community? Does anyone in the community expect to defend the very concept of religion while participating there?

If all a community member can seem to contribute is endlessly pointing out how wrong everyone else is, and how everything about this community is headed in the wrong direction – that's not building constructive discussion – or the community. Edward is just arguing for the sake of argument. Take it to debate school.

2. Axe-Grinding

Part of what makes discussion fun is that it's flexible; a variety of topics will be discussed, and those discussions may naturally meander a bit within the context defined by the site and whatever categories of discussion are allowed there. Axe-Grinding is when a user keeps constantly gravitating back to the same pet issue or theme for weeks or months on end.

Example: Sara finds any opportunity to trigger up a GMO debate, no matter what the actual topic is. Viewing Sara's post history, GMO and Monsanto are constant, repeated themes in any context. Sara's negative review of a movie will mention eating GMO popcorn, because it's not really about the movie – it's always about her pet issue.

This kind of inflexible, overbearing single-issue focus tends to drag discussion into strange, unwanted directions, and rapidly becomes tiresome to other participants who have probably heard everything this person has to say on that topic multiple times already. Either Sara needs to let that topic go, or she needs to find a dedicated place (e.g. GMO discussion areas) where others want to discuss it as much as she does, and take it there.

3. Griefing

In discussion, griefing is when someone goes out of their way to bait a particular person for weeks or months on end. By that I mean they pointedly follow them around, choosing to engage on whatever topic that person appears in, and needle the other person in any way they can, but always strictly by the book and not in violation of any rules… technically.

Example: Whenever Joe sees George in a discussion topic, Joe now pops in to represent the opposing position, or point out flaws in George's reasoning. Joe also takes any opportunity to remind people of previous mistakes George made, or times when George was rude.

When the discussion becomes more about the person than the topic, you're in deep trouble. It's not supposed to be about the participants, but the topic at hand. When griefing occurs, the discussion becomes a stage for personal conflict rather than a way to honestly explore topics and have an entertaining discussion. Ideally the root of the conflict between Joe and George can be addressed and resolved, or Joe can be encouraged to move on and leave the conflict behind. Otherwise, one of these users needs to find another place to go.

4. Persistent Negativity

Nobody expects discussions to be all sweetness and light, but neverending vitriol and negativity are giant wet blankets. It's hard to enjoy anything when someone's constantly reminding you how terrible the world is. Persistent negativity is when someone's negative contributions to the discussion far outweigh their positive contributions.

Example: Even long after the game shipped, Fred mentions that the game took far too long to ship, and that it shipped with bugs. He paid a lot of money for this game, and feels he didn't get the enjoyment from the game that was promised for the price. He warns people away from buying expansions because this game has a bad track record and will probably fail. Nobody will be playing it online soon because of all the problems, so why bother even trying? Wherever topics happen to go, Fred is there to tell everyone this game is worse than they knew.

If Fred doesn't have anything positive to contribute, what exactly is the purpose of his participation in that community? What does he hope to achieve? Criticism is welcome, but that shouldn't be the sum total of everything Fred contributes, and he should be reasonably constructive in his criticism. People join communities to build things and celebrate the enjoyment of those things, not have other people dump all over it and constantly describe how much they suck and disappoint them. If there isn't any silver lining in Fred's cloud, and he can't be encouraged to find one, he should be asked to find other places to haunt.

5. Ranting

Discussions are social, and thus emotional. You should feel something. But prolonged, extreme appeal to emotion is fatiguing and incites arguments. Nobody wants to join a dry, technical session at the Harvard Debate Club, because that'd be boring, but there is a big difference between a persuasive post and a straight-up rant.

Example: Holly posts at the extremes – either something is the worst thing that ever happened, or the best thing that ever happened. She will post 6 to 10 times in a topic and state her position as forcefully as possible, for as long and as loud as it takes, to as many individual people in the discussion as it takes, to get her point across. The stronger the language in the post, the better she likes it.

If Holly can't make her point in a reasonable way in one post and a followup, perhaps she should rethink her approach. Yelling at people, turning the volume to 11, and describing the situation in the most emotional, extreme terms possible to elicit a response – unless this really is the worst or best thing to happen in years – is a bit like yelling fire in a crowded theater. It's irresponsible. Either tone it down, or take it somewhere that everyone talks that way.

6. Grudges

In any discussion, there is a general expectation that everyone there is participating in good faith – that they have an open mind, no particular agenda, and no bias against the participants or the topic. While short term disagreement is fine, it's important that the people in your community have the ability to reset and approach each new topic with a clean(ish) slate. When you don't do that, when people carry ill will from previous discussions toward the participants or topic into new discussions, that's a grudge.

Example: Tad strongly disagrees with a decision the community made about not creating a new category to house some discussion he finds problematic. So he now views the other leaders in the community, and the moderators, with great distrust. Tad feels like the community has turned on him, and so he has soured on the community. But he has too much invested here to leave, so Tad now likes to point out all the consequences of this "bad" decision often, and cite it as an example of how the community is going wrong. He also follows another moderator, Steve, around because he views him as the ringleader of the original decision, and continually writes long, critical replies to his posts.

Grudges can easily lead to every other dark community pattern on this list. I cannot emphasize enough how important it is to recognize grudges when they emerge so the community can intervene and point out what's happening, and all the negative consequences of a grudge. It's important in the broadest general life sense not to hold grudges; as the famous quote goes (as near as I can tell, attributed to Alcoholics Anonymous)

Holding a grudge is like drinking poison and expecting the other person to die.

So your community should be educating itself about the danger of grudges, the root of so many other community problems. But it is critically important that moderators never, and I mean never ever, hold grudges. That'd be disastrous.

What can you do?

I made a joke in the title of this post about weaponizing empathy. I'm not sure that's even possible. But you can start by having clear community guidelines, teaching your community to close the door on overt hate, and watching out for any overall empathy erosion caused by the six dark community behavior patterns I outlined above.

At the risk of sounding aspirational, here's one thing I know to be true, and I advise every community to take to heart: I expect you to act like a group of friends who care about each other, no matter how dumb some of us might be, no matter what political opinions some of us hold, no matter what things some of us like or dislike.

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


Tuesday, October 21

The Open Library Blog:

Anand Chitipothu: Open Library Scheduled Hardware Maintenance

Posted on the 21st of October at about 1PM.

Open Library will be down from 5:00PM to 6:00PM SF Time (PDT, UTC/GMT -7 hours) on Tuesday October 21, 2014 due to a scheduled hardware maintenance. We’ll post updates here and on @openlibrary twitter. Thank you for your cooperation. UPDATES: 5:00 PM - maintenance started 5:35 PM: maintenance completed and is back online.


Jon: SSH-based tunnelling for own sites

Posted on the 21st of October at about 1PM.

One of the things I’m cautious about is logging onto my own blog, and other self-hosted sites that require authentication, over public wifi. Unless I use server certificates, my WordPress and other  passwords are in danger of being captured via a promiscuously-configured wifi adapter on the same subnet. Whilst I really ought to get a […]


Monday, October 20

Coding Horror:

Jeff Atwood: Your Community Door

Posted on the 20th of October at about 7PM.

What are the real world consequences to signing up for a Twitter or Facebook account through Tor and spewing hate toward other human beings?

Facebook reviewed the comment I reported and found it doesn't violate their Community Standards.

— Rob Beschizza (@Beschizza) October 15, 2014

As far as I can tell, nothing. There are barely any online consequences, even if the content is reported.

But there should be.

The problem is that Twitter and Facebook aim to be discussion platforms for "everyone", where every person, no matter how hateful and crazy they may be, gets a turn on the microphone. They get to be heard.

The hover text for this one is so good it deserves escalation:

I can't remember where I heard this, but someone once said that defending a position by citing free speech is sort of the ultimate concession; you're saying that the most compelling thing you can say for your position is that it's not literally illegal to express.

If the discussion platform you're using aims to be a public platform for the whole world, there are some pretty terrible things people can do and say to other people there with no real consequences, under the noble banner of free speech.

It can be challenging.

How do we show people like this the door? You can block, you can hide, you can mute. But what you can't do is show them the door, because it's not your house. It's Facebook's house. It's their door, and the rules say the whole world has to be accommodated within the Facebook community. So mute and block and so forth are the only options available. But they are anemic, barely workable options.

As we build Discourse, I've discovered that I am deeply opposed to mute and block functions. I think that's because the whole concept of Discourse is that it is your house. And mute and ignore, while arguably unavoidable for large worldwide communities, are actively dangerous for smaller communities. Here's why.

  • It allows you to ignore bad behavior. If someone is hateful or harassing, why complain? Just mute. No more problem. Except everyone else still gets to see a person being hateful or harassing to another human being in public. Which means you are now sending a message to all other readers that this is behavior that is OK and accepted in your house.

  • It puts the burden on the user. A kind of victim blaming — if someone is rude to you, then "why didn't you just mute / block them?" The solution is right there in front of you, why didn't you learn to use the software right? Why don't you take some responsibility and take action to stop the person abusing you? Every single time it happens, over and over again?

  • It does not address the problematic behavior. A mute is invisible to everyone. So the person who is getting muted by 10 other users is getting zero feedback that their behavior is causing problems. It's also giving zero feedback to moderators that this person should probably get an intervention at the very least, if not outright suspended. It's so bad that people are building their own crowdsourced block lists for Twitter.

  • It causes discussions to break down. Fine, you mute someone, so you "never" see that person's posts. But then another user you like quotes the muted user in their post, or references their @name, or replies to their post. Do you then suppress just the quoted section? Suppress the @name? Suppress all replies to their posts, too? This leaves big holes in the conversation and presents many hairy technical challenges. Given enough personal mutes and blocks and ignores, all conversation becomes a weird patchwork of partially visible statements.

  • This is your house and your rules. This isn't Twitter or Facebook or some other giant public website with an expectation that "everyone" will be welcome. This is your house, with your rules, and your community. If someone can't behave themselves to the point that they are consistently rude and obnoxious and unkind to others, you don't ask the other people in the house to please ignore it – you ask them to leave your house. Engendering some weird expectation of "everyone is allowed here" sends the wrong message. Otherwise your house no longer belongs to you, and that's a very bad place to be.

I worry that people are learning the wrong lessons from the way Twitter and Facebook poorly handle these situations. Their hands are tied because they aspire to be these global communities where free speech trumps basic human decency and empathy.

The greatest power of online discussion communities, in my experience, is that they don't aspire to be global. You set up a clubhouse with reasonable rules your community agrees upon, and anyone who can't abide by those rules needs to be gently shown the door.

Don't pull this wishy washy non-committal stuff that Twitter and Facebook do. Community rules are only meaningful if they are actively enforced. You need to be willing to say this to people, at times:

No, your behavior is not acceptable in our community; "free speech" doesn't mean we are obliged to host your content, or listen to you being a jerk to people. This is our house, and our rules.

If they don't like it, fortunately there's a whole Internet of other communities out there. They can go try a different house. Or build their own.

The goal isn't to slam the door in people's faces – visitors should always be greeted in good faith, with a hearty smile – but simply to acknowledge that in those rare but inevitable cases where good faith breaks down, a well-oiled front door will save your community.

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


Friday, October 17

FSF News:

The Free Software Foundation opens nominations for the 17th annual Free Software Awards

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

BOSTON, Massachusetts, USA -- Friday, October 17, 2014 -- The Free Software Foundation (FSF) and the GNU Project today announced the opening of nominations for the 17th annual Free Software Awards. The Free Software Awards include the Award for the Advancement of Free Software and the Award for Projects of Social Benefit.


Thursday, October 16

FSF News:

Matthew Garrett joins Free Software Foundation board of directors

Posted on the 16th of October at about 9PM.

BOSTON, Massachusetts, USA -- Thursday, October 16, 2014 -- The Free Software Foundation (FSF) today announced the addition of Matthew Garrett to its board of directors.


Wednesday, October 15

Linode Blog:

Ricardo Feliciano: POODLE SSL 3.0 Vulnerability

Posted on the 15th of October at about 8PM.

Yesterday, Google published the discovery of an SSL 3.0 vulnerability named “POODLE.” This vulnerability allows an attacker to decrypt transferred data and successfully read plain text. While many browsers support newer, more secure protocols, an attacker can create connectivity issues, causing the browser to fall-back to the vulnerable SSL 3.0 protocol. Is Linode Infrastructure Vulnerable? […]


Tuesday, October 14

James Bridle: Received by Post: Printed Web, TBD, and the Moving Museum

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

A magazine, a catalogue, and an LP.


Monday, October 13


johnmiedema: How Watson Works in Four Steps

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

A good overview of how IBM’s Watson works. When humans seek to understand something and to make a decision we go through four steps. Observe visible phenomena and bodies of evidence; Draw on what we know to interpret evidence and to generate hypotheses; Evaluate which hypotheses are right or wrong; and Decide the best option ...


Saturday, October 11


johnmiedema: Orlando: the lives and works of British women writers. Digital resources working together in unexpected and insightful ways.

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

Orlando is a digital resource, indexing the lives and works of British women writers. The full name of the project is, Orlando: Women’s Writing in the British Isles from the Beginnings to the Present. It is the work of scholars Susan Brown, Patricia Clements, and Isobel Grundy. The name of the work was inspired by Virginia Woolf’s 1928 ...


Friday, October 10

The Blasphemous Bicycler:

Adam: Harrisburg Tweed Ride Nov. 2nd!

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

Hear Ye, Hear Ye!   There is going to be a tweed ride in less than a month.  You should come. Official Announcement Plagiarized Below: Harrisburg, PA Tweed Ride Sunday Nov 2, 2014 Don’t think this is a sweaty bike ride – but a fashion show on wheels. The fancier and frillier the better. Of…


Thursday, October 9

Coding Horror:

Jeff Atwood: Level One: The Intro Stage

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

Way back in 2007, before Stack Overflow was a glint in anyone's eye, I called software development a collaborative game. And perhaps Stack Overflow was the natural outcome of that initial thought – recasting online software development discussion into a collaborative game where the only way to "win" is to learn from each other.

That was before the word gamification existed. But gamification is no longer the cool, hip concept it was back in 2011. Still, whether you call yourself a "gamer" or not, whether you believe in "gamification" or not, five years later you're still playing the world's largest multiplayer game.

In fact, you're playing it right now.

One of the most timeless aspects of games is how egalitarian they are, how easy it is for anyone to get started. Men, women, children — people love games because everyone can play along. You don't have to take classes or go to college or be certified: you just play. And this is, not so incidentally, how many of the programmers I know came to be programmers.

Do you know anyone that bought the video game Halo, or Myst, then proceeded to open the box and read the manual before playing the game? Whoa there guys, we can't play the game yet, we gotta read these instructions first! No, they stopped making manuals for games a long time ago, unless you count the thin sheet of paper that describes how to download / install the game on your device. Because they found out nobody reads the manual.

The project I’m working on is critical, but it has only about 3 to 4 users, most of whom are already familiar the application. One of the users even drives the design. The manual I’m writing, which is nearly 200 pages, is mostly a safety measure for business continuity planning. I don’t expect anyone will ever read it.

It’s a project I managed to procrastinate for months, working on other projects, even outside the scope of my regular assignments. The main deterrent, I believe, was my perception that no one needed the manual. The users seemed to be getting along fine without it.

And so as the year ticked to a close, instead of learning more about Mediawiki and screencasting and After Effects, I spent my time updating a 200-page manual that I don’t think anyone will ever read. It will be printed out, three-hole punched, and placed in a binder to collect dust on a shelf.

I guess that's not surprising for games. Games are supposed to be fun, and reading manuals isn't fun; it's pretty much the opposite of fun. But it is also true for software in general. Reading manuals isn't work, at least, it isn't whatever specific thing you set out to do when you fired up that bit of software on your phone, tablet, or laptop.

Games have another clever trick up their sleeve, though. Have you ever noticed that in most of today's games, the first level is kind of easy. Like… suspiciously easy?

That's because level one, the intro stage, isn't really part of the game. It's the manual.

As MegaMan X illustrates, manuals are pointless when we can learn about the game in the best and most natural way imaginable: by playing the actual game. You learn by doing, provided you have a well designed sandbox that lets you safely experiment as you're starting out in the game.

(The above video does contain some slightly NSFW language, as well as abuse of cartoon female avatars that I don't endorse, but it is utterly brilliant, applies to every app, software and website anyone has ever built, and I strongly recommend watching it all.)

This same philosophy applies to today's software and websites. Don't bother with all the manuals, video introductions, tutorials, and pop-up help dialogs. Nobody's going to read that stuff, at least, not the people who need it.

Instead, follow the lesson of MegaMan: if you want to teach people about your software, consider how you can build a great intro stage and let them start playing with it immediately.

[advertisement] What's your next career move? Stack Overflow Careers has the best job listings from great companies, whether you're looking for opportunities at a startup or Fortune 500. You can search our job listings or create a profile and let employers find you.


Tuesday, October 7


johnmiedema: Reading Machines: Toward an Algorithmic Criticism, by Stephen Ramsay. A Storify Summary.


Monday, October 6



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

I recently went to The Lost Act, part of the Lost Lectures series of events, the organisation and ambition of which put my efforts with Boring to shame (you can see a video of a talk I did about Boring at the Lost Lectures here). The Lost Act was held in the stunningly beautiful Victorian theatre at the Alexandra Palace … Continue reading 


Tuesday, September 30

Linode Blog:

sclemens: Linode Managed is even better than before!

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

Linode Managed is getting even better. With 24/7/365 incident response, backups, Longview Pro, application tuning and architecture advice, it’s already a great value. Now, three more upgrades, exclusive to Linode Managed customers, make it a better value than before: Linode Managed now includes free cPanel & WHM. Linode Managed now includes free site migrations. Linode Managed […]


Monday, September 29

Linode Blog:

tasaro: ‘Shellshock’ Bash vulnerability

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

Over the last week, several vulnerabilities in GNU Bash have been discovered and are being referred to as “Shellshock”. Using these vulnerabilities an attacker can remotely execute commands, thereby compromising the machine. To make matters worse, many common configurations provide vectors for this attack, making it a serious problem. Many Linux distributions have already provided […]


Thursday, September 25

FSF News:

Free Software Foundation statement on the GNU Bash "shellshock" vulnerability

Posted on the 25th of September at about 9PM.

A major security vulnerability has been discovered in the free software shell GNU Bash. The most serious issues have already been fixed, and GNU/Linux distributions are working quickly to release updated packages for their users. All Bash users should upgrade immediately, and audit the list of remote network services running on their systems.


Sunday, September 21


Jon: PHP symlink deployment demo

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

I’ve been reading up on build processes for PHP recently, and comparing them with the good and bad deployment approaches I’ve been asked to use in the past. To do it properly, there are two approaches designed for a speedy changeover: Build the app in a new location and then change the docroot symlink to […]


Saturday, September 20


johnmiedema: Book Was There, by Andrew Piper. If we’re going to have ebooks that distract us, we might as well have ones that help us analyse too.

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

“I can imagine a world without books. I cannot imagine a world without reading” (Piper, ix). In these last few generations of print there is nothing keeping book lovers from reading print books. Yet with each decade the print book yields further to the digital. But there it is, we are the first few generations ...

James Bridle: AQD: Remembrancer

Posted on the 20th of September at about 9AM.

Implicated by association, a newspaper for the V&A.


Thursday, September 18


johnmiedema: Wilson iteration plans: Topics on text mining the novel.

Posted on the 18th of September at about 8PM.

The Wilson iteration of my cognitive system will involve a deep dive into topics on text mining the novel. My overly ambitious plans are the following, roughly in order: Book review of Book Was There: Reading in Electronic Times by Andrew Piper. Develop a working code illustration of genre detection. Develop another custom entity recognition ...


Tuesday, September 16

FSF News:

LibrePlanet is coming March 21-22, 2015, call for proposals now open for annual free software conference

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

BOSTON, Massachusetts, USA -- Tuesday, September 16, 2015 -- The Free Software Foundation (FSF) and Student Information Processing Board (SIPB) at MIT today announced the dates for the LibrePlanet free software conference, which will be held March 21-22, 2015, in Cambridge, MA. The call for sessions is now open, as is the call for exhibitors and volunteers.

Dave Robertson:

Dave Robertson: A Song for Father’s Day


Sunday, September 14


Jon: Insecure programming tutorial reporting tool

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

This would make a nice weekend hack project! A website to report (PHP) tutorials that recommend insecure techniques, especially involving SQL injection (I just found another one, and have reported it via the comments). For novelty, render all the sites as labelled divs in a Masonry wall, and bonus points for a cheeky xkcd-style alt-text […]


Friday, September 12

FSF News:

ThinkPenguin wireless router now FSF-certified to respect your freedom

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

BOSTON, Massachusetts, USA -- Friday, September 12, 2014 -- The Free Software Foundation (FSF) today awarded Respects Your Freedom (RYF) certification to the ThinkPenguin Wireless N-Broadband Router (TPE-NWIFIROUTER). The RYF certification mark means that the product meets the FSF's standards in regard to users' freedom, control over the product, and privacy. This is the first router to receive RYF certification from the FSF.


Tuesday, September 9

FSF News:

Free Software Foundation statement on the new iPhone, Apple Pay, and Apple Watch

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

The Free Software Foundation encourages users to avoid all Apple products, in the interest of their own freedom and the freedom of those around them.

Open Maps:

Chris Hill: Lock in

Posted on the 9th of September at about 4PM.

I've been adding lots of buildings in Hull. Tracing from imagery is a bit tedious, but I have got into a rhythm. Adding the house numbers I find easier with a printed map with the buildings already drawn then I can note significant points like house numbers near junctions, any extras (like 4a), any gaps in numbering and whether there is a 13 or not. I was working on Beverley Road. Wanted some shopping so I decided to go shopping there, so I could see the layout of the shops as well as any numbering. I also remembered a couple of developments that were worth looking at to see if they were accessible.

I went to The Jacobs Homes off Askew Avenue. The place was complete, smart
and easy to go round, number one complete. Then I went to The Sidings. This is still only partly complete, with two road names (neither called The Sidings of course, this was a railway goods yard many, many years ago). One small road joined these two named ones - I got its name from a house number with the street name under it. Number two complete. I then set off towards the junction between Beverley Road and Cottingham Road to look at the shops and buy a few things.

Before I got to the shops I saw a yellow board with a development name on it I didn't recognise, Scholars Gate, so I followed it. The development is far from complete but a substantial number of houses have been built and many look occupied. Once again no name board, but once again a house number had the road name on it so I could get the details. Number three complete.

When I got to Cottingham Road shops I took lots of photos of the shop fronts from across the street, got asked what I was doing and handed out a leaflet about OSM. When I'd done my shopping I set off for home.

I noticed another new development off Cottingham Road. When I had turned round and got back to it I realised it was gated and the gate was shut. The sign said Chancellor's Court (private road). As I sat in front of the gate I saw a sensor on a wall inside the gate and guessed that if I could get in, the sensor would open the gates to let me out. Just then a van pulled up near the gates at the otherside and they opened, so I drove in, hoping I was right. I drove down the road, turned at the end and set off out. The gates didn't open. I sat near them waiting for someone else to open the gates and a few seconds later a car pulled past me and the gates opened. I followed the car out and my lock in was over. Number four complete.

As I drove home I saw another yellow board for a development, this time in Cottingham at Cleminson Gardens. I had added bit of the development when it was first accessible. Now the whole road loop is accessible and most of the houses look complete and occupied. That completed number five.


Monday, September 8

FSF News:

FSF and Debian join forces to help free software users find the hardware they need

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

BOSTON, Massachusetts, USA -- Monday, September 8, 2014 -- The Free Software Foundation (FSF) and the Debian Project today announced cooperation to expand and enhance h-node, a database to help users learn and share information about computers that work with free software operating systems.


Friday, September 5

Coding Horror:

Jeff Atwood: Standard Markdown is now Common Markdown

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

Let me open with an apology to John Gruber for my previous blog post.

We've been working on the Standard Markdown project for about two years now. We invited John Gruber, the original creator of Markdown, to join the project via email in November 2012, but never heard back. As we got closer to being ready for public feedback, we emailed John on August 19th with a link to the Standard Markdown spec, asking him for his feedback. Since John MacFarlane was the primary author of most of the work, we suggested that he be the one to reach out.

We then waited two weeks for a response.

There was no response, so we assumed that John Gruber was either OK with the project (and its name), or didn't care. So we proceeded.

There was lots of internal discussion about what to name our project. Strict Markdown? XMarkdown? Markdown Pro? Markdown Super Hyper Turbo Pro Alpha Diamond Edition?

As we were finalizing the name, we noticed on this podcast, at 1:15 …

… that John seemed OK with the name "GitHub Flavored Markdown". So I originally wrote the blog post and the homepage using that terminology – "Standard Flavored Markdown" – and even kept that as the title of the blog post to signify our intent. We were building Yet Another Flavor of Markdown, one designed to remove ambiguity by specifying a standard, while preserving as much as possible the spirit of Markdown and compatibility with existing documents.

Before we went live, I asked for feedback internally, and one of the bits of feedback I got was that it was inconsistent to say Standard Flavored Markdown on the homepage and blog when the spec says Standard Markdown throughout. So I changed them to match Standard Markdown, and that's what we launched with.

It was a bit of a surprise to get an email last night, addressed to both me and John MacFarlane, from John Gruber indicating that the name Standard Markdown was "infuriating".

I'm sorry the name is so infuriating. I assure you that we did not choose the name to make you, or anyone else, angry. We were simply trying to pick a name that correctly and accurately reflected our goal – to build an unambiguous flavor of Markdown. If the name we chose made inappropriate overtures about Standard Markdown being anything more than a highly specified flavor of Markdown, I apologize. Standard does have certain particular computer science meanings, as in IETF Standard, ECMA Standard. That was not our intent, it was more of an aspirational element of "what if, together, we could eventually..". What can I say? We're programmers. We name things literally. And naming is hard.

John Gruber was also very upset, and I think rightfully so, that the word Markdown was not capitalized throughout the spec. This was an oversight on our part – and also my fault because I did notice Markdown wasn't capitalized as I copied snippets of the spec to the homepage and blog post, and I definitely thought it was odd, too. You'll note that I took care to manually capitalize Markdown in the parts of the spec I copied to the blog post and home page – but I neglected to mention this to John MacFarlane as I should have. We corrected this immediately when it was brought to our attention.

John then made three requests:

  1. Rename the project.

  2. Shut down the domain, and don't redirect it.

  3. Apologize.

All fair. Happy to do all of those things.

Starting with the name. In his email John graciously indicated that he would "probably" approve a name like "Strict Markdown" or "Pedantic Markdown". Given the very public earlier miscommunication about naming, that consideration is appreciated.

We replied with the following suggestions:

  • Compatible Markdown
  • Regular Markdown
  • Community Markdown
  • Common Markdown
  • Uniform Markdown
  • Vanilla Markdown

We haven't heard back after replying last night, and I'm not sure we ever will, so in the interest of moving ahead and avoiding conflict, we're immediately renaming the project to Common Markdown.

We hope that is an acceptable name; it was independently suggested to us several times in several different feedback areas. The intention is to avoid any unwanted overtones of ownership; we have only ever wanted to be Yet Another Flavor of Markdown.

  1. The project name change is already in progress.

  2. This is our public apology.

  3. I'll shut down the domain as soon as I can, probably by tomorrow.

John, we deeply apologize for the miscommunication. It's our fault, and we want to fix it. But even though we made mistakes, I hope it is clear that everything we've done, we did solely out of a shared love of Markdown (and its simple, unencumbered old-school ASCII origins), and the desire to ensure the success of Markdown as a stable format for future generations.

Edit: after a long and thoughtful email from John Gruber – which is greatly appreciated – he indicated that no form of the word "Markdown" is acceptable to him in this case. We are now using the name CommonMark.

[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, September 4

FSF News:

Free Software Foundation adds libreCMC to its list of endorsed distributions

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

BOSTON, Massachusetts, USA -- Thursday, September 4, 2014 -- The Free Software Foundation (FSF) today announced the addition of libreCMC, an embedded GNU/Linux project, to its list of recommended distributions.


Wednesday, September 3

Coding Horror:

Jeff Atwood: Standard Flavored Markdown

Posted on the 3rd of September at about 8PM.

In 2009 I lamented the state of Markdown:

Right now we have the worst of both worlds. Lack of leadership from the top, and a bunch of fragmented, poorly coordinated community efforts to advance Markdown, none of which are officially canon. This isn't merely incovenient for anyone trying to find accurate information about Markdown; it's actually harming the project's future.

In late 2012, David Greenspan from Meteor approached me and proposed we move forward, and a project crystallized:

I propose that Stack Exchange, GitHub, Meteor, Reddit, and any other company with lots of traffic and a strategic investment in Markdown, all work together to come up with an official Markdown specification, and standard test suites to validate Markdown implementations. We've all been working at cross purposes for too long, accidentally fragmenting Markdown while popularizing it.

We formed a small private working group with key representatives from GitHub, from Reddit, from Stack Exchange, from the open source community. We spent months hashing out the details and agreeing on the necessary changes to turn Markdown into a language you can parse without feeling like you just walked through a sewer – while preserving the simple, clear, ASCII email inspired spirit of Markdown.

We really struggled with this at Discourse, which is also based on Markdown, but an even more complex dialect than the one we built at Stack Overflow. In Discourse, you can mix three forms of markup interchangeably:

  • Markdown
  • HTML (safe subset)
  • BBCode (subset)

Discourse is primarily a JavaScript app, so naturally we needed a nice, compliant implementation of Markdown in JavaScript. Surely such a thing exists, yes? Nope. Even in 2012, we found zero JavaScript implementations of Markdown that could pass the only Markdown test suite I know of, MDTest. It isn't authoritative, it's a community created initiative that embodies its own decisions about rendering ambiguities in Markdown, but it's all we've got. We contributed many upstream fixes to markdown.js to make it pass MDTest – but it still only passes in our locally extended version.

As an open source project ourselves, we're perfectly happy contributing upstream code to improve it for everyone. But it's an indictment of the state of the Markdown ecosystem that any remotely popular implementation wasn't already testing itself against a formal spec and test suite. But who can blame them, because it didn't exist!

Well, now it does.

It took a while, but I'm pleased to announce that Standard Markdown is now finally ready for public review.

It's a spec, including embedded examples, and implementations in portable C and JavaScript. We strived mightily to stay true to the spirit of Markdown in writing it. The primary author, John MacFarlane, explains in the introduction to the spec:

Because Gruber’s syntax description leaves many aspects of the syntax undetermined, writing a precise spec requires making a large number of decisions, many of them somewhat arbitrary. In making them, I have appealed to existing conventions and considerations of simplicity, readability, expressive power, and consistency. I have tried to ensure that “normal” documents in the many incompatible existing implementations of markdown will render, as far as possible, as their authors intended. And I have tried to make the rules for different elements work together harmoniously. In places where different decisions could have been made (for example, the rules governing list indentation), I have explained the rationale for my choices. In a few cases, I have departed slightly from the canonical syntax description, in ways that I think further the goals of markdown as stated in that description.

Part of my contribution to the project is to host the discussion / mailing list for Standard Markdown in a Discourse instance.

Fortunately, Discourse itself just reached version 1.0. If the only thing Standard Markdown does is help save a few users from the continuing horror that is mailing list web UI, we all win.

What I'm most excited about is that we got a massive contribution from the one person who, in my mind, was the most perfect person in the world to work on this project: John MacFarlane. He took our feedback and wrote the entire Standard Markdown spec and both implementations.

A lot of people know of John through his Pandoc project, which is amazing in its own right, but I found out about him because he built Babelmark. I learned to refer to Babelmark extensively while working on Stack Overflow and MarkdownSharp, a C# implementation of Markdown.

Here's how crazy Markdown is: to decide what the "correct" behavior is, you provide sample Markdown input to 20+ different Markdown parsers … and then pray that some consensus emerges in all their output. That's what Babelmark does.

Consider this simple Markdown example:

# Hello there

This is a paragraph.

- one
- two
- three
- four

1. pirate
2. ninja
3. zombie

Just for that, I count fifteen different rendered outputs from 22 different Markdown parsers.

In Markdown, we literally built a Tower of Babel.

Have I mentioned that it's a good idea for a language to have a formal specification and test suites? Maybe now you can see why that is.

Oh, and in his spare time, John is also the chair of the department of philosophy at the University of California, Berkeley. No big deal. While I don't mean to minimize the contributions of anyone to the Standard Markdown project, we all owe a special thanks to John.

Markdown is indeed everywhere. And that's a good thing. But it needs to be sane, parseable, and standard. That's the goal of Standard Markdown — but we need your help to get there. If you use Markdown on a website, ask what it would take for that site to become compatible with Standard Markdown; when you see the word "Markdown" you have the right to expect consistent rendering across all the websites you visit. If you implement Markdown, take a look at the spec, try to make your parser compatible with Standard Markdown, and discuss improvements or refinements to the spec.

Update: The project was renamed CommonMark. See my subsequent blog post.

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


James Ward: PEAS

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

While Steph McGovern may be happy to use inappropriate units of measurement when talking about cheese, it is a relief to see the people at Yes Peas! are a little more cafeful with their numbers.  Yes Peas! is a pea-information website run by the British Growers Association which in turn is a trade association which “represents & promotes UK growers … Continue reading 


Monday, September 1

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.


Saturday, August 30



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


Friday, August 29


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:


Tuesday, August 26

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


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 is back online! 


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 4

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


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


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


Tuesday, July 29


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 


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


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


Friday, July 18

Coding Horror:

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

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

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.


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


Thursday, July 10

The Blasphemous Bicycler:

Adam: I am the Mapillary King of Pennsylvania!


Tuesday, July 8

James Bridle: Homo Sacer

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

Changelogs, holograms, and who gets killed.


Friday, July 4

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


Sunday, June 29

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


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


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


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 8PM.

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


Monday, April 21


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 which is a python program to turn a GeoTIFF into a set of tiles. It creates TMS tiles, TMS stands for Tile Map Service which I think was intended to be a standard. The numbering of the Y-axis tiles is inverted compared to OSM tiles. It is easy to rename the tiles to match the OSM convention, but Leaflet (and OpenLayers) supports TMS and none-TMS layers and can use them interchangeably. 

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

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

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


Wednesday, April 9

Linode Blog:

caker: Introducing Hourly Billing

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

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


Tuesday, April 8


jonny: Custom terminal titles in Ubuntu

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

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

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


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

Mostly Harmless:

rob: Soylent Announces New Line of GMKs

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

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



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

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


Saturday, March 15


Jon: The charity-mugger phenomenon

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

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


Tuesday, March 11

James Bridle: #Rorschcam NYC

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

A hello present to New York City


Monday, March 3

Mostly Harmless:

rob: Platonic Payments

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

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


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.


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

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

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


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


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

James Bridle: Planespotting

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

Watching the deportation flights.


Wednesday, December 11

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.


Wednesday, November 27

Open Maps:

Chris Hill: Using Leaflet with a database

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

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

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

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

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

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

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

 * ajxplaque.php
 * returns plaque points as geojson

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

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

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

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

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

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

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

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

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

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

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

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

function showPlaques(ajxresponse) {

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

map.on('moveend', whenMapMoves);

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

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

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


Thursday, November 21

Open Maps:

Chris Hill: Using Leaflet part 2

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

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

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

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

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

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

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

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

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

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

More examples to come ...


Wednesday, November 20

Mostly Harmless:

rob: High Frequency Dating

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

The other day I realized there was something missing in my life, so I set out to find a solution. Online dating is in vogue, which makes sense. The internet already has no small part in satisfying most of my other needs. I was pleased to learn that the latest popular dating app, Tinder, now has […]


Tuesday, November 12

Mostly Harmless:

rob: Motherboard / Vice Soylent Video

Posted on the 12th of November at about 9PM.

cross-posted here: in regards to the Vice / Motherboard piece here: This morning, Vice’s Brian Merchant published a documentary video and accompanying article that outlined his experience living off Soylent exclusively for thirty days, several months ago.  Brian sought to recreate the scrupulous conditions of my initial Soylent test. Though the overall tone of the article […]


Wednesday, October 23

Mostly Harmless:

rob: Soylent Funding Announcement

Posted on the 23rd of October at about 7AM.

Cross-posted from the Soylent company blog at It gives me great pleasure to announce that we have accepted over $1.5 million in seed capital from Andreessen Horowitz, Lerer Ventures, Hydrazine Capital, and Initialized Capital. This is in addition to the now over $1.5 million in pre orders our Crowdhoster campaign has collected since May. […]


Thursday, September 5

Mostly Harmless:

rob: The Whole Food Fallacy

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

This is a response to:, as well as some of the comments In 1828, a young organic chemist named Friedrich Wöhler committed heresy.  Wöhler accidentally synthesized Urea, a component of many lifeforms, from inorganic components. At the time everyone knew there was a special “life force” that separated organisms from other matter. It was a […]

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: 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 Curated by Karys McEwen


Sunday, August 11

Stone: Three Daze South – on Youtube!

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

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


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


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.


Friday, June 28

Mostly Harmless:

rob: Nothing to Fear

Posted on the 28th of June at about 6PM.

Our world has gotten more complex, but it is safer than it has ever been. Paradoxically, it seems people are less comfortable than ever. Cancer is the new communist. It's in everything new that we don't understand. My mother is afraid of her microwave. Watching network news is gruesome. People overpay for food of inferior […]


Tuesday, June 18

Release notes from semver:

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


Sunday, June 16

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

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

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


Friday, June 7

Danny O'Brien's Oblomovka:

Danny O'Brien: PRISM, Verizon: Surprise!

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

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


Tuesday, May 21

Mostly Harmless:

rob: In Defense of New Food

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

Over the past few months I've gotten to engage with a lot of picky thinkers regarding soylent. I think people tend to make up their minds quite quickly, and then proceed to defend their snap judgments. As Stephen Pinker says, the mind is more of a spin doctor than a commander-in-chief, and it can be […]


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


Thursday, April 25

Mostly Harmless:

rob: Soylent Month Three

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

After three months I should be finding deficiencies, and I did. I started having joint pain and found I fit the symptoms of a sulfur deficiency. This makes perfect sense as I consume almost none, and sulfur is a component of every living cell. Sulfur is hard to miss in a typical diet so the […]


Sunday, March 17


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


Saturday, February 2


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

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


Sunday, July 22

Danny O'Brien's Oblomovka:

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

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

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


Friday, May 25

Danny O'Brien's Oblomovka:

Danny O'Brien: NTK, Fifteen Years On

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

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


Tuesday, March 27

John Kozubik:

John Kozubik: With friends like these...

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

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


Sunday, March 11

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

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

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


Thursday, February 23

Stone: Life….!

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

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


Wednesday, February 15

Danny O'Brien's Oblomovka:

Danny O'Brien: reality distortion field lensing

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

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


Friday, February 10


Clare Davies: 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


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


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


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

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

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

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

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


Saturday, August 14

PEAR Blog:

doconnor: PEAR in August

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

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


Friday, August 6

John Kozubik:

John Kozubik: The Warrant Canary in 2010 and Beyond

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

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


Friday, June 25

John Kozubik:

John Kozubik: Moving (back) to the Finder

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

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


Saturday, May 29

PEAR Blog:

cweiske: Google code channels work again

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

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


Thursday, February 18

John Kozubik:

John Kozubik: Git and Subversion Support at

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

At long last, git is supported at


Saturday, December 12

John Kozubik:

John Kozubik: Google DNS

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

I believe that Google will begin delivering search results based not only on PageRank but an amalgam of PageRank and other, increasingly "out of band" information.


Thursday, November 19

John Kozubik:

John Kozubik: Making the Mac more like Ion

Posted on the 19th of November at about 8AM.

For ten years - roughly 1999 through 2009 - all of my personal workstations ran the Ion window manager on top of X Windows (on FreeBSD, FWIW). (actually, it was ratpoison at first...)


Friday, November 6

John Kozubik:

John Kozubik: Flat Rate Storage Services vs.

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

One of the most common pre-sales questions we get at is: "Why should I pay a per gigabyte rate for storage when these other providers are offering unlimited storage for a low flat rate?" The short answer is: paying a flat rate for unlimited storage, or transfer, pits you against your provider in an antagonistic relationship. This is not the kind of relationship you want to have with someone providing critical functions.


Saturday, October 24

John Kozubik:

John Kozubik: SwissDisk Doubles Down

Posted on the 24th of October at about 8PM.

We'd heard of SwissDisk here at, but they rarely showed up on our radar screen. We were reminded of their existence a few days ago when their entire infrastructure failed. It's unclear how much data, if any, was eventually lost ... but my reading of theirannouncement makes me think "a lot". I'm commenting on this because I believe their failure was due to an unnecessarily complex infrastructure. Of course, this requires a lot of conjecture on my part about an organization I know little about ... but I'm pretty comfortable making some guesses.


Tuesday, June 30

Dave Robertson:

Dave Robertson: Coral Coast Tour