Posts

Iris Keyboard

Iris Keyboard

Paul Goulbourn
I’ve been using a Microsoft ergonomic keyboard for around the last five years. The layout suits me, but the switches are mushy. I’ve often looked at fully split boards but been put off by the price, for example, the Moonlander looks incredible. However, the price is around $400 dollars before adding whatever random import duty comes into play. I took a look at the excellent Mechboards site that has a series of kits available to build yourself.

RestTemplate and Java 17 Records

Paul Goulbourn
As part of my ongoing solar project I wanted some basic weather forecast information to help make judgements around cloud coverage. The good people at OpenWeather provide an api with a free tier that includes forecasted cloud coverage data hourly for a couple of days. The api returns a JSON structure that looks like this : { "lat": 50.8, "lon": 0.027, "timezone": "Europe/London", "timezone_offset": 0, "current": { "dt": 1644836705, "sunrise": 1644822797, "sunset": 1644858426, "temp": 281.

A Solar Journey

Paul Goulbourn
Last weekend we had 26 solar panels, some battery storage and a couple of inverters installed at the new house. All was installed fine and seems to be working OK so far. We went through a local county-based scheme with Solar Together. They awarded the Suffolk scheme to Greenscape Energy and turned around the install really quickly. The installer walked me through the online app that monitors generation, consumption, storage and returned it to the grid.

Leetcode

Paul Goulbourn
I’ve recently been working with a few folks looking to start out in coding/development careers. Quite a few entry-level positions seem to be filtered by programming tests. I won’t go into my feeling on these, as personally, I’m not a huge fan of this approach. As an employer, I was always more interested in the individual’s character and approach to problem-solving as opposed to a pressured machine judged pass/fail. However, with that said, these styles of testing have become more common.

Maix2 Dock Camera Test

Paul Goulbourn
You can write a small amount of python to test that the image you have created works correctly. The following is a tiny python script that takes an image from the camera and displays it on the built-in screen. Connect to the device via the serial link or over ssh. Create a test.py file with the #!/usr/bin/env python from maix import display, camera while True: display.show(camera.capture()) Make the script executable via

Maix2 Dock Serial Comms

Paul Goulbourn
The easiest way to check that the SD Card you have created is working is to connect to the device over the serial port. Picocom is a great tool providing terminal emulation over USB serial. For OSX a quick install can be performed via : brew install picocom Plug your Mac USB-C cable into the USB-UART port on the Maix 2 board. You can connect to the device using the USB serial device.
Maix2 Dock Image Burning On OSX

Maix2 Dock Image Burning On OSX

Paul Goulbourn
All the forum posts I could find assumed access to either Windows or Linux machines to burn the firmware onto an SD card. I needed a couple of goes at this when trying from my Mac. The main issue I had was how to remove and recreate one partition from the initial image. i.e. how to grow that partition to use the remaining space on the SD Card. I found a way of using Virtualbox to do this as outlined below.
Maix2 Dock Intro

Maix2 Dock Intro

Paul Goulbourn
I recently bought a Sipeed Maix II Dock. For my purposes, it’s an IOT device with a camera and screen that can also run a complete Linux environment. The core board is fairly cheap, and even the docked version comes in at around £20. The full specifications of the board are available from SeedStudio Getting this running has been a bit of a journey for me. Between using a Mac as my primary OS and struggling with the Chinese forums I’d not been able to find a “how to get started” site that worked for me.

Local Hugo Deploy S3

Paul Goulbourn
Before I jump to an automated GitHub -> S3 deployment for Hugo, I needed to get hugo deploy working for me locally to write changes directly to S3 once I’m happy with a post. I’m a little paranoid about AWS credentials for obvious reasons, so for local work, I like to have specific profiles in my ~/.aws/credentials file. These look like : [hugo] aws_access_key_id=c3VwZXIgc2VjcmV0IHVzZXI= aws_secret_access_key=SSdtIG5vdCB0aGF0IHN0dXBpZAo= Where the given user Hugo has specific access only to the S3 bucket being published to along with the ability to invalidate a cloud front distribution.

Importing Blogger to Hugo

Paul Goulbourn
I have a bunch of historic content that I created on Blogger many years ago. The vast majority of it is about devices and technology that are long since out of use for me (ant and Zaurus PDAs anyone?). However, on the off chance that anyone is interested in the excitement generated by wonders such as Skype incoming phone numbers back in 2005. I have migrated the content over to Hugo.