Terence Eden. He has a beard and is smiling.

Terence Eden’s Blog

Theme Switcher:

Does AI mean we don't need the Semantic Web?

· 4 comments · 200 words · Viewed ~2,185 times


User: Read the following sentence: "Our opening hours are: Weekdays 10 until 7. Weekend 10 until 10 (Early closing 9 o'clock Sunday)." ChatGPT: The given sentence states the opening hours of a certain establishment. Here is the breakdown of the opening hours mentioned: Weekdays: The establishment is open from 10 in the morning until 7 in the evening. Weekend: On weekends, the establishment is open from 10 in the morning until 10 at night. Early closing on Sunday: On Sundays, the establishment closes earlier than usual, at 9 o'clock in the evening. Please note that this information is based solely on the provided sentence, and the specific establishment or its type is not mentioned. User: Is the establishment open at 2130 on Sunday? ChatGPT: Based on the information provided in the sentence, the establishment has early closing on Sunday, with the closing time set at 9 o'clock in the evening. Therefore, the establishment would not be open at 21:30 (or 9:30 PM) on Sunday.

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

Responsible Disclosure: arXiv - redirect on login

· 1 comment · 350 words


A padlock engraved into a circuit board.

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…

Fonts with threatening auras

· 10 comments · 150 words · Viewed ~557 times


Screenshot of text where all the characters lean to the left.

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…

Review: Rachel Bloom "Death, Let Me Do My Special"

· 1 comment · 250 words · Viewed ~1,027 times


Cartoon showing a stand up comedian casting a shadow of the grim reaper.

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…

What's the best thing you've ever won in a competition?

· 8 comments · 250 words


A tiny lego Storm Trooper eats a chocolate coin.

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

The limits of CSS styling select options

· 1 comment · 150 words


Checkboxes in a line.

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…

Review: GreenChef / HelloFresh meal boxes

· 4 comments · 850 words


Green Chef logo which looks like a chopping board.

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

The new .zip TLD is going to cause some problems

· 9 comments · 350 words · Viewed ~8,867 times


Many years ago, Google applied for the .zip Top Level Domain. ICANN, in its infinite wisdom, granted it. And now, I think, bad things are going to happen. You see computers try to be helpful. They see you wrote "visit example.com" and autolink the thing which looks like a domain name. That's handy - especially as most people don't have the time or skill to write HTML. So what happens when…

Review: Christina Bianco In Divine Company at The Chocolate Factory

· 250 words


Poster featuring Christina Bianco as a Diva.

Doing vocal impressions is hard. Doing them while singing is even harder. But Chirstina Bianco does it effortlessly, backwards and in high heels. I remember seeing the Forbidden Broadway show decades ago - Bianco is an alumna - and being slightly confused by all the "inside baseball" terminology. This new one-woman show is much more accessible. We were treated to Shania Twain singing Bucks Fizz, …

Doctrine - difference between bindValue() and setParameter() on prepared statements

· 1 comment · 400 words · Viewed ~1,110 times


Doctrine project logo.

This pissed me off and I couldn't figure out what I was doing wrong. So I'm blogging about my ignorance. Imagine you're using Symfony and Doctrine to access a database. You are using prepared statements to prevent any SQL injection problems. There are two main ways of doing this - and they disagree about how positional variables should be specified. Data Retrieval And Manipulation Here's a…

Symfony - multiple paths to the same route within a controller

· 1 comment · 100 words · Viewed ~1,801 times


Logo of the Symfony project.

I couldn't work out how to use Route Aliasing within my controller. I couldn't find anything in the documentation about it. But, thanks to a StackOverflow comment it is possible. Suppose you want users to be able to access a page using /users/123 and /people/123 - with both routes displaying the same data? Normally you'd write something like #[Route('/user/{id}', name: 'show_user')] - as it…

I'm quoted in this Verge article about AMP

· 2 comments · 200 words


A lightning bolt logo.

The journalist David Pierce has written a piece about the birth and (almost) death of Google's AMP. Regular readers know I have been a vocal critic of AMP even when I was serving on its advisory committee. Nowadays, well, I can't remember when I last saw an AMP page (yay Firefox!) and I've never had a client ask me to develop an AMP site. Last year, I had a long chat with David about my…