28 Apr 2017

Weekly Review: April 28, 2017

This week I assembled my new mechanical keyboard, put on Sheffield JS, upgraded my server to OpenBSD 6.1 and spent more money than I intended on vinyl.

Record store day

On Saturday I visited some local record stores for my first ever Record Store Day. I was surprised by how busy some of the stores were, by the time I turned up at Bear Tree Records there was a queue 2 hours long! Thankfully, some of the other vendors had little or no queue and I was able to bag some special releases. Notably, Joint Control by the wonderful John Renbourn and Wizz Jones, and a soundtrack for the French film 'Les liaisons dangereuses' (1960) by Thelonious Monk.

Keyboard build

Last week, parts for my new mechanical keyboard arrived, and this week I built it. After adding lubricant to the switches and silicone O-rings to dampen the keys, I think it's acceptably quiet for the co-working space. It looks pretty too.

Completed GH60 keyboard
Figure 1: Completed GH60 keyboard

The key caps are not blank, they're just very low-contrast: black on dark grey. I flashed the GH60 with some new firmware too, so now I have a UK layout with Caps Lock permanently mapped to Ctrl, and various function keys and a num pad available on the second layer (activated by holding what was previously the left Ctrl key).

OpenBSD

I upgraded my server to OpenBSD 6.1. This was my first upgrade experience with OpenBSD and it went very smoothly. The upgrade guide had clear advice and the installer took very little time to complete.

Programming

The slow trickle of commits continues on my personal P2P event-streams project. This week, I worked on the calculations for 'distance' between (node and value) IDs in the distributed hash table, and then wrote some code to find the 'k' closest nodes to an ID.

Currently, I'm using the example Kademlia bucket size from the academic paper (k=20), but that means a response for the 'k' closest nodes would exceed the practical UDP packet size. I now have to decide whether to handle multiple UDP response packets per request, or reduce the nodes per bucket. I note with interest that bittorrent's distributed hash table uses a value of k=8, perhaps for this reason.

Sheffield JS

Chris Kemp (@chriskemp3000) delivered an excellent and well-attended introduction to React. He also shared an idea for a 'cool wall', currently used at Notts JS to rate the relative shininess of new technologies - which could help us plan future Sheffield JS sessions.

Links

Enjoy your weekend! …and if you're in the UK, bank holiday Monday too :)