Archive for the 'general geek' Category

In praise of community conferences

As part of my usual Autumn tour of European capitals (this year, Berlin, Bucharest, Amsterdam, London, Paris, Madrid, Oslo) I’ve been lucky enough to speak at three community conferences, which are always my favourite.

SmartWeb, Bucharest

The first was SmartWeb conference in Bucharest, Romania. This was started last year by Gabi Schiopu who was frustrated by the lack of front-end conferences in his country, but the cost of international travel and hotels is prohibitive, so decided to start his own. So he got an event organising partner (thank you, Evensys!) and invited speakers. It proved so successful that he ran it for a second year. As I’m paid to do international jetsetting by Opera, I asked that my speaker fee be converted into free tickets for deserving local university/ school students. We’re all pictured below with McCartney-esque cheesy grins and thumbs up. By an almost incredible co-incidence, we were all wearing matching Opera t-shirts.

students

I had great fun presenting and MCing the event, and Bucharest is a delightful city.

Fronteers, Amsterdam

The second was Fronteers in Amsterdam. This year is the seventh conference; I’ve been to four (and spoken at three, if you don’t count this year’s lightning talk the night before). Fronteers is a conference I like to attend because it’s deeply technical, which makes it pretty scary as a speaker but very useful for the audience – there’s no “How I get inspiration from, like, nature and moleskines” or “Iterate often and dare to fail, you’re awesome” stocking-filler on this stage. (And, what a stage it is! A giant cinema screen in the beautiful Pathé Tuschinski cinema. They could probably easily fill a bigger venue, but part of the Fronteers charm is this venue.)

My friend Shwetank Dixit spoke on WebRTC – A Front-end perspective and, as he’d come all the way from India, the rest of the Opera Devrel crew descended on Amsterdam to give moral support and drink Dutch beer (the best is called “jenever” – no more than 4 pints, though). As usual, lots to learn and lovely to meet the great and the good of Europe’s web developers there.

Fronteers is organised by a group of volunteers, and its charitable status means that they don’t turn a profit at the end of the year – all money made is reinvested back into other events and initiatives for the Dutch web development community. Yay. Thanks, Fronteers crew, for putting on the conference and looking after me so well (even though I wasn’t actually speaking).

ParisWeb, Mauritius

Only joking- Paris, duh. For its ninth year, I decided to ruin its reputation and give a talk on “Web Components- The Right Way” with Karl Groves of The Paciello Group. Here’s the video, and here are our slides:

What’s jolly nice about ParisWeb is that English talks are simultaneously translated into French, all talks are translated into sign language and transcribed live. The latter was useful to me as I find it easier to read French than to follow the spoken language (French people spell much better than they pronounce), especially technical French for hours. I was especially proud when the signing interpreter sought me out after my unscheduled lightning talk (video, starts at 18 mins) to thank me for giving her the opportunity to sign “rectal prolapse” and “ejaculate my own liquified spleen” which, inexplicably, she seldom gets to do.

Again, ParisWeb is run by a group of volunteers who do it for love of the web.

Vive les volunteers! Please do all you can to support these conferences and, if you’re invited to speak, accept – it’s part of contributing back.

Monday meh

(Being the second in an occasional series called “Monday meh”, in which I briefly fulminate about something that made me a bit grumpy.)

Carolyn Kopprasch’s brilliant etymological detective work The Power of Every Word: Why I Stopped Using “Actually” and “But” In My Customer Service Emails reveals the hidden evils of these two simple English words:

It almost doesn’t matter how good the news is; if it comes after “actually,” I feel like I was somehow wrong about something.

Consider these two sentences:

Actually, you can do this under “Settings.”

Sure thing, you can do this under “Settings!” :)

…It’s amazing how much brighter my writing (and speaking) gets when I go through and lose the “actuallies.”

While I’m at it, I try to get rid of the “buts” too.

Sentence 1: I really appreciate you writing in, but unfortunately we don’t have this feature available.

Sentence 2: I really appreciate you writing in! Unfortunately, we don’t have this feature available.

Feel different? When I substitute my “buts” for exclamation points, I feel so much happier with my message.

In short: Don’t forget the happiness exclamation marks! And the smiley face! Every sentence should have one! Every thing must be happy! All the time :)

Kopprasch tells us that removing the word “actually” from her vocabulary is “One of my favorite “happiness hacks””. I’ve got nothing against the words “but” or “actually”. But I’d drown the phrase “happiness hack” in a bucket.

Oops: I mean “I’d drown the phrase “happiness hack” in a bucket!! OMG LOL!! :)”

Meanwhile, Techcruch has discovered The App Store Is Proof We’re In Idiocracy. Apparently this is because these days, the best-sellers in the iTunes App Store are games like Weed Firm, Toilet Time, Flappy Bird clones and the like.

Now, I’m no defender of walled-gardens of programs for closed platforms; I take childish delight that, in Finnish, “åpp større” means “fellate a demon”. But a swift glance over some YouTube comments, Facebook will show that the open Web is has its own teensy niches of popular culture. As do TV schedules, book shops, the music business. Because – shockingly – people like popular culture, and popular culture isn’t always intellectual and esoteric.

Sarah Perez, the author, laments that the dirty proles have access to technology:

…phones are now in the hands of a broader, more diverse group of people, both young and old, who won’t necessarily share the same tastes as the tech elite whose punditry and personal recommendations about the “next great mobile app” used to matter.

Boo-fucking-hoo to you, Pope Perez, and to your tech elite priesthood. Getting the web and tech to all the people is the point.

Happy Birthday, BASIC

The programming language, BASIC, turned 50 years old yesterday. I started using it 33 years ago, when my physics teacher persuaded our school to buy an Ohio Scientific Challanger 2 microcomputer, with Microsoft BASIC as its 8K ROM operating system and chunky 8K of RAM, then set up a computer club. I went along after school, because my mate Matt’s older brother was in computers and he was cool. (He had a job and owned all the punk LPs we listened to at lunchtime.)

Surprising everyone (including myself), I found that programming simply came naturally to me. I was soon coding games that my friends wanted to play.

It taught me several important concepts – primarily, how to break problems into logical flows, and how to debug when regaled with “Syntax error in line 40″ (you may also enjoy my Old programmer war story tale of epic debugging.)

It taught me about abstraction; I soon learned 6502 assembler and disassembled the ROM to see how the computer interpreted the stuff I typed in. (The joys of finding the message “Microsoft BASIC written by Richard W Weiland” hidden in the memory!)

It taught me about cross-platform; later, I borrowed a Sinclair ZX Spectrum, learned Z80 assembler and realised that although the code I entered was the same as the code I’d written for the Challenger 2 (with some minor syntactical variations), what happened under the hood was wildly different.

BASIC changed the world for me, and on cheap widely-accessible machines like the Sinclair ZX series and the BBC micros, it changed the whole world.

What I love about BASIC is that it was designed for simplicity. As wikipedia writes, “It was intended specifically for less technical users who did not have or want the mathematical background previously expected.” It also prefigured the WWW: “The designers of the language decided to make the compiler available free of charge so that the language would become widespread.”

Even the name “Basic” was a statement of intent; no wonder “real” computer professionals sneered at the language. “Goto considered harmful”, they said. I understood that to mean “working class 14 year olds who do literature and humanities not welcome here.”

Today there are still those who try to make programmers a special priesthood. They can kiss my algorithms.

Thoughts on monetising user data

Aral Balkan asked me to “cut to the chase, Bruce: do you find anything wrong with the business models of Facebook & Google (monetising data)?”

It’s something I’ve been thinking a lot about, but it needs more than 140 characters, so here goes. Note that these are my personal opinions. I work for Opera, which has business relationships with Google, Facebook, and its own advertising arm of the business.

But I also use Google and Facebook services privately so have my own views as a user; again, these are my opinions, not those of my employers.

I work on the web, but at home on my own, so I use Facebook and Twitter a lot. Not only is it useful for discussing work, but it’s my “watercooler”. I don’t mind that the personal stuff I write is publicly available, although I keep my location secret and no longer put the names of my kids online. (Facebook stuff isn’t public. I only really use it as it’s where non-geek real-life friends are.)

I don’t much mind that Google tracks my searching habits around the Web (although I would pay money not to have to watch Treehouse Woman again on YouTube, because she’s too shinyhappy, and puts her coffee down on a wooden surface without using a coaster).

The annoyance I find is offset by the fact that I understand why they do this; it’s how they make money to support the services I use for free, which are primarily Search, Gmail and YouTube. (I get no benefit from Google+.)

In short – I understand that “I am the product being sold”, and am OK with that. Similarly, I’m fine with getting tailored money-off vouchers for products that I use, sent to me by supermarkets who know what I use because they monitor it. I opt in, because I see value in that. You may not; that’s fine.

As long as the companys’ privacy settings are both clear, and honoured by the company, I don’t see this data gathering and data mining as inherently intrusive. I’m not sure that all companies privacy settings are sufficiently clear, however; I read a case study some years ago in which a good-sized sample of people were asked what privacy settings they had on their social networking, and it was compared with the actual setting – very few matched. The Facebook Android app permissions are certainly opaque.

Perhaps companies that do monetize data could make their privacy settings more transparent, and be even more obvious that the price of free is your data. But I think the latter is pretty obvious to those who give it a little thought; we can’t always handhold stupid people. There should certainly be a simple method to delete all one’s data and history from public view, and which will be removed from the company’s server/ archive within a defined period of time.

What annoys me most is when people or organisations use my data without my permission. For example, a few years ago, my wife had a minor car accident. Somewhere in the chain of insurance company, loss adjusters and repairs garage, our phone number was given to an unauthorised third party and occasionally I receive a phone call from a call centre trying to sell me “no win, no fee” ambulance-chasing legal services.

But beyond annoyance, what alarms me is secretive State intrusion into my life through my digital tracks. I assume that all companies – whether a supermarket loyalty scheme or a social network – regularly comply with warrants from law-enforcement agencies going about their legitimate work.

Let’s assume that the social networks and search engines, as they claim, don’t just hand over all their data to the governmental snoops. It then seems to me that, unless they’ve been fantastically lax with their security – which is certainly possible, but unlikely, given that it’s their core cash-generating asset – they can’t be blamed for the actions of the government.

We know from Edward Snowden that some companies’ data is just wholesale hacked by NSA, GCHQ and other state bodies. The legality of this is being debated in courts at the moment. The morality of this is clear (to me): it’s wrong. “If you’ve nothing to hide, you’ve nothing to fear” is the refrain of the KGB, the Gestapo and every despot across the globe.

Government intrusion isn’t new. When I was a teenager, I joined a communist party. My letters from them were always opened (and no others). Presumably, this was done actually by the UK Post Office on police orders – that is, complete collusion, even thought there was no warrant or reason to fear an idealistic but naive 17 year old. It’s also long been rumoured that the voting slips of all UK communist voters were cross-referenced against their counterfoils and the names of communist voters given to Special Branch and MI5.

In short, to answer Aral’s question: I don’t feel that commercial organisations using data that I’ve opted to provide them, for the purposes they said they’ll use if for, is wrong. It’s part of modern capitalism, which contains plenty I have to hold my nose about, but that’s a much longer blog post which I can’t be bothered to write.

The worrisome aspect is states illegally stealing our data from those companies, and putting us under constant surveillance, justified by keeping us safe from this year’s bogeymen.

But those same social networks and web companies allow us to share information on what they’re doing and organise in order to protest against it. The tension between individual liberty (I believe privacy is an integral part of liberty) and state control is not new. The threat may be greater because of technology, but the platform to fight it from is greater, too.

SxSW First Timer’s Guide

The South By South West conference has published its First Timer’s Guide with such nuggets as advising readers to drink water and “Be sure you know the name of your hotel”. In my customary mode of unceasing public service, I offer some more tips:

  • Wipe your bottom after every poo. Wipe from front to back.
  • Do not put a sharpened pencil into your ear, then smack the side of your head against a wall. This may drive the pencil through your Eustachian tube and into your brain.
  • If any panellist mentions Postel’s law, Fitt’s law or Moore’s law, loudly applaud their effortless erudition. However, if a food retail operative mentions “Cole’s Law”, they are referring to salad consisting primarily of shredded raw cabbage.
  • If a tiger escapes from Austin Zoo and, maddened with fear and hunger, races into a conference session that you’re attending, don’t embarrass yourself by falling victim to the tiger-petting anti-pattern.
  • If a stranger asks you if (s)he can see your genitals, say “no” in a friendly but firm voice. (Video tutorial)
  • Even though this is your first time, tell everyone you meet that “it was much better back in ’07”. Everyone will love you.

Happy Southby!

(It was much better in ’02 when I was hanging with Cory Doctorwho and David Byrne at the Jackalope. Of course, nobody went to the Jackalope, then.)

New Spam Call: Charlotte

I got a call last night over dinner from “Charlotte” at “PC support”. As usual, I like to record them keep them talking for as long as possible, to waste their time and in the hope that they’ll blacklist me. I got Charlotte so grumpy that she hung up on me after 5 minutes.

Listen to Spam Call: Charlotte gets grumpy

There are more spam calls, and Reverend Bruce’s replies to spam emails, over at my Spam Letters.

Review: Design Is A Job by Mike Monteiro

I’ve been doing a lot of flying lately, and can’t use the lappy on a plane so decided to read computer books (so the boss can’t berate me for enjoying myself on company time) and review them, actually on a blog rather than simply tweeting “Awesome!” or “EPIC FAIL”.

Presumably because I have incriminating photos of Zeldman, the A Book Apart people send me free copies of their publications, but they haven’t asked me to review them, let alone required me to be nice.

This book accompanied me to Bulgaria and I was, I confess, pretty sceptical. I’ve seen a lot of hand-wavy “design and inspiration” talks at conferences (“Look at the lovely Flickr images, I’ve got an iPad, aren’t we all awesome“). I’ve also seen lots of scarily aggressive Americans talk about how they went from start-up to millionaire in less time that it takes me to get around to scratching my balls in the morning, and disliked those talks even more because they displayed a very un-British lack of taboo about money.

Therefore, I was worried that a book about design and money would be some ghastly hybrid of this: “Hey, we’re all children of the universe which is awesome and like, totally full of, like, emptiness. So make all your websites full of whitespace, then grab that mofo and leverage it into the dollar domain!”

My fears were unfounded. Firstly, there is precisely zero designer handwaving in this book. The author explicitly rejects that:

A designer requires honest feedback and real criticism, and that’s not going to happen in a realm where colleagues or clients are worried bout crushing the spirit of a magical being. The sparkly fog of affirmation gets in the way…A designer solves problems within a set of contraints…a designer understands goals…

There is money talk, as there has to be in a book called “Design is a Job”. But there was even a section entitled “Your ethical responsibility” in which Monteiro writes

You have a responsibility to the community at large to make sure that what you’re signing up to design is worth being designed…So before you take on a client, ask yourself whether the problem the client is asking you to solve is one that you feel good about attaching your name to…There is absolutely nothing wrong with making money…but making it to some else’s detrimnent makes you complicit in that persons’s downfall. If a product you design does harm, then you have done harm.

The author (who I’ve never met and know nothing about) comes across to me as a craftsman – someone who takes pride in the job he does, and the wider craft, but who wants to make an honest living doing it. Whether it be design, or branding, or coding doesn’t really matter. Monteiro writes about design because that’sd what he knows best, rather than because the points made in the book are only relevant to product or web design.

Standout chapters for me were the ones that deal with sticking to your own process and the importance of having lawyers. If I were ever in business by myself – regardless of what type of business – I’d keep those chapters close by me.

To conclude: I’m surprising myself to be recommending this book, even though I expected to hate it. Lots of practical advice, written without bullshit in a voice that seems Monteiro’s own rather than that of his editor or publisher, and which can be read on a couple of European flights.

Live Coverage – WooFone Developers Conference 2012

I had tickets and meant to go to the Apple developer conference yesterday, but took the wrong train and ended up at the Acme wooFone Worldwide Developers Conference instead. As I was already here, I decided to stay and, for posterity, here are my tweets.

10:00 am: Music stops. Audience members begin moistening. Some consumer electronics are about to be shown!

10:02 am: Not-Steve looks sharp as hell, bluejeans and black button up shirt, sou-wester and novelty Hello Kitty aqualungs. Crikey, he’s good looking. I mean, phew. Oh wow! I’m sure he just looked at me!! Hi, Not-Steve!! I love you, Not-Steve!!!!

10:07 am: “Our goal has always been to do great work, and in doing so, make shitloads of money.”

10:15 am: Holy Crap! Acme vacuum cleaners: instruction manuals in 4 new languages, including Aramaic!

10:20 am: Ask-the-Acme AnswerTastic™ any question about root vegetables or Nicaraguan pogostick champions! 24/ FUCKING 7 !!!!!!!!

10:25 am: Ask-the-Acme AnswerTastic™ has 2 different voices – John Inman from Are You Being Served, or comedy Latvian! Awesome!

10:26 am: Lady next to me has full rectal prolapse due to excitement.

10:29 am: Also, Acme Nut-o-lump ScanFabulous™! Rest testicles on screen and it instantly detects any change in density, shape or volume!!!!

10:31 am: Acme Laydee-Bump ScanFabulous™ Companion model for ladies nestles between breasts and performs similar function.

10:38 am: All devices to be 10% smaller due to government of Somewhere Poor agreeing to reduce legal of age of the children mining raw materials. Crowd goes Wild!

10:42 am: Wow! The Acme Upload-a-Foto™ feature brings NATIVE #HTML5 UPLOAD STUFF OFF PHONE TO THE FUCKING CLOUD !!!!!!!!!!! A Miracle!!! Now, you can TAKE A PHOTO on your device AND UPLOAD IT TO A WEBSITE. Competitors must be trembling now!!!!!!!!

10:44 am: entire front row hyperventilate and are stretchered out.

11:00 am: Acme Hipsta-Helpa™ brings turn-by-turn navigation to guide hipsters to the nearest wanky bar for microbrewery beer and obscure music!

11:07 am: Man in front of me with elaborate facial hair and a skateboard spontaneously human combusts. It’s what he would have wanted.

11:10 am: Acme wooFone now with HDMI !!!!!! HDM – FUCKING – I !!!!!!! Which stands for “Handover Da Money, Idiot”. Cloud-based! always-on! Social! HDMI!!!!!

11:12 am: The exclamation mark key on my keyboard falls off.

11:15 am: Ushers issue umbrellas (with “I love Not-Steve” slogan) as there is a tsunami of body fluids squirting from the press gallery.

11:18 am: Two minutes hate start. Android phones ceremonially burned.

11:20 am Keynote ends. Without a doubt, the most important day in human history. He has gone, but His legacy is with us. Not a dry seat in the house.

Luckily for me, Macrumours live-blogged the Apple conference, which was, of course, completely different from the one I attended.

Full Frontal 2011 notes

Full Frontal is organised by my co-author, Remy Sharp and his wife Julie (who both juggled recent parenthood with conference running – respect!). I’ve been unable to attend in previous years due to being out of the country but was looking forward to this one, even though I was a little worried that the JavaScript content would be well over my head.

I needn’t have been too scared. The first talk was on CoffeeScript which seemed to me quite intriguing as it (seems to) encourage you to continue thinking of JS as JS (rather than turning it into Java or some such horror) but smooths away some of the syntactical gotchas that get on my moobs. (See Mike Davis’ write-up.) However, I’m a great believer in not cheating until you know the rules properly, so I’ll be delaying CoffeeScript until I’m more confident in my JS.

The second talk was Phil Hawksworth “Excessive Enhancement – Are we taking proper care of the Web?”, which wittily harangued developers to ensure there is proper semantics underneath the JS shizzle and CSS bling – a subject dear to my heart recently. (And he even quoted me, which is nice!)

I skipped talk #3 “Respectable code-editing in the browser” for some synergy-leveraging as I thought it would be too advanced for me. Only afterwards did I realise that the talk was by Marijn Haverbeke, the author of Eloquent JavaScript that I was greatly enjoying on the train coming down on the recommendation of Noo Yoik JS lovegod Mike Taylor.

The talk on Cloud9 IDE by Rik Arends was a bit of a product pitch, but interesting. I wonder if it works across all browsers?

“Scalable JavaScript Application Architecture” by Nicholas Zakas was the tech highlight for me. He discussed a method of structuring an application so that everything was controlled by a main control app with messages passed into it and back out, with everything else being a black box to everything else. This means the programmer must spend a lot of time at the start of the project, designing the sandbox, controller and APIs. This may not be revelatory to most JS coders (or it may be, I don’t know) but it reminded me of learning Jackson Structured Programming in the late 80s when a systems analyst at AT&T. I’d like to see Zakas do a follow-up talk on how to design the sandbox and controller.

Glenn Jones’ “Beyond the Page” talk discussed – and demoed – techniques and emerging standards/ idioms to make Web sites less separated from other apps. We saw Drag and Drop, Web Intents etc. Some evil hackery, too!

Brendan Dawes always scrubs up nice and today was no exception. Although he’s a quivering Flash-lovin’ aesthete (albeit with a Northern accent), he had the techy crowd warming to him and then in stitches with a stream-of-consciousness talk about creativity, new interfaces and expensive pencils.

Last on was Marcin Wichary from Google, who talked of Google Doodles. Who knews that they user-test them? It was a fascinating talk and the good news is that he’ll be blogging about them in the future.

FullFrontal was a super day. The after party had lavish quantities of free grog. The venue was quirky and fun, with free coffee all day. Each talk was handpicked – in fact, everything about the event was curated by Remy and Julie. I’ll be going next year (although not staying in the Travelodge, Preston Road, which was a dump, and nothing to do with the event).