Bruce Woods

Hi, I'm Bruce.I like to work with technology, Linux, Raspberry Pi, IoT, web applicatons, automation, bash scripts and other wonderful things.**I have built web servers, information display systems, logistics systems, and even photo booths. **I have also helped build, and maintained storage arrays, print servers, networks, Voip telephony systems, bespoke off-site backup systems and IP CCTV systems.Please view my CV linked below. If you think there may be something I can help you with, please do get in touch.



Some technologies I'm familiar with :-

  • GNU/Linux operating systems (Mostly Debian/Ubuntu based, server and desktop).

  • Docker containers (configuring/building images and running containers and orchestration using docker-compose)SIP Voip/Telephony systems using Asterisk

  • Virtualisation using VirtualBox and qemu for both testing environments and running servers.

  • Bash scripting and automation.

  • IP CCTV stream management and storage (rtsp stream conversion and recording using containerised 'motion' daemon).

  • ZFS storage arrays, for both highly available shared storage (via NFS or SAMBA), and staged snapshots for off-site backups.

I have some exposure to:-

  • Container orchestration using Kubernetes

  • VM provisioning and management using ESXi/vSphere

  • Ansible

  • Puppet

Possibly relevant personal projects:-

For a friends' wedding recently I implemented a photobooth using bash scripts to display a countdown on trigger, post-shot display and slideshow of already taken photographs.
I've recently been tinkering together some bash scripts to do certain kinds of video and image manipulation using ffmpeg and imagemagick, one example of the results is the background image of this site (there is really only one of me I promise).
I've used a similar script to experiment with creating light paintings from short video footage, as this normally requires long-exposure photographs, which most cameras (particularly phone cameras) cannot do.I run a personal server at home that is both a testbed to tinker with interesting technologies, and runs a number of services I find useful.It is a small low-power x86_64 PC with added storage running (currently) Ubuntu 22.04 LTS, running as a Docker host with docker-compose used to manage and launch applications, Previous versions ran on Raspberry Pi single board computers, and in principle still could.Running on it in docker containers are:-

  • Traefik (acting as load balancer and reverse proxy, as well as handling container host mapping and LetsEncrypt SSL automation via docker-compose labels).

  • A container acting as a sort of dynamic dns, that monitors the WAN address and automatically updates A and CNAME records for a suitable domain with my registrar's DNS service via API.

  • A simple lighttpd container running a static web page served at the domain root.

  • A piping-server, allowing simple transfer/streaming of data using POST/PUT requests at a known URL.

  • Camus, a peer-to-peer video chat using WebRTC.

  • and multiple other things at any given time, I'm constantly trying things out.......

Projects/Things I have built for previous employers:-

  • Information Display Systems , based on Raspberry Pi 3B+, configured to boot to Firefox ESR under an appropriate user, using chron jobs update/reboot at appropriate times, and HDMI CEC to disable display outside office hours.

  • Similar systems to be used on warehouse packing benches, accepting input from barcode scanners to use with a web based picking/packing system with similar maintenance requirements, implemented on both Raspberry Pi (ARM) and x86_64 compact computer systems

  • A live-boot USB Ubuntu based desktop working environment for sales/customer service staff with suitable software suite (Browsers, SIP Softphone, OpenVPN client preconfigured for company VPN), allowing staff to work from home quickly and securely during the initial lockdown of the Covid-19 pandemic, using their own computers (without any system changes) where company equipment was unavailable on short notice.