Catfood Earth 3.20

Updated on Thursday, November 12, 2015

Catfood Earth 3.20

Catfood Earth 3.20 for Windows is now available for download. This update fixes a change in the feed address for the earthquakes layer. I've also switched to using the new NASA Black Marble night-time image and 3.20 includes the latest time zone and political border data.

Earth for Android has been updated to 1.30. This includes the new Black Marble image.

Immature Gmail Exploit

Updated on Thursday, November 12, 2015

Immature Gmail Exploit

The Gmail Android client helpfully puts the first letter of the name of the person who emailed you in a big block at the left of the mail list (I guess if you have Google Plus friends you probably get a photo instead). But it's pretty easy to change the from name in your email client and trivial to do this programmatically.

Tips... spell your message backwards and use a different subject line for each email so they don't get grouped together.

Golden Gate

Updated on Sunday, May 3, 2020

Golden Gate

Book reviews for September 2013

Updated on Friday, February 24, 2017
Dust (Silo, #3) by Hugh Howey

Dust (Silo, #3) by Hugh Howey

5/5

The best new SF series in quite some time draws to an end. Sad to see it go, can't wait to see what Hugh Howey comes up with next.

 

Brilliance by Marcus Sakey

Brilliance by Marcus Sakey

4/5

Understated X-Men shenanigans in thriller format.

 

Book reviews for September 2013

Updated on Friday, February 24, 2017
Dust (Silo, #3) by Hugh Howey

Dust (Silo, #3) by Hugh Howey

5/5

The best new SF series in quite some time draws to an end. Sad to see it go, can't wait to see what Hugh Howey comes up with next.

 

Brilliance by Marcus Sakey

Brilliance by Marcus Sakey

4/5

Understated X-Men shenanigans in thriller format.

 

Cloud

Updated on Thursday, November 12, 2015

Cloud

Google Spreadsheets API and Column Names

Updated on Thursday, November 12, 2015

Google Spreadsheets API and Column Names

I had a play with the Google Spreadsheets API recently to feed in some data from a C# application. The getting started guide is great and I was authenticated and adding dummy data in no time. But as soon as I started to work with real data I got:

"The remote server returned an error: (400) Bad Request."

And digging deeper into the response:

"We're sorry, a server error occurred. Please wait a bit and try reloading your spreadsheet."

The original sample code still worked so it didn't seem like any sort of temporary glitch as the message suggests. After much hair torn it turns out I was getting this error because I had used the literal column names from my spreadsheet. The API expects them to be lower case with spaces removed. If not columns match you get the unhelpful error above, if at least one column matches you get a successful insert with some missing data.

Error messages are one of the hardest parts of an API to get right. If you're not very detailed then what seems obvious to you can leave your developers stumped.

Hope this helps someone else...

Autumnal Equinox 2013

Updated on Thursday, November 12, 2015

Autumnal Equinox 2013

It's the start of autumn in the northern hemisphere, spring if you live south of the equator. Rendered in Catfood Earth.

Fix search on enter problem in BlogEngine.NET

Updated on Thursday, December 26, 2019

Search on enter has been broken for a while in BlogEngine.NET (I'm running the latest 2.8.0.1 version). Finally got a chance to look at this today and there is a simple patch to the JavaScript to fix it. See the issue I just filed on CodePlex for details.

Air Gap

Updated on Tuesday, April 12, 2016

The latest revelations about how thoroughly the NSA, GCHQ and friends have corrupted Internet security have got Bruce Schneier recommending an air gap.

Back in the late 90's I played a small role in the fight against the UK government's trusted third party / mandatory key escrow scheme on behalf of Ç-Dilla, at around the same time as the Clinton administration was pushing the Clipper Chip. It seemed that the fight was won, but apparently after being told no the spy agencies went and found a way to do it anyway.

The starting point is terrorists, because there is nothing that can't be justified by the war on terror. But all that data just wants to be used so it gets shared with the DEA, and then the IRSAnd then LOVEINT. The implications for civil liberties and the economy aren't great but they're probably not the worst fallout.

The ending point is probably terrorists as well. Because by opening up back doors and sneaking weaknesses into the algorithms that we depend on for security we've opened up holes for the bad guys to exploit. Bad enough that your local nuclear power station is hooked up to the Internet but now we know the VPN and the Firewall that should be keeping it safe have been fatally compromised.

If we really wanted to save the most possible lives then the billions being sunk into the NSA would be better spent developing self-driving cars.