Stuff made by Damian Moore
Audio Audit
Automated quality checking tool for podcasters. Improve the quality of your podcast by uploading your audio files. It checks and shows how to fix volume, metadata, sentence restarts, silences, + more. Read more
Dumping and restoring Postgres databases
Some quick notes for reference and how to avoid a common pitfall. Dump existing database: $ pg_dump -U USERNAME -h HOSTNAME DATABASE_NAME > dump.sql Drop new database that you want to replace: $ psql -h localhost -U postgres -c 'drop database DATABASE_NAME;' You may get the following…
Adding email accounts under Docker Mailserver
These are some quick notes, mainly for myself. This is when you're adding new domains/users to an existing installation of Docker Mailserver Account creation Generate password entry for email/password combo: docker run -e MAIL_USER=user1@domain.tld -e MAIL_PASS=mypassword -ti…
Extinction Rebellion Brighton
This is a site I have been working on for about the last month. It is something I am very passionate about. The site is based around Django-CMS and is Open Source on GitHub so other local groups can use it as a starting point. https://xrbrighton.earth/ Update 21st Feb 2020: The site has continued…
Python Mock Examples
I always forget the best way to do mocking for Python tests so I created this repository with some examples. I know future me will be thankful and I hope it helps you too.
Certificate debugging with strace
This is a short post about a neat tool that just saved the day. A colleague was having trouble getting his Ubuntu virtual machine to connect to any web hosts that are served over HTTPS. This was to be expected as there is a corporate proxy that unencrypts all traffic to inspect it, then re-encrypts…
Shoe Rack
This was a fairly quick, weekend afternoon project. We moved into a loft apartment which had eaves storage where we wanted to put our shoes. As there was nothing we could buy that would make use of the space, we built this using recycled pallets from The Wood Store.
HP Server Fan Controller
I run a HP Proliant Microserver gen. 8 as a home server. It used to make quite a bit of noise, so this is what I did to upgrade it. New fan controller The case fan for this machine is controlled by the motherboard's controller sending a PWM signal to the fan to determine it's speed. The fan also…
BIOS Settings for Dell XPS 13 9370
My Dell XPS 13 (9370) came pre-insatlled with Ubuntu Linux after using it for a couple of months a problem became aparrent. Their engineer came out and after replicating the diagnosis decided to replace the motherboard and storage. Once the machine was able to boot a live Linux USB stick again I…
CNC Machine Electronics Upgrade
I decided my CNC machine (based on Shapeoko2 designs), that I originally built in 2014, could do with some love. The wiring was messy, getting in the way and proved unreliable due to insecure connections. Setup to use the machine took several steps with multiple mains power plugs for parts like…
Non-paging processes with CGroups
There are situations where sometimes you want more control over your processess and the programs you run. Commonly the first tools people turn to are nice for controlling share of processor time or ionice for controlling share of disk access. In this instance I was more interested in memory usage…
Setting up a private Docker registry
It is pretty easy to run your own private Docker registry - of course there's a Docker image for it! In the following steps I'm assuming the volume you'll be mounting to your registry is located at /volumes/registry. Firstly create a username/password combination that you'll use when you push and…
Setting up Raspberry Pi in headless mode
Quick notes (mainly for myself) to make SD card of Raspbian, configure wifi and make SSH run - all before booting the Raspberry Pi. sudo dd if=/dev/zero bs=4M count=1024 of=/dev/[DEVICE_ID] status=progress # Wipe card to make sure sudo dd if=raspbian.img of=/dev/[DEVICE_ID] bs=4M status=progress …
Trumpet / Cornett Mouthpieces
My brother plays trumpet and cornett. Cornetts were popular instruments from around 1500 and today there are specialists who try to build instruments as accurately as possible to the original designs. We were lucky enough to find a German book of mouthpieces which contained diagrams and …
Simple Transistor Guide
Using transistors can be very frustrating if you don't know what you're doing. These are some basic steps I go through when I want to find one that will do the job and then wire it up. Hopefully this should be just enough information for you to switch things on and off. There are many different…
Table Restyling
I decided to give a tired looking Ikea Lack coffee table a new lease of life. The make it a focal point I covered it with nature/landscape photos from magazines. This was the process. Sand back the smooth finish so there is something to adhere to. Draw a grid over the top and around the legs -…
Laser-Cut Woodland Placemats
This was a Christmas gift to my parents. Design was done in Inkscape. Once I was happy with design, I took it to a specialist laser cutting shop near Bethnal Green. They had machines large enough to cut all 6 placemats and coasters out of a single sheet of birch ply in a single job. Once I got them…
Laser mapping a home
My employer, onefinestay, ran a tech team off-site event recently over a couple of days. I suggested an idea of using laser range finding equipment to map the layout of a home and a group of us got to work on a solution. A full description of what we did is on our tech blog so check it out.
Using an SSH server as a SOCKS proxy
SSH has support for SOCKS built in. If you have a remote SSH server you can use it as a proxy for web and other traffic. Connect to the server with the following command and after a few seconds you will have a SOCKS proxy at 127.0.0.1 port 8080. ssh -C2qTnN -D 8080 <user@remotehost> The options…
Compressed swap RAM
I've been trying zram recently and have found it keeps my laptop very responsive when I would otherwise run out of physical RAM. It seems distributions like Ubuntu are considering turning this on by default but the the support already exists in most recent kernels and there are scripts (and a…
Samsung laptop firmware update check from Linux
Update 2013-06-01: I now have a script that makes it easy to check for BIOS updates: samsung-bios-check. The way Samsung would have you check for BIOS/firmware updates is to download a Windows .exe and run it. There is nowhere on their site I can find out about firware release versions. For someone…
Simple Gnome Keyring reading with Python
If you've ever need to write a script that needs a password to perform some sort of login, keeping that password in Gnome Keyring is a good idea as it will be properly encrypted with very little effort. I chose to manually add a password to a keyring using the GUI and then access that password with…
VirtualBox networking for web development
At work our development machines have quite a large stack of software including search services, database servers and other tools that are required to run the site. I like to upgrade my desktop linux distribution more regularly than we would upgrade servers, however this can cause problems with the…
Recommended Gnome Shell Extensions
Here's a list of some plugins I use with Gnome Shell and Gnome 3: User themes - Required for loading user generated themes. Workspace navigator - Lets you change desktops in overview mode with only the up/down arrow keys. Advanced volume mixer - Easily switch output devices and adjust volume of…
Natural/Reverse scrolling
I like using my touchpad/trackpad to scroll by emulating pushing the page like a touch screen phone or tablet rather than copying the action of a wheel mouse. This is often referred to as natural, reverse or inverted scrolling. When trackpad scrolling used to emulate button presses like the fixed…
Filesystem optimisations for SSDs (Btrfs)
Btrfs is a great filesystem for SSDs as it can increase read/write speeds and save space with compression. These are the mount options I use with Btrfs: sdd - Built in optimisations for SSDs discard - Enables discard/TRIM on freed blocks compress=lzo - Fastest compression and improves…
SSH Tunnelling/Forwarding
This allows you to bind a local port to a port on a remote server to make it public: ssh -N -R <localport>:localhost:<remoteport> <user@remotehost> This lets you bind a port on your server to a local one: ssh -N <user@remotehost> -L <localport>:localhost:<remoteport> You will probably need to add…
Linux Desktop Latency
It seems there are is a lot of activity at the moment in the Linux community to make the desktop as responsive as possible. In mid-November Mike Galbraith wrote the now-famous 200 line patch that groups processes together to make the desktop experience more interactive. This was accepted by Linus…
Eee PC optimisations
elevator=noop Disk optimisation for I/O is usually enabled in Linux to try and minimise disk seeking. Since we are on an SSD (solid state drive) we can let the OS read and write without any queueing which will speed things up. More info on I/O scheduling. More info on elevator=noop: Wikipedia,…
Django User Group London Meeting
I attended yesterday's DJUGL meeting, held at the Guardian in London. The evening consisted of three presentations with gaps for discussions and consumption of free beer and pizza. Entry was free and open to all with an interest in making Django better, though registration was strongly advised as…
Ubuntu Opportunistic Developers Week
I've been following along with the latest community program from Ubuntu this week - Ubuntu Opportunistic Developers Week. There are a number of talks, each one hour long, which aim to stir up some action in the minds of would-be developers. The talks are carried out through a tool called Lernid…
Testing SSL/TLS certificates with OpenSSL
These commands are here for quick reference when debugging is required. Checking a server's certificate is signed by a trusted third party openssl s_client -CApath /usr/share/ca-certificates/ -connect example.com:443 Near the bottom of the output under the SSL-Session section, you are looking for…
PC to HDTV HDMI Woes
I've connected my PC to my HD TV via HDMI. There were some problems with the picture quality that I came across, so I thought I'd explain how I've managed to fix them. The TV is a 22" 1680x1050px LG M2294D and is labelled as a 'Digital TV Monitor'. The PC is an Acer Aspire Revo 3600 which has a…
Security measures for protecting web accounts
I though I would write some notes on website security today - specifically for account logins. So many sites these days require some sort of login. Even if there is no facility for users to register, most will require some sort of admin interface to a CMS for maintenance. The dictionary/brute force…
All change
I had three weeks of exams for my final year at University of Essex and dissertation presentation before that. The exams were over almost two weeks ago now and since then I have catching up with other work and starting a few of my own projects I have been thinking about lately. I have been…
Easter vacation
Well, it's the end of spring term at uni now and I'm back for the holiday staying with parents. The past few months have been pretty busy with assignments and dissertation (which I'll post about at a later date). Here's a list of what I'll be up to until I return to uni for my final term. Keep an…
Mobile 3G Internet
Yesterday I switched my mobile network provider to '3', mainly because of their attractive fixed-rate Internet bundle. For £5 I get 30 days Internet access, up to a 2GB data-transfer limit. Compare that to my previous network provider (who shall remain nameless) and my £5 would get me only 1MB…
Sony Ericsson phones reading ID3 tags
I've been having trouble transferring/playing music on the SE W610i and K800i phones. Copying the MP3 files to the phone is easy--when you plug it in with the USB cable you can select 'File Transfer' on the phone and it will reboot as a mass storage device so Linux can mount it. However, after…
Packard Bell Syntek webcam success
Approximately 18 months ago, my girlfriend was looking for a small and light laptop to replace her broken iBook. The replacement laptop is a Packard Bell Easynote BU45-U-045 (I think that's the model number--product details. Most of the hardware is well supported by Ubuntu Linux--Intel graphics…
Introducing: Another Blog
I set-up this blog a few months ago and it's just been kicking 'round doing nothing. So, here we go--my first blog post. I am a 3rd year undergraduate student studying Computer Science at Essex University. This blog will hopefully allow me to document my thoughts and provoke discussions on matters…