Limitations of HTML's title element


The raw HTML displays in the tab.

How much do you know about the humble <title> tag? It has been there since the earliest HTML specification. The 1995 spec says: There may only be one title in any document. It should identify the content of the document in a fairly wide context. It may not contain anchors, paragraph marks, or highlighting. Remarkably little has changed in the intervening decades. The modern HTML5 spec defines it as only containing text. That means you can't nest tags inside it. For example, this is…

Continue reading →

Is HTTP 451 suitable for GDPR blocking?


451: Unavailable for legal reasons We recognise you are attempting to access this website from a country belonging to the European Economic Area (EEA) including the EU which enforces the General Data Protection Regulation (GDPR) and therefore cannot grant you access at this time. For any issues, e-mail us at techguy@journaltimes.com or call us at 888-460-8725.

Hello, it's me - the idiot who helped inspire the HTTP 451 status code. I graciously allowed Tim Bray to do the hard work of getting it through the IETF process, and now it is an official RFC. Recently, I've seen lots of people getting het up about its "misuse" - so I want to clarify a few things. The GDPR (General Data Protection Regulation) gives people in the EU strong data protection rights. Some companies do not wish to comply with these laws. Those companies block content to people…

Continue reading →

únicode is hard


In the last couple of months, I've been seeing the ú symbol on British receipts. Why? 1963 - ASCII In the beginning* was ASCII. A standard way for computers to exchange text. ASCII was originally designed with 7 bits - that means 128 possible symbols. That ought to be enough for everyone, right? Wrong! ASCII is the American Code for Information Interchange. It contains a $ symbol, but nothing for other currencies. That's a problem because we don't all speak American. *ASCII has its …

Continue reading →

Whatever happened to URI Schemes?


A few days ago, I ranted about how chat apps have poor support for URI schemes. By "Chat Apps", I'm talking about the new wave of messengers - WhatsApp, WeChat, Telegram, Wire, and the like. What do I mean by "URI Scheme"? You're probably familiar with: https://example.com The "scheme" is https - it tells the computer "Open the web browser and load the specified resource." You may also be aware of: mailto:me@example.com This tells the computer to open the email app and fill in…

Continue reading →

What Time Is It?


For a bit of light reading, I've been going through some of the documents published by Sir John Chilcot's Iraq Inquiry. There are thousands of Telegrams, eGrams, Teleletters, and other miscellaneous communications. For those unfamiliar with the jargon, the inquiry have helpfully published a guide to reading the evidence. In it is this delightful titbit about the timestamps used on telegrams. That's not a normal looking timestamp. I've deliberately obscured the explanation because a good…

Continue reading →

I'm in an RFC!


Friends, allow me to wallow in a little boasting! Four years ago, I made a modest proposal for a new HTTP Code to indicate censorship. A few days ago, RFC 7725: An HTTP Status Code to Report Legal Obstacles became an approved standard by the Internet Engineering Task Force. This allows a website, proxy, or ISP to explain to the user that the resource the user requested is unavailable for legal reasons. This could be: Content which isn't permitted in a specific country. For example,…

Continue reading →

Hashtag Standards


This is one of the longest and geekiest posts I've done. It's a work in progress. All comments and abuse welcome. #hashtag – As long has there has been a way to search Tweets* people have been adding information to make the easy to find. The #hashtag syntax has become the standard for attaching a succinct tag to Tweets. The Twitter Engineering Blog That's all well and good, but as I discovered yesterday, without standardisation the ability to search falls apart. I'm not talking about w…

Continue reading →