Tom Dolan has an excellent blog post which touches, in part, on comparative cost. If you're working for, say, a TV company - then you know exactly how much an hour of TV programming costs on average. If you want to do something like build a website, it's quite natural for people to evaluate its budget in terms of how many hours of TV it costs. That can be a useful metric. It allows people to…
Continue reading →
There's no one dafter than the previous owner of your property. Over the years we've found dodgy wiring, horrificly bodged plaster, and things plumbed in backwards. We've started re-doing our garden recently. The hideous decking was quickly rotting away and needed removing. But what would we find under there? Google's StreetView for the web lets you take a short trip back in time - if you're…
Continue reading →
I'll cheerfully admit to only having a hazy familiarity with the play (it's the one with twins that isn't 12th Night, and with the shipwreck which isn't Tempest, and with the annoyed money-lender which isn't Merchant of Venice... wait... perhaps I have seen it in aggregate!) On the one hand, this is an entirely traditional production. Sumptuous Elizabethan clothing - with resplendent codpieces - …
Continue reading →
I am using Auth0's Symfony library to allow users to log in with their social network providers. It works really well. Using this firewall configuration, a user who visits /private is successfully taken through the login flow and I can then use $this->getUser() to see their details. security: password_hashers: Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: …
Continue reading →
I used to work in a call centre for a Very Big Company. Every week, without exception, we'd get a bunch of new starters to train. And every week, without exception, a newbie would be fired after looking up a famous person's data. This was in the days before GDPR. There was a lot less general awareness of data protection issues. It didn't matter how often will drilled it into trainees' heads -…
Continue reading →
If you hang around with computerists long enough, they start talking about the Semantic Web. If you can represent human knowledge in a way that's easy for computers to understand it will be transformative for information processing. But computers, traditionally, haven't been very good at parsing ambiguous human text. Suppose you saw this text written for a human: Our opening hours are:…
Continue reading →
Suppose you are sent a link to a website - e.g. https://example.com/page/1234 But, before you can access it, you need to log in. So the website redirects you to: https://example.com/login?on_success=/page/1234 If you get the password right, you go to the original page you requested. Nice! But what happens if someone manipulates that query string? Suppose an adversary sends you a link like…
Continue reading →
I was browsing the web recently when I can across this utter horror show of a font. Warning, not for the faint of heart. The thing is, I can't adequately describe why I - and many others - find it so disturbing. In all my years of reading English, I've never found a font which slants backwards. I'm used to italics so there's no reason it should seem weird. And yet... it's like the uncanny…
Continue reading →
I've never heard such whooping and hollering from a Bloomsbury Theatre audience. When Rachel Bloom prances on to the stage it is like seeing a revivalist preacher work the faithful. It would have been so easy for Bloom to rest on her laurels and give a "best of Bloom" revue - the crowd would have lapped it up. But, instead, she puts in the hard work to make something new and incredible. Because…
Continue reading →
When I was... Oooh... 8 or 9 I entered a "count the number of spots on the giraffe" competition one summer holiday. Apparently I was the only child who noticed that there was a spot on the tail, so I won a YEAR'S SUPPLY of Cadbury's Curly Wurlys. Nothing I've ever won since has lived up to that childish feeling of absolute glee I got from seeing a HUGE box of chocolate which was MINE! ALL MINE! …
Continue reading →
Sometimes you learn the most from failures! I wanted a <select multiple> element where the <options> were laid out in a grid. I nearly got there. It's possible to have the <option>s in a horizontal row - but only on Chrome and Firefox. Here's a quick fiddle showing the results: As you can see, it's possible to do some pretty extravagant styling of the individual <options> you can even…
Continue reading →
I'm a reasonably adventurous eater - but a rather underwhelming cook. So I thought I'd give these "posh ready-meals" a go. The pitch is simple. GreenChef will send you a big box of ingredients and a bunch of recipes to follow. You get exactly 175g of tomatoes, a precise number of lentils, and a sachet containing a perfect measure of spice. Follow the instructions and you'll have a tasty,…
Continue reading →