Latest posts

Updated to OpenBSD 6.3? Found your IPv6 Broken?

I have an OpenBSD box hosted with Bytemark. I recently updated it to the latest, OpenBSD 6.3. After the update, my IPv6 networking stopped working.

This is a documented change in the upgrade notes, but I guess I didn't read close enough, or didn't realise the impact this change would have. Hopefully noting it here might be useful for anyone else that spends half an hour scratching their head wondering what happened.

After doing the upgrade all my IPv6 stopped working, and I could no longer ping the default gateway on it's linklocal address, fe80::1%vio0.

The workaround is simple, just add -soii to your hostname.if file in order to restore the previous behaviour of addresses generated from the MAC address.


traci# cat /etc/hostname.vio0
inet6 2001:41c8:011a::1 56
inet6 2001:41c9:1:41d::47 64 alias

After restarting the networking with sh /etc/netstart vio0 I'm able to ping again:

traci# ping6 fe80::1%vio0 
PING fe80::1%vio0 (fe80::1%vio0): 56 data bytes
64 bytes from fe80::1%vio0: icmp_seq=0 hlim=64 time=12.483 ms
64 bytes from fe80::1%vio0: icmp_seq=1 hlim=64 time=0.674 ms
64 bytes from fe80::1%vio0: icmp_seq=2 hlim=64 time=0.772 ms
64 bytes from fe80::1%vio0: icmp_seq=3 hlim=64 time=1.074 ms
--- fe80::1%vio0 ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.674/3.751/12.483/5.044 ms

I'm guessing that as this is a virtual server, perhaps the underlying hypervisor/router is expecting a particular address.

Local DNS for local people

Using the Unbound DNS server on OpenBSD you are able to easily create a 'split horizon' DNS in which you serve some additional information locally that is not visible globally.

Explaining Proof-of-Work, and how it compares to consensus

I was asked to explain how Proof of Work on a blockchain worked, here is a transcript. And how it compares to Ripple's consensus algorithm.

Multi-currency exchange on Ripple, Pathfinding and Bridging with XRP

Ripple has a built in distributed exchange. This is how XRP is used as a bridge currency in payments

Ripple and Bitcoin, a use-case for collaboration

There is a lot of hate out there for Ripple and XRP by some bitcoin fanatics, but they are solving different problems, and here is a use-case of how they compliment each other.

My Last Three Years in Numbers

A look at the last three years of my work in numbers.

Intro to Ripple and XRP

I've recently started playing about with the cryptocurrency XRP and the Ripple network, here is a quick introduction to it.

My University Thesis - Full Text Indexing

I found my university thesis from 17 years ago, along with the code for the full text indexer I wrote back then.

Automating Feature Branch Builds on iOS and Android

This is a talk given at Codemobile 2017 conference in Chester, UK. It was a 5 minute lightning talk detailing how to automate the building of apps for each and every feature branch created as part of a git-flow workflow.

How To Make Better Coffee Without Breaking the Bank

With about £60 of equipment and a bit of knowhow you can produce far better coffee at home than your cup of instant.