Discussing software, the web, politics, sexuality and the unending supply of human stupidity.

Sir Roger Moore:

In a world with boundless opportunities for amusement, it’s detestable that anyone would choose to get thrills from killing others who ask for nothing from life but the chance to remain alive. The animals whose lives he has so cold-heartedly snuffed out have precisely the same capacity to feel pain and suffer as we do. All leave family members or mates behind when they’re killed, and none is exempt from grief.

Jane Goodall:

I have no words to express my repugnance.

TechCrunch's Gigster profile is proof tech journalists will believe just about anything

Read this if you want a giggle.

Got a startup idea? That and some cash is all you need to get a fully functional app built for you by Gigster. Launching today, Gigster is a full-service development shop, rather than a marketplace where you have to manage the talent you find.

Oh, you mean like hundreds of other software development companies?

Just go to Gigster’s site, instant message with a sales engineer, tell them what you want built, and in 10 minutes you get a guaranteed quote for what it will cost and how long it will take.

10 minutes for a fully estimated project plan: that’s the biggest load of bilge I’ve ever heard.

Once you get your project back, Gigster will even maintain the code, and you can pay to add upgrades or new features.

You bet. Can you get anyone else to add upgrades or features? Or do they have any IP interest or right of first refusal? Those sort of questions are things a journalist might ask. But, oh, this is tech journalism.

And “maintain”. Bit more detail required.

Gigster fixes [management issues] by assigning a project manager to handle 100 percent of the management of your developers and be your sole point of contact. If the project is behind schedule, Gigster just assigns more developers to it or fires under-performing ones so it gets done on time.

Yeah, let’s ignore that the Mythical Man Month problem is a thing. Chuck more developers at the problem! “Beatings will continue until morale improves” is not a good management philosophy.

I’m sure that when your motivation is “get this shit out the door and get cash money now” and your clients are the sort of idiots who believe that they can hire coders like they do Uber cabs, you’ll produce reliable, well-tested and secure code. Right? I mean, no motivation to cut corners or anything.

The Gigsters come from companies like Google or Stripe that are looking for some extra projects

I’m sure they don’t have any no-compete or employer-owns-all-employee-produced-IP constraints in their contracts. Should work out just fine, right up until the client finds out that Google or Facebook owns a whole bunch of their IP.

10 minutes for full project costings? Mythical Man Month solved? This snake oil sure is deee-licious.

The idea that a guy who has built a whole bunch of Facebook apps is going to wave a magic wand and make software development cheap, predictable and with the kind of modularity and simplicity of booking a cab is such a laughable notion that the only people I can see believing it are tech journalists.

Just reading about how “brain training” games like Lumosity seem kind of bullshity. But the exact flavour of bullshit that smart people will buy into, just like all that Singularity bollocks…


Please stop wishing hypothetical LGBT children on homophobes as "punishment"

I’m writing this because I’ve seen this shit far too often from people who ought to know better.

It would be really nice if “straight allies”, whether self-identifying or not, could stop with this nasty little trope of wishing gay children on homophobes. It has become a common enough joke: some self-righteous preacher or politician makes some cruel homophobic remark, or works to enact a piece of legislation that will disempower lesbian, gay, bi, trans or queer people in some way, and then a sassy commenter will joke about how it would be a hilarious bit of fate if one of said homophobe’s children to end up being L, G, B or T themselves. A gay son, a lesbian daughter: those would be be fitting punishment for such a ghastly person!

Yeah, hilarious.

Except it isn’t so hilarious when you actually think about it. If you asked the person making this joke whether they consider having a child who grows up to be LGBT to be worse than that child growing up to be heterosexual (and cisgender), they’d tell you that they value the two equally, even though their words could cause one to dispute this claim. Why is having a queer child such a punishment? Is their LGBTness some kind of moral stain that marks the child out?

No, no, no, they say, it’s not me who thinks it’s bad. But the homophobic person, they would think it is bad!

Perhaps what they are hoping is that the sudden plot development of the Rick Santorums or Maggie Gallaghers of the world finding out that one of their offspring is themselves LGBT is going to cause them to rethink their position, much as it did for Republican politicians like Rob Portman and Dick Cheney. Sure, that would be a nice result, but what seems to get forgotten is the kids themselves, the unconsenting means to the desired Damascene end.

The imagined gay son-of-a-homophobe imagined by irony-loving liberal commentators would be subject to an upbringing of unending terror for their entire childhood. (And, you know, kids being in an unsafe environment is something I think we can probably agree is bad.) Even the kids of lovely hippy liberals feel a whole lot of often unwarranted fear and shame about coming out, but if you grew up watching your father go on TV comparing gay people wanting to get married to advocacy of “man-on-dog” marriage? May as well make that closet door out of concrete.

The lives of gay children aren’t there to teach some moral lesson to the nasty homophobes of the world. Year after year of bullying, homophobia and fear is not a fair trade for some kind of “the universe is fucking with you” karmic justice for homophobes. And that’s presuming that it actually works: homophobes having gay kids won’t magically lead to some happy Oprah Winfrey redemption story where everyone comes out of it happy. That’s sappy daytime TV shit. Some of those homophobes aren’t going to feel shamed into not hating LGBT people because they happen to be related to one. They’ll just kick them out, disown them and treat them like shit, just as they do to all the other LGBT people they come across. There’s a reason why so many homeless teenagers are LGBT, especially in bastions of godliness like Utah.

But even if it did lead to some kind of conversion, that doesn’t justify the pain the kid will have gone through. Just consider the harm to the kid and weigh it up with the benefit of their parent not being homophobic any more: there’s a massive imbalanace of harm vs. good there, and the harm all goes to the hypothetical gay kid. All that fear and bullying and self-doubt (not to mention increased risk of self-harm and suicide) that the LGBT kid goes through by being born to parents ideologically committed to homophobia isn’t some kind of “trade” for the eventual reluctant acceptance by their parent. The hypothetical queer kid’s life story is—in this scenario—dictated by their reaction and resistance to the bigotry of their parents. Sorry, hypothetical queer kid, you don’t get a happy childhood, nor do you get your own life or ambitions, you have to exist to satisfy the desire for some poetic justice by a straight person with a rainbow flag avatar on Facebook.

The person invoking this nasty trope doesn’t care about the hypothetical queer child: they care about God, karma or Mother Nature or whoever using them as a way to get back at the homophobic baddie. The safety or best interests or wishes of the hypothetical queer child don’t matter, because said child is just an actor in a morality play. The fact that actual LGBT people would find the prospect of growing up as the gay child of some big-time homophobe to be utterly horrifying doesn’t matter, because their safety doesn’t matter. They are soldiers in the war, and if winning the war means losing some troops, well, you gotta break some eggs, right?

The gay-kid-as-comeuppance-for-homophobia trope is exceptionally sad because it casts the child into a drama not of their own making: their life doesn’t matter, their place in the grand historical psychodrama of whether or not their parent gets over their bullshit prejudices is what matters. For the whole history of representations of LGBT people, our existence has been less about defining our own stories, being the master of our own lives, telling our stories (albeit often through a queer lens), but has been about being the side plots, the amusing stereotypical fairy who does the straight protagonist’s hair and nails perfectly, the oddball who provides comic relief, the Village People cartoon rather than the complex and nuanced people that heterosexuals get to be in films and TV.

We’re either oversexed to the point of derangement or rendered in ascetic celibacy so as to not offend. We’re the people who get interrupted when the bumbling straight dude wanders into our bars where we gobble him up like a piranha, or the sassy queen able to dispatch flawless fashion advice to his rich straight girlfriends—we’re there to civilise straight people, whether by forcing them to confront their own prejudices or by fixing them up with an amazing manicure. We’re not there to actually be ourselves or to have struggles or romances or lives of our own, just to serve as a plot device in the service of the straight protagonist. Existing solely to serve as divine punishment for wrongdoing is an example of this.

Thanks to this morality tale trope, we get to serve a new and exciting role as clumsy moral example by being legally tortured by our parents for years in order to finally shame them them into reluctantly admitting that we are human beings. Yeah, that sounds like a life I’d actually want.

The hypothetical queer kids are not actual people in this story, they are a curse. When you use this trope, you kind of imply that we’re a curse too.

If the BBC produces popular programmes, people say it is cannibalising commercial broadcasters. If they produce public service broadcasting that isn’t getting many viewers, the same people will also complain that we are funding a broadcaster that isn’t producing stuff people watch.

This is a game the BBC can’t win; their only winning move is to not play. The only way to truly satisfy their critics is to be utterly destroyed or be privatised (same thing really).

Testing Apple Pay in London

Apple Pay went live today in Britain. I was browsing Facebook and I saw another iOS user excited that they’d got Pay working. I know they have a penchant for downloading public betas and so on, so I thought perhaps they might be early to the party.

I grabbed my phone and saw that Apple Pay was on the menu. The card I use for the iTunes/App Store was already listed in there—I just needed to get a text. I also set up some other cards. The text approval cycle varies. With American Express, it was damn near immediate. With NatWest, it took a while. NatWest probably send out an order of magnitude more texts than American Express (just based on the fact that they have to notify customers about debit and credit cards, loans, mortgages, savings accounts and much else besides).

After playing ping-pong with verification codes, I now have four cards in my Passbook—my American Express card, my NatWest credit card and two NatWest debit cards. Barclays do not support Apple Pay, otherwise I would have added my business debit card. The reason Barclays aren’t supporting Apple Pay is because they have their own thing called bPay. They seem to think that people would much rather pay money to get a thing that looks like a Fitbit but is actually a way to make contactless payments. Good luck with that. Nobody wants that shit. So no Barclays. Just American Express and NatWest for me.

The first thing I noticed is how different the set up experiences were. When I set up the American Express card, the app gave me a welcome message from American Express which basically explained how I used it, and what to do if my phone is lost or stolen (basically phone them). My bank provided no such welcome message.

The layout of the Passbook changes once you have payment cards in there: it is split in to two sections with your credit cards at the top and your passes at the bottom. One thing that will be interesting is to see how exactly this all works when travelling: when you are at an airport and have a Passbook-based boarding pass, it prioritises that over the other uses of your phone. How you juggle between boarding pass and Apple Pay is something I’ll have to wait until I next fly to find out.

The Passbook entries vary in utility. The American Express Passbook entry is spectacularly useful. When I first got an American Express card, I downloaded the Amex app, but it requires me to enter my password to log in everytime. I stopped using the Amex app pretty much immediately and started using the (mobile optimized, responsive) website because I could login with 1Password. The Passbook card gives me the bare essentials of what I wanted from the website or the app but with less inconvenience—it shows me the recent transactions on my card. If I want to know the full balance on my card or how many points or whatever, I have to login to the website, but this reduces the friction a lot. If you have an American Express card, it is worth setting up Apple Pay for it, even if you don’t plan to use it much, just because Passbook is the most friction-free way to see your transactions.

The NatWest Passbook entries aren’t nearly as useful. They do distinguish between debit and credit cards, but if you have two debit cards from NatWest (say, a separate joint bank account, or a business and personal account), there’s no way to tell the difference between the two debit cards except the last four digits. Being able to add a label to your cards would be a useful addition to help separate these things out.

The NatWest Passbook transaction list only shows you transactions on your NatWest cards that have been conducted on the phone itself compared to the Amex approach of showing you all transactions conducted on your account.

Personally, I think that in this day and age, we ought to have instant SMS notifications for every single transaction for auditing purposes, but until that happens, I think that it is important for the banks and credit card companies to make getting access to your transaction log as seamless and non-fussy as possible while still staying secure. Until Apple Pay, it was easier for me to find out the transaction log for my Subway loyalty card than it was to find out the transactions on my credit cards.

Anyway down to the actual business of testing this thing.

First stop, a London bus. One of the New Routemasters (or “Boris buses” as they are known), to be specific. Hop on the back. Hold my phone to the reader and hold my finger on the button. It takes a fraction longer than it usually does with my card but eventually it works. Once I have climbed upstairs and sat down, the Passbook app tells me I had a transaction in “London, England”. I am guessing that is because the mobile payment point on the bus may not have transmitted as much data back to my phone as one in an actual shop.

Second stop is a branch of Boots pharmacy. I hold my phone to the reader and it goes into pay mode. I authenticate and my phone says “done” but the card reader wasn’t having any of it. I try again and then pull my wallet out and charged it to my card normally. The assistant told me that someone else had used their iPhone to pay earlier that day and it worked then.

Third attempt today was to get the bus home. I think I’ve got it this time. Only like a buffoon, instead of holding my finger on the home button, I press the home button and it leaves the Apple Pay screen and goes back to the homescreen. I have to pull the phone away from the reader, put it back, then put my finger back on the home button. The bus driver looks at me as if I’m simple.

Will Apple Pay mean leaving wallets and purses at home everyday? No. It means a proportion of payments can be done on your phone. The contactless ones in shops where the gear supports it. It is slightly more fiddly and you are reliant on a device that can lose its charge. It might mean lesser used cards get left at home (business expense cards, store cards) but most people will want the security of having the actual plastic in their pocket to pay when it goes wrong.

I can perhaps see how there might be some contexts in which just having one’s phone and some cash might be an alternative: exercise and clubbing. Like, if I’m going to a nightclub, I want to take the least amount of stuff possible. My phone, plus some banknotes and keys is pretty minimal compared to having to take a wallet. I can pay to get in, pay for some drinks with my phone and then book a cab home with Uber/Hailo etc. (or pay for the night bus—or maybe the night Tube—with Apple Pay). That’s the theory: might not work so well if one has used up all one’s electrojuice on nocturnal WhatsApping, Grindering/Tindering, Snapchatting, Instagramming or Shazaming.

Apple definitely need to improve the UX. iOS 9 promises to do this: double tapping the home button will apparently allow you to “pre-auth” the next payment before you touch it to the reader. Meaning hopefully you won’t be the arsehole holding up the queue of busy commuters on the bus or at the Tube gate faffing with his phone (or worse, his bloody smartwatch). That might improve things.

There are still some unanswered questions I have. Let’s take Transport for London. They have a system called price capping. If I am using an Oyster card or contactless card, the cost of using them on a pay-as-you-go basis won’t ever exceed the cost of buying a daily or weekly travelcard covering the journeys I have made. But does that work if one uses a contactless card and the same card via Apple Pay interchangeably? I asked TfL on Twitter and haven’t had an answer. I read earlier that starting a Tube journey with Apple Pay and finishing it with a card will lead to two journeys being recorded, and two fines. This seems like a recipe for massive quantities of ballache and some time-consuming calls to the refund line. It would be nice if TfL were to sort this out and explain it in a simple way so people don’t get caught out.

One thing I’d be interested in is whether there’s any plans to handle person-to-person money transfer in the future in addition to consumer-to-business. PayPal fees kind of suck, and I don’t really know anyone who actually uses Paym. There’s Bitcoin, but I’m not a Ron Paul-worshipping goldbug and I don’t think my non-technical friends and family are going to want to learn what a blockchain is or convert their Pounds Sterling through some shady-looking website. And none of them are that bothered about bringing back the gold standard either. It’s all very well making it easier to make credit card payments to businesses, but it would get quite interesting if Apple were to basically build a nice user experience on top of Paym: tap phones together, type in the amount, send.

Overall, Apple have done an okay job at this. One time transaction keys and biometric verification seem an improvement on the current joke that is credit card security.1 It needs to not randomly not work at places where contactless payment otherwise works and the iOS 9 updates need to make it so we aren’t stuck holding up queues waiting for TouchID to do its thing. There are real benefits in switching to a smartphone-based payment system (transaction notifications and biometric security), but it needs to be as seamless and boring as using my existing contactless cards.

  1. Example one: they think that the failure of a shared secret model can be fixed by adding another shared secret—CVV numbers. The credit card fraudster now has to work so much harder—they now have to turn your card over and take note of a three digit number printed on the back (or four digit number on the front in the case of Amex). That’ll stop them.

    Example two: 3D Secure aka. SecureCode aka. Verified by Visa. Banks and credit card companies encouraging people to fill in personal data in an iframe embedded in random websites is basically teaching non-technical users how to make themselves more vulnerable to phishing.

The phrase “Yik Yak celebrity” refers to an actual thing, apparently. I’m old and I have no idea anymore.

humans.txt should be replaced with humans.html. HTML is like TXT but with links and graphics and all that.

This HTML thing is cool, we should do more of it.

#indiewebcamp Brighton demo notes

Jeremy Keith, @adactio,

  • posting notes on your own site: “feels really good” to not be tied to Twitter - getting the benefit of Twitter
  • photographs: POSSE to Flickr and Twitter, PESOS to Instagram
  • everything also goes to Facebook via IFTTT
  • Posting update - simple textarea, choose file, Twitter and Flickr binary switches (slidey JavaScript)

Peter Molnar,

  • “hack’n’slash” version of wordpress - be careful with the security, everyone will be trying to hack it
  • Markdown-based
  • plugin to import comments from places syndicated to
  • Webmention plugin for WordPress - needed to replace regex to use markdown
  • NextScripts: Social Networks Auto-Poster - “one of the most horrible things I’ve ever seen in my life”
    • free version only posts to one network at a time, not paying for pro version
  • Keyring: can import everything from Flickr, Facebook etc. without use of Bridgy

Jeremy demoing Bridgy…

  • Looks at your Twitter, Instagram and Facebook accounts: notifies you when someone has responded, it’s up to you what you do with it.
  • Tweets as comments
  • You can display them however you want, it’s up to you.
  • You can use it to publish, with write permissions.

Rosa, Happy Bear Software,

  • made a Ruby on Rails app
  • design skills aren’t so good, bought a template and choopped it up
  • portfolio, contact form, blog - did my blog on Wordpress, then copied over the HTML
  • adactio: maybe add h-entry microformat, webmentions support for when someone leaves you a message

John Ellison,

  • running on Ghost, Node.js-based - preferable to Wordpress because it is lighter weight
  • curious about webmentions.
    • adactio: static site or if you don’t control the back-end it is a problem, you then need to use JavaScript to pull in the comments.

Amy, rhiaro:

  • post all my notes to site - semi-manual process, not completely automated
  • Micropub, can post using Quill (login via IndieAuth) which sends to Micropub
  • post checkins - checkin + photo, notes, longer articles with titles, bookmarks, RSVPs, reposts, likes
  • likes are syndicated to twitter using
  • travel plans
  • all marked up with microformats
  • uses


  • indieauth - lazy as possible, so we use third party - rel=me links to third party authentication
  • the idea is that instead of coming up with your own special snowflake editor - use whatever Micropub client you like
  • - Medium style editor
  • look at what third party sites do well, try and replicate or improve on what the silos do
  • write blog post on Quill, push to wherever

Lewis Nyman,

  • Jekyll - host on Github, don’t have to think about databases or servers
  • process is not that good: write flat file, compile on laptop, deploy to Github - can’t do that from phone
  • static sites mean you can’t do things like pingbacks/webmentions
  • suggestions from audience: jekmentions and GitPub
  • GitHub pages is really limited

Giulia -

  • likes static sites because of speed
  • want to use Ruby/Octopress - mirrored between github and own server - distributed backups
  • publishing for myself first - if other people find it useful, that’s a bonus
  • aside: most people using Markdown

Me. You are already on my site.


  • Was using Jekyll - some problems with dependency on Python

Sorry, I stopped note-taking at this point.

#indiewebcamp year in review

Today is IndieWebCamp in Brighton and Portland. As part of this, we are collectively trying to review a year of progress.

My year in review is pretty short: I’ve not done much at all. Just lots of little fixes and tweaks. My lack of progress has been mostly due to a busy schedule of work combined with some significant health issues which have taken a lot of my time (plus a lovely new relationship!).

But stuff I did add since this time last year:

  • Super-duper HTTPS support (currently rated A according to SSL Labs, will switch over to SHA-2 when I renew)
  • Experimenting with app cache
  • Design changes on the maps on the places section

I’m in the process of rebuilding my site using Django, learning the lessons of v1. I’m hoping to also make the finished version available as open source. The lack of an open source release of v1 is not due to a lack of desire to do so, but simply a number of problems with the code base that make it rather unpresentable and not that useful to people who aren’t me.

I’m hoping in the next year to finish rebuilding my site in a more modular way with a bunch of nice things to make it easier for me to work on new features. Specifically, the use of things like django-waffle-based feature flagging, so I can roll out features just for myself and test them before rolling them out more generally.

More broadly, I have been happy with the advances made by mf2py and thank the contributors, especially Kyle who has been extremely diligent in ensuring Python 3 support, fixing bugs and pushing out new releases. Microformats2 is making great progress, with parser libraries now available or being developed in Python, PHP, Go, Node.js, Ruby and Java.

FlashAir looks like a hacker-friendly alternative to Eye-Fi. @aaronpk has been playing with one and you get to build stuff. It’s all in Lua, which is a good enough reason to play with it. (Lua actually is the embeddable scripting language that people think JavaScript ought to be.)

iOS+OS X podcast app roundup

Recently, I’ve been trying to find the perfect combination of podcast software.

I have some simple requirements.

  1. OS X support.
  2. iOS support.
  3. Sync between the two platforms: if I am listening to something on my phone, then when I get back to my laptop, I should be able to listen where I left off.
  4. Ability to store the files permanently for archival purposes. (Plenty of stuff dies on the Internet, going to the giant 404 page in the sky and I want to be able to keep those files around.)
  5. The data flows through the application in a way that is understandable and relatively transparent and which mentally fits with how it ought to work.
  6. Relatively pleasant UX.

I have prioritised the issues in order of importance, with the more important things first.

The candidates I looked at are:

  • the iOS Podcasts app combined with iTunes
  • Instacast
  • Overcast
  • Downcast
  • Pocket Casts

I immediately disqualified Overcast and Pocket Casts as they do not have OS X support, and also thus fail (3) and (4).

The iTunes podcast app is okay, but the syncing between desktop and phone is pernickity and rubbish.

Instacast handled most of these issues, but the developer of Instacast has now gone out of business and rather than using, say, iCloud or Dropbox to sync state between the mobile and desktop versions of the app, it used the developer’s own servers, which have been discontinued. What a shit show. (A previous app by the same developer also had similar problems.)

Which leaves Downcast. It’s okay. The desktop client is sluggish and sometimes unresponsive, but it does actually work most of the time. The UX leaves a lot to be desired, but it satisfies all the other requirements. I’ve reluctantly switched to it pending someone making something that sucks less. (I’m not holding my breath.)