It's always a bit concerning when a new icon suddenly appears at the top of your phone's screen. Without any warning, my ageing OnePlus 5T - which now runs LineageOS - started showing this: I know that, from right to left, it is showing me my battery percentage, WiFi strength, and that I'm using work mode. But what's the weird circle? ZOOM! ENHANCE! Well, that's not much help, is it! Buried in the Android Automotive documentation is some information on how to "Customize Status Bar…
Continue reading →
I love my Linux laptop. But, once in a while, it forgets it has a keyboard. I wake it from a little nap and it's all like "no, sir! no keyboards here! just use a mouse please!" Logging in is pretty simple. Pop_OS has an on-screen keyboard which lets me hunt-n-peck P4ssW0rd123! into the box. But then I'm stuck. I can launch apps - but I can't type into them. The on-screen keyboard only seems to work on certain OS elements. It didn't pop up for the Terminal app. I could have plugged in a USB …
Continue reading →
I'm writing this post in the hope someone will rip off my idea and start selling it on Ali Express. Many years ago, I got a "Pressy". It was a little dongle which fitted into your phone's headphone jack. It had a single button on the top. It came with an app so when you tapped the button the app would do something. For example, tap once to open email, double-tap to switch to flight mode, etc. Most modern phones eschew headphone ports. They let water in, are fragile, and a cheap DAC produces …
Continue reading →
The recent news that MoneyDashboard is suddenly shutting down has exposed a gap in the way OpenBanking works. It is simply impossible for a user to get read-only access to their own data without using an aggregator. And there are very few aggregators around. Why is it impossible for me to get programmatic access to my own data? There are two interlinked reasons which I'd like to discuss. Background OpenBanking is a brilliant idea encoded in an excellent standard wrapped in some very complex …
Continue reading →
If you use WordPress's HTML5 comments, there's an annoying little gotcha. There's a four year old bug which prevents client-side form validation. HTML allows <input> elements to have a required attribute. In theory, that means the form shouldn't submit until the input is filled in. Sadly, WordPress uses novalidate on the form - as the name suggests it stops any validation. But! WordPress is very hackable. Here's how to make a comment form which does client-side validation and as a bonus…
Continue reading →
The UK has what is known as a "Standard Scale" of fines for criminal acts. For example, breaking the law may incur "a fine not exceeding level 4 on the standard scale". Part of the reasoning behind this, so I understand, is to make it simpler for the Government to update the value of those fines. Rather than having to change every law in the land - and have tedious votes on them - it's possible to change one law and have its provisions cascade down to all others. Efficient! The modern…
Continue reading →
If you've ever learned Mandarin Chinese, you'll know about "measure words". They're the sort of thing that trip up all new learners of the language. While 个 (gè) can be used as a generic measure word, using it everywhere makes you sound like an idiot (according to my old teacher). So you learn to use 个 for people, 包 for packets, and 根 for things which are long and thin. English has a similar construct. You might say "one bunch of flowers" or "two glasses of wine" or "three bowls of soup". You…
Continue reading →