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.
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.
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.
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.
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
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.
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.
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.
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.
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.