Hunting for work in `Tech`

I’m up, getting back into a routine, I’ve walked the dog already. It’s cold out there. He didn’t fancy it, so I didn’t have to go too far. I’ll be commuting soon when I start my new contract - best get used to early starts. So having a bit of time on my hands, I wanted to share what my experience has been like, looking for a new role over the last 5 weeks.

How to make money with Crypto via ITOs and tokens (Part 4 - the final installment)

It is possible to make money on Cryptocurrencies, in an interesting but short window post ITO (Initial Token Offering). This IS part 4 and IS the final installment. Today we make our money! I’m not recapping. Read part 1, part 2 and part 3 (the “final” part) to see what we’ve covered. Quite a lot. And, as for some of it, you’ve been wondering about how it is relevant?

How to make money with Crypto via ITOs and tokens (Part 3)

It is possible to make money on Cryptocurrencies, in an interesting but short window post ITO (Initial Token Offering). This is the final installment, where we make our money. In part 1 we set the scene, in part 2 we got into liquidity and market efficiency. We concluded that it wasn’t easy to outsmart an efficient market. We also suggested that ITOs (Initial Token Offerings) showed many of the characteristics of inefficient markets, but we had a few concerns about investing in ITOs, due to the risk of under-performance, fraud, and not being able to sell our tokens, because we’re not sure when they’ll list on an exchange, or even if they will.

How to make money with Crypto via ITOs and tokens (Part 2)

It is possible to make money on Cryptocurrencies, in an interesting but short window post ITO (Initial Token Offering). In this second of three installments we get to it! In part 1 we set the scene, and I left you with this teaser - the key to this is liquidity, or rather the lack of liquidity. It’s also about information, and we’ll get to that too. Let’s pick it up there.

How to make money with Crypto via ITOs and tokens (Part 1)

It is possible to make money on Cryptocurrencies, in an interesting but short window post ITO (Initial Token Offering). Trust me there’s more here than a clickbait title, but first we need to introduce our subject. When people think of Cryptocurrencies, if they know what they are, they think of Bitcoin first, and maybe the altcoins, of which there are many, such as Litecoin and Ethereum, to name just two.

Sett, a BadgerDB abstraction

A little Go package to make BadgerDB easier (for me) to work with I’ve noticed that as an “older” developer, often, one of the first things I’ll do with a new package/API I’m using, is abstract it into just the bits I need and/or that my cognitive resources can cope with. The end result is often something akin to plain english (in terms of code), and while I’m not sure this says much for my cognition and memory, I do often wonder why this is not better syntax full stop?

Octogon G-Code File Uploader

An automatic file upload utility for OctoPrint Octogon is a simple command line utility which will monitor a single folder on your local file system for the addition/modification of .stl and .gcode extension files and automatically copy them to OctoPrint so they appear in your files list. Why? My 3D Printer is right next to me at the moment. But getting files onto it, configuring it, and monitoring it, are jobs that are a bit painful in this wireless age.

3D Printing a Racing Drone

We wanted to build a racing drone on a 3D printed frame Pictured: Completed build And I wanted to document it here - the build; the programming bit; the learning to fly bit.. But then we got into it. And I soon realised 3D printing the chassis/frame was actually going to be the easy bit. Drones builds are a massive topic - when you’re starting out. Involved, time consuming, but hugely rewarding, is the best way I can sum it up.

Experiments with Messaging over Ethernet Frames

In his article, Network Protocol Breakdown: Ethernet and Go, Matt Layher describes the Ethernet protocol and introduces a couple of libraries written in Go. I read the article with interest. Application communication, at the Ethernet frame level, a lower level than TCP sockets, was something I’d never considered before. Of particular interest was the “broadcast” nature of the communication. In contrast to sockets - though frames can also be addressed to specific devices - frames can be broadcast network-wide, enabling more than one device to listen and use the frame payload.

Running your Application as a Service on Pi Zero W

Daemonize your application so that it is easily started, stopped and resilient to crashes So you’ve got your headless Raspberry Pi Zero W all set up and you’ve been running applications you’ve written for yourself on it? I have, I’m using Go with a combination of Embd and Periph.io libraries to interact with the hardware on the Pi Zero W itself and external to it. But it feels clunky.

3D Printing. Learnings shared

Pictured: Pump mount. So… I have a Prusa Original Mk2 3D Printer. Learnings specific to this machine, though I expect you could generalise much of this. 1) Prusa Original Mk2 is a great product. Mine was a kit. I built it over 4 evenings, and on the few occasions I’ve contacted support, they’ve been great. 2) You can spend thousands on a 3D printer. Don’t. Prusa is reasonable cost for its ability.

Web Bluetooth to MQTT Gateway with Puck.js

If you read A little bit of Web Bluetooth you’ll know a bit about Puck.js and the new Web Bluetooth API already. But what, aside from building a gimmicky two factor authentication system, can you do with it? I had some ideas. What about an interface through which you can program multiple Pucks at the same time? The Web IDE allows you to connect and program one Puck at a time.

Raspberry Pi Zero W "headless" Setup

Pictured: My Raspberry Pi Zero W stand/rack. Get it on Thingiverse An end-to-end log of the set-up process I followed from my Macbook What’s this all about? Setting up a Raspberry Pi Zero W in a “headless” configuration, without a keyboard or monitor; Configuring access to multiple Wifi access points; Securing via passwordless SSH public key only login and Firewall rules configuration; Simple command line Terminal access by configuring Hostname/Hosts; Creating a custom image, which we can reuse next time we want to configure another Pi Zero W.

A little bit of Web Bluetooth

Communicating using the Bluetooth protocol has traditionally been the sole preserve of native applications. Now you can do it from a web page! This is the first of two short posts on my experiments with Puck.js and Web Bluetooth. This one looks at security; the second will look at a Web Bluetooth to MQTT gateway experiment. What’s Web Bluetooth? Some may know, that from Google Chrome v56, the Web Bluetooth API went from being an experimental “opt-in” feature to enabled by default.

Building a Remote Control Car with Espruino on ESP8266

A broken radio controlled microcar; just lying in a box, useless. A little knowledge of Espruino and winter nights closing in. “We can make this car work again - but over Wifi”, I told the kids. And that was my first mistake. First, one of those, “blimey this is a long post; maybe I won’t bother” things.. AKA “TL;DR”. Espruino/JavaScript code which runs on a NodeMCU ESP8266 microcontroller and does this.

Let's Encrypt and Go

Recently I implemented TLS using Let’s Encrypt for two Go applications. I thought I’d outline the process I followed and mention a couple of issues I had. Let’s Encrypt is a fabulous service. In making TLS freely accessible to the masses it’s helping make the Internet a more secure place. For Go applications, there’s no automatic install and renewal route, the process you follow to obtain a certificate takes you via the “standalone” option.

RethinkDB. The end of the Beginning, not the End.

Maybe you heard. The commercial entity behind RethinkDB will soon be no more. The project will hopefully continue as community driven open source, although the details are unclear - the who and how has yet to be ironed out. From my first encounter with the database it was clear that RethinkDB had something going on. A performant document oriented database had to be a given, yes. But the glorious admin UI, effortless clustering, and intuitive ReQL query language were lovely to see and use; the extensive documentation and examples, great to fall back on.