Tom Broughton's Homepage

Writings of a Creative Technologist, Maker, Geek

I’m Thomas Alan Broughton, a 40 something Creative Technologist, Designer-Maker, Writer, Student of Cousnelling and Psychotherapy and full time Geek. What I write here is mainly for myself so I remember what I’ve done (and who I am). It’s partly about a journey of self-discovery and partly about leaving behind a trace of what I did whilst here on Planet Earth.

You’re welcome to take a look around. The content is broad and diverse due to my varied interests and tendency to get fixated on random but creative projects. It could be chaos and because of this I’ve put some effort into structuring my site so that others might find their way to something that’s useful or at least of some interest.

If I’m still alive then I always welcome constructive feedback and I’m open to discussions and debate. I’m also available to work on projects of interest, facilitate workshops and group activities, coach or mentor folks to see through their next goal or give a talk on a relevant topics you come across here on this site.

Setting up (local)Host URLs Using dnsmasq

As I explore running Gitlab server and pages in Docker I’ll need some local host urls to use. I could just add rows into my /etc/hosts file for the host domains but I’d prefer a more elegant solution. I’m going to set up local DNS forwarding using dnsmasq so I can host Gitlab and Gitlab pages on my local machine. Gitlab will need 2 host domains, one to route to the main Gitlab UI and the second to route to the published Gitlab pages. Continue reading...

Node Development Environments using Nodeenv

I’m working on a project for Cartoon Network and we are building an API on AWS which will accept some JSON and route to Lambda scripts that interface with a MySQL database. To do this I want to set up some local components for development and I’m starting with NodeJS to create both the API gateway and the Lambda scripts.

I want to contain NodeJS as much as possible and be able to switch versions and manage multiple packages across different projects I might work on. I’m going to do this using Nodeenv a python module to manage different versions of NodeJS.

Continue reading...

ANSI UK Keyboard Layout on Kinesis Pro

I have a Kinesis Freestyle Pro but it came with a US layout for the keyboard and I wanted a UK one. The issue I’ve had is that not all the keys of an ISO UK keyboard fit/map on the standard ANSI layout, for example the # and ~ on the ISO sit next to the enter key but there is no key for this on the ANSI layout and I use a UK layout (eg. the £ is on the 3 key in the number row). This means that I can’t access the missing keys when I use a UK keyboard layout on my OS and I don’t want to use a US layout because my laptop keyboard which I often use is UK.

Continue reading...

Using the STM32 ST-Link Programmer (updating the firmware)

I have used the stm32Nucleo-F411RE as a ST-Link programmer which uses Serial Wire Debug (SWD) as an alternative to JTag programming to burn the a bootloader onto the nRF52840. To configure the STM32Nuclueo as ST-Link I removed the jumpers on CN2. I installed openocd an alternative to segger j-link programming software sudo pamac install openocd and then within a python virtual environment I pip install pyocd - pyocd - a python interface making use of the openocd api. Continue reading...

Flashing Micropython onto nRF52840 Dongle

This is perhaps the first in a series of personal investigations into the nRF52840-Dongle. The dongle first attracted my attention when I was looking into usb dongle devices with microcontollers for a new Adventure Labs kit. Shortly afterwards it was referenced on a Linux news podcast I listen to mentioning the Google OpenSK which can be flashed onto this device as a secure key. This has piqued my interest as I’ve considered getting a yubikey for some time but being proprietary it’s put me off. Continue reading...

Backups With Borg

I use Ansible and a dotfiles manager called yadm to store changes I make to my system so that I can rebuild my machine easily whenever I want to. This takes care of programs I use and their settings, plus system settings such as thinkfan config, plasma desktop tweaks and emacs lisp scripts. I also use git for many of my content repos for software I write/contribute to, creative works I write and wikis/blogs I manage - including this one. Continue reading...

Micropython on STM32nucleo

I want to try out Micropython to see how it runs on a microcontroller. I’m looking for an educatonal platform for the embedded systems and I want to make the setup process and interface for the students as straightforward as possible. Micropython not only offers a python interpreter for microcontrollers it also euns on the microcontroller itself without any need for a programming envrironment or special uploader for the bootloader on the users computer. Continue reading...

Installing Sass on Linux

I downloaded the most recent release from the Sass Github releases page and extracted the files. $ wget -O dart-sass.tar.gz / https://github.com/sass/dart-sass/releases/download/1.22.12/dart-sass-1.22.12-linux-x64.tar.gz \ && tar xvf dart-sass.tar.gz Then I moved the extracted files to where I wanted them in the file system. $ sudo mv dart-sass /opt/ And finally I made a symbolic link to sass from the bin (which my path looks at). $ sudo ln -s /opt/dart-sass/sass /usr/local/bin/ To check I have sass installed I ran Continue reading...

Colour Man Page Output in Console

On linux when you want to know how to use an application you would typically check a man (manual) page using the command man <app/command> e.g. $ man ls The output is going to be text which, depending on your console/terminal emulator’s theming, will be plain white text. But the man pages are coded in such a way that you can also output this text coloured. Arch Linux wiki show us how to colour the text by edition your local profile1. Continue reading...

Ergonomically Mechanical Keyboard

For the past few years, when at my desk, I’ve been typing on a Microsoft ergonomic keyboard and it’s been very good to me. For the past few months though I’ve been spending a lot more time at my desk and typing a lot. Maybe it’s because I’ve modded my laptop to the max and I’m subconsciously looking for a new project but for the past few months I’ve been pawing over pages on mechanical keyboards. Continue reading...