bharr Too new for a tagline.


Simple laptop backup system

Written by Ben Harris on 28 Aug 2014.

Just a quick post to help me get back in the habit of writing. This is on my laptop backup process; I frequently need to travel, and I feel better knowing that all my half-comitted git repositories are safe.

I am using the horcrux tool to run my backups. This makes the backup as simple as

sudo mount /mnt/usb_hdd
horcrux auto usb_hdd

In addition to this, I have a daily cron job that checks the date of the horcrux log and emails me if it is older than 5 days. In this way I get reminded to update my backup every 5 days.

Revised blog infrastructure

Written by Ben Harris on 18 Aug 2014.

I've just moved my blog from a manual build to a Travis build. This should hopefully allow me to use Prose.io to edit the posts and maybe actually get more posts out.

Stranger things have happend.

Edit: Re-push as Travis didn't like the lack of config file in master.

Edit2: Another try.

Edit3: And an edit via Prose.io

Edit4: Last one

Rust for embedded systems

Written by Ben Harris on 13 Nov 2013.

I'm still looking for a development toolkit I'm happy with for embedded systems. But I've stumbled upon Rust while looking at the upcoming LinuxConfAU sessions and it looks nice. It is ahead-of-time compiled with LLVM, has a nice type system, lightweight tasks (actor like), and can be used without the runtime/standard library. Rust is still under heavy development, but I was able to set up a build environment to produce ARM Cortex-M0 binaries.

Toolchain: Kinetis KL25 development - Part 2

Written by Ben Harris on 01 Nov 2013.

After heaps of messing about, I have a basic toolchain for the KL25 (and hopefully any Kinetis series chip). I couldn't find out the licence for the very hard to find Freescale headers, so I've set up Github repositories to hold the BSD licensed ARM CMSIS Headers and my own BSD licensed Kinetis CMSIS headers. My own project, Operon, has an example of how the two repositories are used. I've utilised Simon Schubert's SWD interface for programming and debugging.

Mnemonic project: Day 5

Written by Ben Harris on 24 Oct 2013.

I'm practising the skill of memorising a deck of cards. Hopefully by logging my progress I'll keep at it long enough to make it a habit.

Result 6: Stored 52 cards in 11 minutes. Recalled 85%.

USB PID/VID: A mitigating solution

Written by Ben Harris on 23 Oct 2013.

There has been recent coverage of the difficulty small projects have in getting a PID/VID for their USB devices. Even if they are implementing devices that only use class interfaces (and don't need a driver), the device still needs a VID/PID to enumerate with. One solution is to try and get USB-IF to sell smaller blocks of numbers, but they are hesitant to do that because the VID/PID isn't a 32-bit address space they can apportion how they want (this is a political, not technical distinction).

Another solution is to get one VID/PID that all these simple projects can use, and specify a minimal protocol that they need to implement to be compatible with a generic driver. I'll take the first stab at this, hopefully it gets some traction.

Mnemonic project: Day 4

Written by Ben Harris on 22 Oct 2013.

I'm practising the skill of memorising a deck of cards. Hopefully by logging my progress I'll keep at it long enough to make it a habit.

Result 5: Stored 44 cards in 10 minutes. Recalled 82%.

SWD buffer for BusBlaster v3

Written by Ben Harris on 21 Oct 2013.

I put together a quick project to make a KT-Link compatible buffer for my BusBlaster v3. The repo is here, and background and programming instructions is available here.

Next step is finding a urJtag or OpenOCD version that supports KT-Link SWD.

Mnemonic project: Day 3

Written by Ben Harris on 21 Oct 2013.

I'm practising the skill of memorising a deck of cards. Hopefully by logging my progress I'll keep at it long enough to make it a habit.

Result 4: Stored 38 cards in 10 minutes. Recalled 100%.

Laser cutting aluminium vs steel

Written by Ben Harris on 21 Oct 2013.

I like to have rough figures for how common things stack up against each other. I'm designing some laser cut pieces for a 3D printer I'm working on, and I have to choose between aluminium and carbon steel. the long and short of it is, when comparing 3mm aluminium to 2mm carbon steel; the aluminium weight half, costs twice as much and is marginally stiffer (~15% more resistant to deflection/bending).

Mnemonic project: Day 2

Written by Ben Harris on 20 Oct 2013.

I'm practising the skill of memorising a deck of cards. Hopefully by logging my progress I'll keep at it long enough to make it a habit.

Result 3: Stored 36 cards in 10 minutes. Recalled 78%.

Mnemonic project: Day 1

Written by Ben Harris on 19 Oct 2013.

I'm practising the skill of memorising a deck of cards. Hopefully by logging my progress I'll keep at it long enough to make it a habit.

Result 1: Stored 20 cards in 10 minutes. Recalled 100%.
Result 2: Stored 40 cards in 10 minutes. Recalled 50%.

Toolchain: Kinetis KL25 development

Written by Ben Harris on 11 Oct 2013.

I've recently selected the Kinetis KL25 as my go-to microcontroller. I can buy it cheaply direct from Freescale, and it has an incredible collection of peripherals for the cost. This necessitated the search for a new toolchain. I have a bad habit of reinventing the wheel with most things, so I started looking for projects with peripheral libraries. After a relatively short search, I had found three potentials.

Update: Part 2 of my search

Magnetic delta and print angles

Written by Ben Harris on 11 Oct 2013.

I'm in the middle of designing my delta style 3D printer. Having reviewed a few designs, the magnetic joints looks to be the easiest way to go. I've noticed that many people angle the ball mount 45 degrees by either bending the plate or inserting an angle spacer. I wanted to avoid this if possible, so I calculated the minimum inclination possible for a given design.