The Mystery Button-Box

Earlier this year I found a mystery cable. But today, I’ve got an even bigger mystery. What the hell is this?

Box with two keyhole-shaped "buttons" and a power cord.
It’s a… thing?

I found it in a meeting room at work, tucked away in a corner. Aside from the power cord, there are no obvious interfaces to it.

"Buttons" on the button-box.
There are two keyhole-shaped “buttons” which can be pressed down about 2cm and which spring back up (except when they jam, but I think they’re not supposed to).

My best bet is that it’s some kind of induction-based charger? I imagine some kind of device like a radio microphone or walkie-talkie that can be pushed-in to these holes and the button “spring” is just about closing the hole when it’s not in use. But the box is old, based on the style of plug, cable, and general griminess of the hardware… not to mention that it’s got a stack of PAT test stickers going back at least 11 years.

Bottom of the mystery button-box.
No real markings anywhere on it: there’s a small hole in the (metal) base and PAT test stickers.

I’ve plugged it in and tried “pressing” the buttons but it doesn’t appear to do anything, which supports my “induction charger” hypothesis. But what does it charge? I must know!

Edit: The only Electrak I can find make lighting control systems. Could it be something to do with lighting control? I can’t find anything that looks like this on their website, though.

Edit 2: Ah-hah! Looks like it’s some weird kind of electrical socket. You put the key-shaped plug in and “twist”.

Electrak plug
The plugs apparently look something like this, although I can’t find any here.

Edit 3: Hang on a minute… the most-recent PAT test sticker indicates that it was tested in… November 2019. Now my working hypothesis is that this is some kind of power supply system for a time machine we haven’t yet built. I’ve asked a number of colleagues what it’s for (i.e. what plugs into it) and nobody seems to have a clue.

× × × ×

How Much of My Graticule is Covered With Water?

I’m a moderately-keen geohasher, as you might be aware if you follow my geohashing logs or you saw that video of me going ‘hashing earlier this month.

For those that don’t know, the skinny version is this: in May 2008 an XKCD comic was published proposing (or at least joking about) a new game with a name reminiscient of geocaching. To play the game, participants use a mathematical hashing function on the current date and the most recent Dow Jones Industrial Average opening value to generate sets of random coordinates around the globe and then try to find their way to them, hopefully experiencing adventures along the way. The nature of stock markets and hashing functions means that the coordinates for any given day are effectively random and impossible to predict (far) in advance, so it’s sometimes described as a spontaneous adventure generator.

XKCD comic #426, "Geohashing"
The XKCD comic that started it all.

Recently, I found myself wondering about how much of a disadvantage players are at if they live in very “wet” graticules. Residents of the Channel Islands graticule (49 -2), for example, are confined to two land masses surrounded entirely by water. And while it’s true that water hashpoints can be visited if you’re determined enough, it’s still got to be considered to be playing at a disadvantage compared to those of us lucky ones in landlocked graticules like mine (51 -1).

And because I’m me and so can’t comfortably leave a question unanswered, I wrote a program to try to answer it! It’s among the hackiest, dirtiest software solutions I’ve ever written, so if it works for you then it’s a flipping miracle. What it does is:

  1. Determines which OpenStreetMap tiles (the image files served to your browser when you use OpenStreetMap) cover the graticule in question, and downloads them.
  2. Extracts information about the colour of each pixel in each tile.
  3. Counts the proportion of “water blue” pixels to other pixels (this isn’t perfect, because it trips over things like ferry lines on the map as being “not water”, especially at low zoom-levels).
Extreme zoom-in on Worcester College Lake, on OpenStreetMap.
Some parts of Worcester College Lake are identified as “not water” on account of the text overlay.

I mentioned it was hacky, right?

You can try it for yourself, if you’d like. You’ll need NodeJS, wget, wc, and ImageMagick – all pretty standard or easy-to-get things on a typical Linux box. Run with node geohash-pcwater.js 51 -1, where 51 -1 is the identifier for the graticule you’re interested in. And in case you’re interested – the Swindon graticule (where I live) is about 0.68% water, but the Channel Islands graticule is closer to 93.13% water. That’s no small disadvantage: sorry, Channel Islands geohashers!

Update 2018-08-22: discovered some prior art that takes a somewhat-similar approach.

×

Why Are You Bothering?

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Why Are You Bothering? (The Polyamorous Misanthrope)

A letter I got recently and a question I was asked in another forum really got me to thinking. The question was: How did you come to realize that poly-amorous relationships were right for you? Now …

A letter I got recently and a question I was asked in another forum really got me to thinking. The question was: How did you come to realize that poly-amorous relationships were right for you? Now that you live this lifestyle, do you think that it’s for everyone, or more “natural” than monogamy? I answered:…

I was pleased to see that one of my favourite poly bloggers came out and said what I’ve always argued: that polyamory might well not be for everyone! I’m a big fan of the idea that everybody can learn some useful relationship-negotiation and communication skills from studying the practice of polyamory, but I’m certainly not suggesting that my lifestyle ought to be everybody else’s!

Oat the Goat

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Oat the Goat (oatthegoat.co.nz)

Oh my Goat! We just finished reading this awesome pick-a-path story that helps children learn the power of kindness. Have a go… #OatTheGoat

Oat the Goat

Discovered this fun interactive storybook; it tells the tale of a goat called Oat who endeavours to climb a mountain (making friends along the way). At a few points, it presents as a “choose your own adventure”-style book (although the forks are artificial and making the “wrong” choice immediately returns you the previous page), but it still does a reasonable job at looking at issues of bullying and diversity.

An Oral History of Leisure Suit Larry

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

https://melmagazine.com/an-oral-history-of-leisure-suit-larry-ef41bc374802 (melmagazine.com)

If you happened to flip through a PC gaming magazine in the late 1980s or early 1990s, you would’ve probably seen an ad for a game called Leisure Suit Larry, or one of its many sequels. It was a graphic adventure game first released in 1987 with the primary goal of helping its protagonist get laid. Since most games then leaned heavily into cartoon violence, Larry’s sexual innuendo stood out. To young boys at the time, it had the mystique of a shrink-wrapped Playboy in a convenience store.

AI Nationalism

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

AI Nationalism by Ian Hogarth (Ian Hogarth)

For the past 9 months I have been presenting versions of this talk to AI researchers, investors, politicians and policy makers. I felt it was time to share these ideas with a wider audience. Thanks to the Ditchley conference on Machine Learning in 2017 for giving me a fantastic platform to get early…

Summary: The central prediction I want to make and defend in this post is that continued rapid progress in machine learning will drive the emergence of a new kind of geopolitics; I have been calling it AI Nationalism. Machine learning is an omni-use technology that will come to touch all sectors and parts of society. The transformation of both the economy and the military by machine learning will create instability at the national and international level forcing governments to act. AI policy will become the single most important area of government policy. An accelerated arms race will emerge between key countries and we will see increased protectionist state action to support national champions, block takeovers by foreign firms and attract talent. I use the example of Google, DeepMind and the UK as a specific example of this issue. This arms race will potentially speed up the pace of AI development and shorten the timescale for getting to AGI. Although there will be many common aspects to this techno-nationalist agenda, there will also be important state specific policies. There is a difference between predicting that something will happen and believing this is a good thing. Nationalism is a dangerous path, particular when the international order and international norms will be in flux as a result and in the concluding section I discuss how a period of AI Nationalism might transition to one of global cooperation where AI is treated as a global public good.

Excellent inspiring and occasionally scary look at the impact that the quest for general-purpose artificial intelligence has on the international stage. Will we enter an age of “AI Nationalism”? If so, how will we find out way to the other side? Excellent longread.

Geohashing expedition 2018-08-07 51 -1

This checkin to geohash 2018-08-07 51 -1 reflects a geohashing expedition. See more of Dan's hash logs.

Location

A field South of Oxford

Participants

Plans

My meeting this afternoon got cancelled and my nearest hashpoint is only 6.5km (4 miles) away from my office. I can get this!

Expedition

After a productive morning’s work, I was genuinely slightly disappointed that a meeting I was scheduled to have this afternoon had to be rescheduled. But on the other hand… that meant that I could get away with extending my lunch break slightly and getting out to the hashpoint! I’d initially worried that it’d be inaccessibly buried on private land when Google Maps and satellite photography showed it to be deep in a block of cornfields, but OpenStreetMap came to the rescue and showed a public footpath somewhere in the very close vicinity of the target coordinates. And so, jumping aboard my bike, I set out!

600m from the coordinates I ran out of road and switched to the footpath, which I was pleased to discover was in reasonably-good condition: many underused local footpaths are not being very well-maintained at the moment and are often overgrown, but I was even able to bring my bike along this one and into the first field, although I had to push it rather than ride and I soon learned the error of my ways when the terrain got even rougher and I reached a narrow bridge – too narrow for my bike – spanning a dyke and entering the second field. Both fields had recently been cleared of corn, and whatever route the official footpath was supposed to take became rapidly unclear, but that’s probably for the best because I’m pretty sure I wasn’t on it by the time I reached the edge of the next field.

The hashpoint seemed to be along the fence somewhere so I followed it along – waving to some nearby cows – until my phone told me that I was under 3m from the spot. Hurrah! I snapped a panorama photo and started heading back, pausing a few times when I realised that I really, really couldn’t find where I’d left my bike. On the cycle home I passed a Gasometer which, because I’m told they’re super-rare in the USA, I thought I’d snap a picture of for those of you who ‘hash on the other side of the pond to oggle at.

Video

I actually remembered to shoot video of this expedition (well, all within a kilometre of the hashpoint and mostly within the last 350 metres!). It’s mostly just me rambling as I ramble, although there’s (brief) explanation of the Surprise Gasometer for those of you who live in countries where you don’t routinely see these interesting structures:

Photos

Intercepting HTTPS Traffic from Android Emulator

Mostly for my own benefit, as most other guides online are outdated, here’s my set-up for intercepting TLS-encrypted communications from an emulated Android device (in Android Emulator) using Fiddler. This is useful if you want to debug, audit, reverse-engineer, or evaluate the security of an Android app. I’m using Fiddler 5.0 and Android Studio 2.3.3 (but it should work with newer versions too) to intercept connections from an Android 8 (Oreo) device using Windows. You can easily adapt this set-up to work with physical devices too, and it’s not hard to adapt these instructions for other configurations too.

Intercepting a HTTPS connection to DanQ.me on a virtual Android device.

1. Configure Fiddler

Install Fiddler and run it.

Configuring Fiddler

Under Tools > Options > HTTPS, enable “Decrypt HTTPS traffic” and allow a root CA certificate to be created.

Click Actions > Export Root Certificate to Desktop to get a copy of the root CA public key.

Fiddler's Connections settings

On the Connections tab, ensure that “Allow remote computers to connect” is ticked. You’ll need to restart Fiddler after changing this and may be prompted to grant it additional permissions.

If Fiddler changed your system proxy, you can safely change this back (and it’ll simplify your output if you do because you won’t be logging your system’s connections, just the Android device’s ones). Fiddler will complain with a banner that reads “The system proxy was changed. Click to reenable capturing.” but you can ignore it.

2. Configure your Android device

Android Device Manager - New Device

Install Android Studio. Click Tools > Android > AVD Manager to get a list of virtual devices. If you haven’t created one already, create one: it’s now possible to create Android devices with Play Store support (look for the icon, as shown above), which means you can easily intercept traffic from third-party applications without doing APK-downloading hacks: this is great if you plan on working out how a closed-source application works (or what it sends when it “phones home”).

Android emulator showing network settingsIn Android’s Settings > Network & Internet, disable WiFi. Then, under Mobile Network > Access Point Names > {Default access point, probably T-Mobile} set Proxy to the local IP address of your computer and Port to 8888. Now all traffic will go over the virtual cellular data connection which uses the proxy server you’ve configured in Fiddler.

Android network proxy settings

Drag the root CA file you exported to your desktop to your virtual Android device. This will automatically copy the file into the virtual device’s “Downloads” folder (if you’re using a physical device, copy via cable or network). In Settings > Security & Location > Encryption & Credentials > Install from SD Card, use the hamburger menu to get to the Downloads folder and select the file: you may need to set up a PIN lock on the device to do this. Check under Trusted credentials > User to check that it’s there, if you like.

Installing a Root CA in Android.

Test your configuration by visiting a HTTPS website: as you browse on the Android device, you’ll see the (decrypted) traffic appear in Fiddler. This also works with apps other than the web browser, of course, so if you’re reverse-engineering a API-backed application encryption then encryption doesn’t have to impede you.

3. Not working? (certificate pinning)

A small but increasing number of Android apps implement some variation of built-in key pinning, like HPKP but usually implemented in the application’s code (which is fine, because most people auto-update their apps). What this does is ensures that the certificate presented by the server is signed by a certification authority from a trusted list (a trusted list that doesn’t include Fiddler’s CA!). But remember: the app is running on your device, so you’re ultimately in control – FRIDA’s bypass script “fixed” all of the apps I tried, but if it doesn’t then I’ve heard good things about Inspeckage‘s “SSL uncheck” action.

Summary of steps

If you’re using a distinctly different configuration (different OS, physical device, etc.) or this guide has become dated, here’s the fundamentals of what you’re aiming to achieve:

  1. Set up a decrypting proxy server (e.g. Fiddler, Charles, Burp, SSLSplit – note that Wireshark isn’t suitable) and export its root certificate.
  2. Import the root certificate into the certificate store of the device to intercept.
  3. Configure the device to connect via the proxy server.
  4. If using an app that implements certificate pinning, “fix” the app with FRIDA or another tool.
× × × × × × ×

Geohashing expedition 2018-08-04 51 -1

This checkin to geohash 2018-08-04 51 -1 reflects a geohashing expedition. See more of Dan's hash logs.

Location

Looks to be deep in the bushes alongside the unnamed road that connects Kidlington Road (to Islip), the sliproad exiting the A34 Southbound, and Bicester Road (in Kidlington).

Participants

Plans

The nearest road is about 10 minutes cycle from my (Dan Q) house, so I plan to zip out there either overnight (perhaps aiming for a Midnight Geohash?) or early in the morning. If you happen to plan to hit this hashpoint too, though, let me know and I can try to synchronise plans (but I ought to be spending the day studying, so I might not be able to!).

Expedition

At 2018-08-03 23:02 (BST – local time) I started packing a bag and set out to the hashpoint. Suddenly it didn’t seem like such a good idea as it had in the warm sunlight, earlier: a dark and moonless night isn’t the best time to be cycling along unlit roads. But fully-equipped with lights and supplies, I set out nonetheless. I’d left longer than I needed and had about a quarter of an hour sitting by the side of the road before midnight came and I was able to visit the hashpoint (thereby gaining my Midnight Achievement).

Photos

Dan Q posted a note for GC6P6WR Pub Quiz

This checkin to GC6P6WR Pub Quiz reflects a geocaching.com log entry. See more of Dan's cache logs.

I just received a message from user LesHommesSauvages who’re so close to solving this puzzle. Here’s hoping that the mild hint I gave them about which digit they’d gotten wrong is enough to have their “Found it” message be the next log on this cache!

Quantum Key Distribution Whitepaper

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

https://www.ncsc.gov.uk/whitepaper/quantum-key-distribution (ncsc.gov.uk)

This white paper describes our current position on quantum key distribution (QKD). QKD is an approach to key distribution that relies on the properties of quantum mechanics to provide security.

For all the practical, business and security reasons given above, at this point in time we:

  • do not endorse QKD for any government or military applications
  • advise against replacing any existing public key solutions with QKD for commercial applications

The UK should continue its research and development of QKD systems. But this should be balanced by a growing body of practical QKD vulnerability research, and accompanied by the development of methods for quantifying and validating the security claims of real-world QKD systems. Responsible innovation should be accompanied by independent validation.

Wise words from the NCSC here:while QKD continues to depend upon conventional components that often lack battle-testing they may have vulnerabilities. Furthermore, current implementations of quantum cryptography fail to address the bigger and harder problems of authentication and identity – key distribution, while not perfectly solved, is still something that we understand very well… and many real-world attacks target other parts of the process (which QKD does not seek to solve).