It's my birthday! As is customary, here's my year in review. See 2016, 2015, 2013, 2012, 2011, 2010. At the risk of tempting fate, I've had an extremely good year! I've survived a year in a new job - working at GDS to implement Open Standards. As part of that, I got to fulfil a long-held ambition to visit Beijing. I also visited the Isle of Man (a first for me) and Rome (a welcome return). A few media appearances - mostly talking about solar panels. The launch of a new project with Liz -…
Continue reading →
After seeing my review of the LG 360 camera, the good folks at PowerAdd sent me their competitor to see what I thought. This sponsored post is a showdown between the two cameras. The PowerAdd is half the cost of the LG, but what's the quality like? Tech Specs Before we dive in to the photos and videos, let's see how they compare on raw numbers. PowerAdd LG Video Resolution Video: 1080P@30FPS 720P@60FPS 2560 x 1280 (30fps) Photo Resolution 12MP 16MP Sound …
Continue reading →
I do a lot of talks and presentations - sometimes in boring conference centres, sometimes in pubs, and occasionally in the middle of a field. One of the things that I've learned is the audio-visual equipment is unreliable. The colours can be off, the projection can be blocked by detritus on stage, or the screen can be defective. It's never a fun experience to flip to your first slide and realise that something is profoundly wrong with the picture. That's why all my presentation decks now…
Continue reading →
The new Firefox is out! Powered by the ludicrous-speed quantum engine - it really is a marvel to behold. Unfortunately, there's a rather annoying bug in the way it renders placeholder text. Consider the following HTML:
This should render a textarea (a multi-line input box) pre-filled with placeholder text. The text should be over multiple lines. Instead, it renders like this: Is that …
Continue reading →
tldr; URL http://[IP]/adm/file.cgi?todo=inject_telnetd Telnet username root Telnet password Aq0+0009 History Four years ago to the day, I wrote an exposé of the hideous security failings of Sercomm IP Cameras. The blog has since attracked 200 comments - as people try to unlock their cameras, and find out what flaws they have. Despite my best efforts at contacting Sercomm - the OEM who manufactures the cameras - and the "security" resellers who irresponsibly sell them to unsuspecting …
Continue reading →
When I'm bored, I like to search websites for the "Lorem Ipsum" placeholder text. It's a quick way to find discarded pages and test content. I was particularly confused that the UK's Post Office had a dozen pages containing that little Latin phrase. A quick dive into one of the pages, found this enlightening snippet of code: This is a monumentally inconsiderate thing to do. I can guess exactly why it happened - a developer got a warning from an HTML validator that alt-text was required. …
Continue reading →
Last year I reverse engineered Renault's Electric Car API. One of the curious omissions was mileage - it just doesn't appear there. However! All is not lost. If you log in to your Renault Account - https://www.renault.co.uk/my-account/my-car.html - you'll get details back about your car including its make, model, date of next service, and mileage! Why isn't this in the regular API? Who knows. But here's how to get it programmatically. API The API to call is: …
Continue reading →
Just a quick note on a mistake I see people making. Webcam covers are a cheap and easy way to prevent your laptop's camera from spying on you. But too many of the covers obscure the LED which indicates that the camera is on. If you cover your activation LED then you won't be able to tell if a malicious entity has surreptitiously switched it on the camera. Keep it uncovered and you'll immediately notice if it is switched on without your permission. …
Continue reading →
Digital technology allows us to seamlessly share media with no degradation. Well, that's the theory - the reality is more complicated. This low quality gif is doing the rounds again. The HD version is easily available - but there appears to be something more "real" about low quality. It keeps being shared on social media - one Tweet currently has around 45 thousand likes. Here's the original viral video. 6 million views! But that is not the original video though - as we shall see! …
Continue reading →
A few weeks ago, I had a delightful chat with the BBC about our solar battery storage. You can watch it on iPlayer starting about 7m 30s in. Community battery technology is here. It is feasible. And it just works. The solar panels on our roof generate more power than we can use - so we store it and share the rest. Yes, even in rainy England, solar panels work! Storage is expensive now - but it won't be long before it is as common as loft insulation or energy efficient light-bulbs. …
Continue reading →
A bit of future-gazing which I can't be bothered spinning into a 15,000 word Gartner report. In the UK we have a competitive electricity market. Only one set of wires comes to your house, but you can buy your electricity from a number of providers. Some only offer organic, corn-fed, Wind Farm power - others promise price stability - another gives you a discount at their electric car chargers - one gives you loyalty points at a supermarket. We increasingly have smart meters. Second-by-second…
Continue reading →
I spent 15 years in the mobile phone industry - working variously for big mobile operators, with phone manufacturers, and consulting with industry groups. I say this not to brag, but to let you know that I have experience with these matters. Web browsers are often called a User Agent. They are a software agent acting on behalf of their user. So what happens when the browser acts against the interest of their user? This isn't a theoretical question - there's a long history of browsers which…
Continue reading →