KYLI - because it is superior to JSON

Kylie striking a pose

This is a (silly) attempt to fix some of the shortcomings of JSON. Hence it is named after the goddess of music. It uses C0 Control Characters Here is an example: ␜ ␁ This is a KYLI document ␂ ␝ GroupName ␞ data ␟ value ␛ Comments are supported too! They can be multilined easily. […] Read More

Training Customers To Be Stupid

Verizon asking for customer's passwords

Companies face a complicated choice. Make things easy for the customers, or make things secure for them. Convenience seems to take priority most of the time. This forces companies to get their customers to risk their own security. In this example, we see Verizon Wireless asking their customers to type their passwords into Twitter for […] Read More

Inspecting Solar Panels using a Drone

Solar Panels as viewed by a drone

I'm probably not the first to do this - but it was a fun way to learn just how tricky it is to control a cheap quadcopter even in mild weather. This video has no sound. Your browser doesn't support HTML5 video tag. Good enough quality to make sure the panels aren't covered in bird-mess, […] Read More

How to Hypnotise an Artificial Intelligence

Last week I attended a talk by Dr Irina Higgins from Artificial Intelligence company DeepMind. It was a fascinating look at how their AI works, and how it is trained. If you've ever played a video game online, it is likely you've been training an Artificial Intelligence agent without realising it.Ethical? — Terence Eden ⏻ […] Read More

Visualising Twitter Conversations in 2D Space

Update! The source-code for this app can be found at Many years ago, I created a threaded conversation viewer for fledgling social network It was a unique way to flow through a conversation without having to be constrained by the linear vertical scroll of the typical web browser. died - and I […] Read More

Converting filenames to Title Case in Linux

A cute penguin - the official mascot of Linux

Here's a simple bash one-liner to convert mixed-case filenames into Title Case: rename 's/(\S+)/\u\L$1/g' * This forces the file extension to lower-case as well. Use rename -n to test the command without changing anything on the filesystem. (Adapted from this PerlMonks FAQ.) Background I have a bunch of inconsistently named files like: HERE COMES THE […] Read More

Charity Fundraising Using VR

Close-up of a BoboVR headset

Walking back from work yesterday, I noticed an unusual set of chuggers - those faux-cheerful folk who try to stop you in the street asking for money. They were fundraising for Unicef. Rather than handing out flyers they were carrying high-tech VR headsets! Using the headset, I was able to take a virtual tour of […] Read More

Can I own my identity on the Internet?


The ultra secure messaging app, Signal, requires a mobile phone number in order to sign up to it. This, as my friend Tom Morris, points out, is madness. People don't own mobile phone numbers. They are rented from mobile operators. Yes, you may be able to move "your" number between a limited set of providers […] Read More