Archive for the 'general geek' Category

Get that dream tech gig by solving Mike Taylr’s Silicon Valley whiteboard interview question

Like every other thought-leader, I follow Mike Taylr on social media. Ever since Shingy left AOL, “Mikey” has moved to the top spot of everyone’s Twitter “Futurist Gurus” Twitter list. This morning I awoke to read Twitter abuzz with exictement over Mike’s latest Nolidge Bom:

Of course, like anyone who’s ever sat a maths exam and been told to “show your working out”, you know that the widely diverse interview panel of white 20-ish year old men is as interested in how you arrived at your answer as in the answer itself. Given Mikey’s standing in the industry and the efficiency of his personal branding consultants, this question will soon be common for those interviewing in Big Tech, as it’s an industry that prides itself on innovative disruption by blindly copying each other. So let’s analyse it.

It’s obvious that the real test is your choice of marker colour. So, how would you go about making the right decision? Obviously, that depends where you’re interviewing.

If you’re interviewing for Google or one of its wannabes, simply set up a series of focus groups to choose the correct shade of blue.

If you’re interviewing for Apple or its acolytes, sadly, white ink won’t work on a whiteboard, no matter how aesthetically satisfying that would be. So choose a boring metallic colour and confidently assert any answer you give with “I KNOW BEST”.

If you’re interviewing for Microsoft, the colour doesn’t matter; just chain the marker to the whiteboard and say “you can’t change the marker, it’s an integral part of the whiteboard”, even after it stops working.

If you’re interviewing for Facebook or one of its wannabes, trawl through previous posts by the panellists, cross reference it with those of their spouses, friends and their friends to find their favourite colours, factor in their Instagram posts, give a weighting to anything they’ve ever bought on a site they’ve signed in using Facebook, and use that colour while whispering “Earth is flat. Vaccines cause cancer. Trump is the saviour. Muslims are evil. Hire me” subliminally over and over again.

Good luck in the new job! May your stocks vest well.

Don’t put pointer-events: none on form labels

The other day I was tearing my hair out wondering why an HTML form I was debugging wouldn’t focus on the form field when I was tapping on the associated label. The HTML was fine:

<label for="squonk">What's your name, ugly?</label>
<input id="squonk">

I asked my good chum Pat “Pattypoo” Lauke for help, and without even looking at the form or the code, he asked “Does it turn off pointer events in the CSS?”

Lo and FFS, there it was! label {pointer-events:none;}! This daft bit of CSS breaks the browser default behaviour of an associated label, and makes the hit target smaller than it would otherwise be. Try clicking in the “What’s your name, ugly?” text:

Try me, I’m good

Try me, I’m crap

I’m jolly lucky to have the editor of the Pointer Events spec as my chum. But why would anyone ever do this? (That line of CSS, I mean, not edit a W3C spec; you do the editing for the sex and the glory.)

Once again, Pat whipped out his code ouija board:

And, yes—the presentation had originally been Material Design floating labels, and this line of CSS had been cargo-culted into the new design. So don’t disable pointer events on forms—and, while you’re at it, Stop using Material Design text fields!

The clown in Steven King's IT down a storm drain, saying 'We all float labels down here Georgie"

Cloning a live WordPress site to work on locally

I’m doing some changes to this WordPress site and wanted to get out of the loop of FTPing a new version of my CSS to the live server and refreshing the browser. Rather than clone the site and setup a dev server, I wanted to host it on my local machine so the cycle of changing and testing would be faster and I could work online.

Nice people on Twitter recommended Local By Flywheel which was easy to install and get going (no dependancy rabbit hole) and which allows you to locally host multiple sites. It also has a really intuitive UI.

To clone my live site, I installed the BackUpWordPress plugin, told it to backup the MySQL database and the files (eg, the theme, plugins etc) and let it run. It exports a file that Local by Flywheel can easily injest – simply drag and drop it onto Local’s start screen. (There’s a handy video that shows how to do it.)

For some reason, although I use the excellent Make Paths Relative plugin, the link to my main stylesheet uses the absolute path, so I edited my local header.php (in ⁨Users⁩ ▸ ⁨brucelawson⁩ ▸ ⁨Local Sites⁩ ▸ ⁨brucelawsoncouk1558709320complete201905241-clone⁩ ▸ ⁨app⁩ ▸ ⁨public⁩ ▸ ⁨wp-content⁩ ▸ ⁨themes⁩ ▸ ⁨HTML5⁩⁩ ) to point to the local copy of the CSS:

link rel="stylesheet" href="http://brucelawson.local/wp-content/themes/HTML5/style.css" media="screen".

And that’s it – fire up Local, start the server, get coding!

If you’re having problems with the local wp-admin redirecting to your live site’s admin page, Flywheel engineers suggest:

  1. Go to the site in Local
  2. Go to Database » Adminer
  3. Go to the wp_XXXXX_options table (click the select button beside it in the sidebar)
  4. Make sure both the siteurl and home options are set to the appropriate local domain. If not, use the edit links to change them.

Maslow’s hierarchy of me me me

When I was in Thailand recently, I was wondering whether the ever-popular Maslow’s hierarchy of needs triangle had ever been tested against Asian cultures, in which the emphasis is on family and community rather than individualism.

When I asked on Twitter, Daniel pointed me to Maslow’s Hierarchy of Need: Psychology Myth Busting #1 by Joe Leech who concludes

Self-actualisation, the idea of people becoming the best they can be is a very individualistic idea. Asian cultures are about the community and family that is collectivist in focus. Placing this very individual goal at the top highlights Maslow’s background, a man living in the individualistic USA.

There is also little evidence that the model is the same for men and women.

Nevalina pointed me to Maslow’s hierarchy of needs: An Islamic critique which concludes

It is the basic line of the Islamic approach to strike a balance between material and spiritual needs in any situation of human existence, in times of saturation and need, stability and change, health and illness, happiness and distress. A model of a hierarchy of the different needs like Abraham Maslow’s can therefore not give credit to the reality of the interaction between material and spiritual aspects of the human being in different life situations, even if the spiritual aspect was to be named first.

It’s said that Maslow was influenced by the Blackfoot tribe of native Americans, but misunderstood them. In Maslow’s hierarchy connected to Blackfoot beliefs, Karen Lincoln Michel writes up a lecture presented by University of Alberta professor Cathy Blackstock at the 2014 conference of the National Indian Child Welfare Association.

“First of all, the triangle is not a triangle. It’s a tipi,” Blackstock said. “And the tipis in the Blackfoot (tradition) always went up and reached up to the skies,” she said.

Another difference noted by Blackstock is that self-actualization is at the base of the tipi, not at the top where Maslow placed it. In the Blackfoot belief, self-actualization is the foundation on which community actualization is built. The highest form that a Blackfoot can attain is called “cultural perpetuity.”

So it looks as if a white academic male in hyper-individualist America thought that everyone in the world is like him. What a surprise. I hereby rename his over-exposed diagram as Maslow’s hierarchy of me me me and forbid you from ever using it again.

One weird trick made me a better coder/ speaker/ product person

One trick that made me a better programmer/ speaker/ product person: relax. This sounds counter-intuitive in an industry where all-night coding sessions are seen as a virtue, and you’re supposed to have umpty-nine side projects on Github that you do in your spare time. (And we wonder why older people, women with children and people with disabilities are under-represented…)

But for me, resting is when ideas come. The best ideas come in the shower when I’ve not long woken up, or on a Friday evening when I’m drinking wine and listening to music. Your mileage may vary, of course; that’s why I titled this “made me a better programmer”.

When I tweeted this, Phillipp replied

I would go even further and say “rest good!”, because many people are aware of taking a break, but their breaks aren’t resting at all. They still allow to be flooded with information constantly…

This is an excellent point. One of my favourite ways of relaxing is reading. But I’m reading material of my choice, not being waterboarded by the information firehose of Twitter or the web. And if I’m reading, it’s because I want to — I could equally well be listening to music, or writing and recording music.

I advise reading eclectically, about anything that interests you. Even if you’re reading about particle physics, neurology, history or fiction, you’re seeing how other people present information, which can help you be a better presenter. And so many new ideas come from the unexpected collision of different disciplines that that the more widely you read, the more chances you have of seeing parallels and comparisons that others haven’t seen.

For me, relaxing is when ideas come; reading (and talking to a range of people ) is where ideas come from.

Bonus tip: always wear groovy shirts. A groovy shirt makes a groovy mind.

How to set up a website: a guide for the alt-right

I was saddened to read the alt-right describing Facebook and YouTube’s removal of Infowars as “simultaneously purg[ing] him from the internet“:

I assume Mr Tracey has not heard of the World Wide Web, which Tim Berners-Lee invited the public to try 27 years ago yesterday:

(Alternatively, perhaps Mr. Tracey has heard of it, and is simply distorting the facts to mislead people – surely not?)

Anyway, this new-fangled “World Wide Web” allows anybody to make what we in the trade call “a website”.

Mr Jones’ Infowars site already has one, which hasn’t been “purged” by anyone. (I won’t link to it because, well, ewwwww. Don’t “wah wah censorship” at me; my website, my rules.) But, as a service to alt-right frothers everywhere, here’s how you can set up your own.

You could go to where, for as little as £3 a month, you can host your site with a custom domain name (so instead of Alt-right people will need to exercise a little verbal continence to comply with their user guidelines:

The following activity/material isn’t allowed on … Illegal content and conduct.
… you cannot post a genuine call for violence—or death—against an individual person, or groups of persons … Don’t share someone’s personal information without their consent.

Note that these pretty laissez-faire terms of service do not curtail your free speech; is a business and isn’t obliged to take your money. The American first amendment applies only to the government.

As an alternative to, Wix allows you to make your own pretty website with a drag and drop builder, and host it with them for a small amount of money. Again, a modicum of decency is required; you can’t publish stuff

which may be deemed as defamatory, libelous, obscene, harassing, threatening, incendiary, abusive, racist, offensive, deceptive or fraudulent, encouraging criminal or harmful conduct.

Squarespace and Weebly also allow you to build and host websites (although I haven’t tried them. I used to work for Wix).

Tumblr will host your content and videos, with community guidelines:

Don’t encourage violence or hatred. Don’t make violent threats or statements that incite violence, including threatening or promoting terrorism. Especially don’t do so on the basis of things like race, ethnic origin, religion, disability, gender, gender identity, age, veteran status, or sexual orientation.

I think such rules on a website that somebody else owns are entirely legitimate. As clause 19 of Terms of Service on Alex Jones’ Infowars website says

If you violate these rules, your posts and/or user name will be deleted.

Remember: you are a guest here. It is not censorship if you violate the rules and your post is deleted. All civilizations have rules and if you violate them you can expect to be ostracized from the tribe.

If you don’t want to trust a third party with your data, good on you! I’m all for an web of independent authors. (Or perhaps you can’t even muster up the good manners to be hosted by one of these services, in which case, bad on you. Have a good hard look at yourself in the mirror.)

It’s very easy these days to register a domain name (Google it), set up the free, open-source blogging WordPress software, choose any of thousands of free themes, and publish to your heart’s content, especially if you choose a host that specialises in WordPress hosting. You might have to pay slightly more, and do a little bit more work to make sure all software is updated and secure — but that’s a price I’m willing to pay in order to own and control my own content.

So there you are, alt-right folks. I’m an atheist liberal, so I despise the divisive nonsense you excrete. But I love that the Web allows everyone to publish, and wouldn’t want you to feel left out because you’re misinformed by people like Michael Tracey who don’t understand the web.

Of course, it’s perfectly possible no-one will visit your website to read how Bin Laden faked the moon landings in order to draw attention from the fact that Marilyn Monroe was a CIA-funded muslim who invented income tax and fluoridated water in order to seize your guns and pollute your precious bodily fluids. But that’s freedom.

Happy hating!

Out of office

The BBC has a report on Some of the funniest out-of-office replies. It’s a summertime filler story but I noticed them quoting Tyler Brûlé who wrote an article suggesting that people who set out-of-office messages simply aren’t committed enough. This is another example of “presenteeism”, one of the reasons that British workers don’t take time off sick when they’re ill.

I love my holidays; I work to live, not live to work, although I do love what I do. So I always set an Out of Office message on my employer’s corporate email. I’ve noticed through various jobs that most of the email I receive is either ephemera (“I’ll be late today”/ “Please note the fridge will be emptied on Thursday”) or conversations that go on for a few days, and then resolve themselves.

So my out of office says “I’m out until DD/MM/YYYY. If your message remains important when I return, please re-send it then, as I will delete all messages received before that date without reading”. And, apart from messages from direct bosses, I do just that.

Feel free to use my personal email out-of-office as inspiration:


I love you. I really do. The way your cute nose goes all crinkly when you smile – I dream about it and sigh. The way you toss your beautiful hair when you’re materialising from hyperspace makes my heart go pit-a-pat and skip a beat. Thinking of how your tentacles encircle my exoskeleton causes … well, let’s not go there.

But that doesn’t change the fact that I’m backpacking around India at the moment, and connectivity is limited. And there’s loads of stuff to look at that’s cooler than email, so it may take time until I reply. Until we see each other again, I yearn for your gentle caress and to hear the ethereal howling you make when extruding your egg sacs.


Relax! Read a book! Go swimming! Play guitar! Get drunk! Learn karate! Do some yoga! Play tennis! Make love! Have fun with your friends and family! Remember, the graveyard is full of indispensable people.

Notes on Google’s HTTPS Usage report

On Friday’s reading list I linked to Google’s HTTPS Usage report which said that

Secure web browsing through HTTPS is becoming the norm. Desktop users load more than half of the pages they view over HTTPS and spend two-thirds of their time on HTTPS pages. HTTPS is less prevalent on mobile devices, but we see an upward trend there, too.

(The report is undated, but as the data continues after October 2016, I assume it’s current. As an aside, please put dates on research and stats you publish!)

Erik Isaksen tweeted me asking “I’m wondering why ‘especially on desktop”. I replied with my speculations, reproduced here in longer form :

Despite the rise in mobile use, desktop numbers aren’t declining, and perhaps many people do as I do: I might search and compare products on my mobile, but I actually do the purchases on my desktop machine. It’s a lot easier to type on a full-sized keyboard than a virtual keyboard, and purchases on the web are still laborious. I doubt it’s just me; generally, users abandon mobile purchases twice as often as desktop purchases. (That figure is from Google’s tutorial on the Payment Request API. I’m eagerly awaiting completion of Opera’s implementation.)

Similarly, I never do online banking on my mobile, I always use my desktop machine which has a direct line into it. (Even though I know that my bank’s website is HTTPS. But when I visit my branch, I notice their internal systems are all using IE6…)

It’s also worth bearing in mind that many of the regions that are mobile-first are home to large populations of unbanked people, or populations who don’t use credit cards much. There’s a lot less imperative to offer local websites securely when there is no money changing hands through them, while the services that are popular everywhere (Gmail, Facebook etc) are already HTTPS.

I’m told that HTTPS is comparatively expensive for site owners in the developing economies, and advertising revenues are declining as more and more people use Ad-blockers: 36% of smartphone users in Asia-Pacific use ad-blockers; two-thirds of people in India and Indonesia (source) and statistics from Opera’s built-inn ad-blocker shows that Indonesia has the most ads blocked per person in the region.

I suppose the crux of my speculation is: do people perform different kinds of tasks on mobile and desktop? Some tasks – banking, purchasing – require more convoluted input and are thus more suited to desktop devices with a full-sized keyboard, and such tasks are performed on HTTPS sites.

But this is only speculation. Anyone have any hard data on why HTTPS is more prevalent on desktop than mobile?

8 November 2016: Amelia Bellamy-Royds suggested on Twitter “No hard data, but my guess: secure websites for social media, email, etc., are replaced by native apps on mobile.” This certainly maps to my own experience, as I used the Gmail and Twitter apps on Android.

On Ad Blocking

At SynergyFest Mobile World Congress, I was asked a number of times whether Opera is looking at Ad Blockers and my general opinion of Ads. Here’s what I replied (with the BIG FAT DISCLAIMER that this is my personal opinion, and not that of Opera).

Firstly, yes; Opera is looking at Ad Blocking, and has been for quite a while (you’ll find lots of popular adblockers in our desktop extensions store). We know that Ads slow down the Web, and for many users, they’re expensive: the New York Times reported

Visiting the home page of every day for a month would cost the equivalent of about $9.50 in data usage just for the ads.

Many Opera users in emerging economies pay much more of their income for web access than I do in the UK, and we want to make the web more affordable for those people.

(The fact that we’re looking at it shouldn’t be taken as a commitment to anything, by the way. We look at everything our consumers demand and our competitors implement, of course.)

But let’s talk about ads themselves. “Ads are evil” isn’t an mature argument; we need to be more nuanced than that.

For example, the other day I was reading a serious political article. Underneath it was a “related article” – just some clickbait nonsense about “The Best Breasts of 2015”, designed to sell advertising, and paginating excessively in order to maximise “hits” (whatever that means) and worsening the user experience. Now, I’ve got nothing against breasts (in fact, I’m at the age when I’m growing my own) but this is preposterous crap and deserves to die in a fire.

Later, I was reading a blog post about a band I like, and in it was a text ad, telling me that the band were playing near me the week later. I didn’t know that, so clicked through and bought a ticket – and the gig was very good.

Both were ads; one was stupid, the other was very useful. What’s the difference? To me, it was intrusiveness and (related to that) contextuality. An ad about a band next to an article about the band is highly contextual, and thus less intrusive. That it was a text ad, so light to download, made it less intrusive too, because it didn’t delay the page loading or make the screen reformat. Neither did it autoplay a heavy video, make noise or obscure the content.

So the challenge for Ad blocking is to block the crap and allow the good. I don’t know if anyone knows how to do that infallibly.

There’s also the question of revenues. We’ve been trained to expect “free” content on the web, and that’s largely paid for by ads. Before I joined Opera and became an Internet Tycoon/ over-promoted gobshite (delete as you see fit), I had a reasonably popular blog. (This very one! And still the same 2003 design!)

Because it was reasonably popular, I paid a fair amount of money for server costs etc. As sole breadwinner with two young children, those costs were a burden, so I ran ads which paid my hosting and bought me a few pints. I don’t know that I would have pulled the plug without those ads (I like the sound of my own voice too much) but other people in my situation might, and it would be a huge loss to the Web – and therefore to consumers – if independent content producers’ voices disappeared as a result of advertising revenues drying up.

So, Ad-blocking is a must, I think. But it needs to be done intelligently, and (probably) over a few iterations before we (Opera, and the wider web ecosystem) get it right. And if that encourages the advertising industry to do their work with less intrusive, bandwidth-hogging nonsense, and therefore more utility (to consumers and to their clients), we’ll all gain.


Since I wrote this, Opera released a developer build of our desktop browser, with a built-in ad blocker that makes sites about 50% faster, and some 90% faster.

This led to good conversations about ads, publishers’ revenue and how the industry is changing:

Yosemite, Garageband 10.0.3, Soundfonts

My recent upgrade to Yosemite appeared to go without a hitch, until I fired up Garageband to tidy up the guitar line on my cello and harpsichord-driven song Girl In The Room.

To my dismay, the cello and harpsichord samples had disappeared, to be replaced by a very clunky generic synthesiser sound. After some investigation, it appeared that the new OS (or new Garageband 10.0.3) had nuked the soundfonts I’d put in Library/Audio/Sounds/Banks/. Perhaps I should have known this – but I’m new to Mac, and my experience on Windows is that it doesn’t hose your data when you upgrade. Ah well. Apple knows best, of course.

[Added 16 April. Looks like I’m not the only one.]

But, once I’d got the soundfonts from a backup and restored them to the correct folder, I’ve noticed that Garageband doesn’t see all of them. Other times, it sees a soundfont, lets me associate it with a track and plays it fine. Then I hit play again and the same track I heard seconds before is entirely silent although the dialogue box still claims the soundfont is associated with the track. (and what is a “user define bank”? User-defined, surely?)

Screen Shot of Garageband claiming - falsely- that the track is playing a cello soundfont

This basically means Garageband isn’t usable for me with soundfonts (which was the whole purpose of my buying it; I don’t want to be restricted to the excellent-quality but rather middle-of-the-road default samples).

But I’m a Mac/ GB n00b and am probably missing something obvious. Anyone got any advice?