For my contact page, I wanted a generic calendar icon to let people view my diary. Calendar icons are almost always a skeuomorph of a paper calendar, but I wondered if I could make it slightly more useful by creating a dynamic icon. Here it is, an SVG calendar which always display's today's date: The background image is derived from the Twitter TweMoji Calendar icon - CC-BY. Text support in SVG is a little awkward, so let me explain how I did this. SVG supports JavaScript. This will run…
Continue reading →
(This isn't really a security issue, although I've disclosed it to the Twitter team.) "Fuzzing" is a computer science term which means "sending weird data into a program and seeing what happens." It's a useful way to see how your code can break in new and unexpected ways. It's particularly good at showing what a website's search engine does when it is confused. For example, here's a fairly mundane Tweet. Offshore A-Z@OffshoreAZ🏢 HONOUR INTERNATIONAL LIMITED🇰🇾 Cayman Islands🎯 <html><head…
Continue reading →
Spotted in London, yesterday. A large, Microsoft Windows-powered advertising hoarding has been hijacked. It's not uncommon to see broken-down Windows displays - I run https://windowsisbroken.tumblr.com/ - which is dedicated to pointing and laughing at such mistakes. But this is the first time I've seen a display repurposed for profit! It appears to be running NiceHash Miner Legacy. A BitCoin mining program for older computers. I'm sure someone cleverer than me can figure out which…
Continue reading →
I'm currently helping to edit the HTML5 specification. As part of our preparations for HTML5.3 I've started going through the provided examples and improving them. This blog post explains the what, why, and when of the process. You can follow along on GitHub. (As part of my job, I'm lucky enough to be on the W3C's Advisory Committee. This is a personal blog post. If you think my ramblings reflect either my employer or the W3C, then you aren't tall enough to ride the Internet.) How is the…
Continue reading →