2018 stock take

Last year I wrote down a list of things I wanted to achieve and then evaluated how well I had done. This year I wrote a similar list but failed to publish it. 8 months later I’ve just found the list, and I’m amused to find that I’ve done fairly well, and even exceeded my own expectations in at least one area (I said I’d start cycling, but didn’t predict that it would become such a large part of my life).

It turns out that travelling less, spending more time exploring Birmingham, trying new places to eat, and swapping time spent in front of a computer for outdoor activities were all (at least subconsciously) planned. Now I just need to go to more concerts and spend more time with my non-Birmingham friends and then the list is largely complete.

Installing Ubuntu on a Chromebook

I’ve been experimenting with Chromebooks for a few weeks now to try and come up with a low-power low-cost no-maintenance setup. There are a lot of very good blog posts covering the basics already, but I thought it was at least worth documenting how I got Ubuntu installed on my older Chromebook (which is a bit of a frankenstein that goes against the general ethos of not upgrading or otherwise tinkering with the hardware). This is probably best not attempted on anything with less than 32Gb of storage, and 4Gb of RAM is probably a good idea as well.

Enable developer mode

To enable developer mode, press escape and refresh and hold down the power key. When the scary message appears then press Ctrl+d and wait for the (fairly long) process to complete. This will unlock the full bash shell, and give you enough control over the Chromebook to set up a chroot.

Install Crouton

Crouton is the script that is used to install Ubuntu in a chroot. Download it from here and ensure it’s in your downloads folder. Then press Ctrl+Alt+t to open the chrosh terminal, and type shell at the command prompt. This will get you full shell access to the Chromebook.

To install Ubuntu (at time of writing 16.04) then issue the following command:

sudo sh ~/Downloads/crouton -e -t xfce

This will take a while, but when it’s done then issue the following command to start Ubuntu:

sudo startxfce4

To toggle between ChromeOS and Ubuntu use Ctrl+Alt+Shift+Back and Ctrl+Alt+Shift+Forward. Performance is actually not bad, and productivity is only an apt install firefox away.

Other useful commands

The following commands could be useful (all issued within the ChromeOS shell):

See a list of possible distributions to install:

sh ~/Downloads/crouton -r list

Back up a chroot:

sudo edit-chroot -b name

Restore it:

sudo edit-chroot -r name

Delete a chroot:

sudo delete-chroot name

500 miles and beyond

I’ve just cycled 500 miles to raise money for Good Hope hospital in Birmingham. I did it over a few weeks, interspersed with all the other things I usually do, which made it a lot more feasible than trying to do it over a weekend (which I also think would have killed me). 500 miles might not seem like a lot, but I had only been cycling for just over a month when I started (after 10+ years without a bike), and I knew that I would likely have to do most of that distance as part of commutes, hospital visits, shopping trips, and other scenarios that would require me to carry a lot of luggage.

The first few days were very hard. I did a lot of road cycling and quickly remembered why I had stopped cycling in the first place. I then talked to other people who cycled in Birmingham and found a couple of canal routes I wasn’t aware of. I also explored the bit of north Birmingham between Good Hope hospital and my house and found a few miles of parks that meant I could avoid the nightmare that is Sutton town centre during rush hour. This made things easier, and I did the first bit of my challenge in and around Sutton and other parts of north Birmingham, with the occasional canal adventure in the south.

I also started cycling home from work some days. It’s a 9 mile ride (8 miles of which is canal towpaths), and I initially thought it might be too far to do every day. Towards the end I did do it every day, and also cycled to work the same way a couple of days a week. Most of my last 200 miles was done this way, and I’ve found it a much more pleasant experience than cycling on the roads.

I did manage a few trips where I got to cycle for pleasure, rather than to move between two places I had to be. I’ve been to Sandwell Valley Country Park, done some of the Rea Valley route, and done a 25 mile exploration of the Grand Union Canal in blistering sunshine. I certainly plan on doing more of that sort of cycling in the near future.

When I started cycling I was carrying everything in a rucksack (largely because the first bike I used didn’t have any other storage). I’ve since switched to panniers for most trips, which reduces the strain on my back significantly, although does add width that can be a problem in some tunnels. It means I can carry a lot now though, and a weekly shop is now very much a possibility (including wine, jars of curry sauce, and other heavy/bulky things). I’m also still refining what I carry with me on a daily basis, although I have found a use for most of the tools in my bag (especially puncture repair tools), and there is probably not much I would want to discard at this point.

I’ve completed 500 miles, but I’m not stopping there. The challenge continues until September, so I’m going to keep on cycling and see how far I get (I’m hoping for at least 700 miles). I’ll be tracking my progress on the website, and am still very much interested in further sponsorship.

My Setup

I’ve been maintaining an up to date list of what hardware and software I use since I discovered Uses This a few years ago. It usually lives as a page on this blog, but as I’ve rewritten 95% of it today then I think it deserves to be a blog post.

The hardware I use

Work – Surface Pro 4, with a Targus dock, two generic monitors and a Microsoft keyboard and mouse.

Home – A setup that looks superficially the same as work, but is older, has more cables, and has an excellent solar powered keyboard that is far superior to the Microsoft one I use at work. It also replaces the Surface Pro with a proper laptop, and adds a server with lots of memory that runs my (internal) WordPress sites and contains a backup of all my music. I also have a variety of small laptops and Raspberry Pis that fulfill various server and media functions, and a Synology NAS for backups. I’m trying to phase out a lot of my older computers and only use newer machines with SSDs and lots of memory, but it’s hard to let go sometimes.

Work from home – As home, but with an additional VM that allows me to connect to a remote desktop. Sometimes I’ll plug the Surface in, but that is only required for certain types of work and it’s far from my default setup now.

Travel – Chromebook, Raspberry Pi Zero, iPad (sometimes), Kindle and phone. Sometimes I’ll travel with my laptop, but that is rare. I also carry bootable USB versions of Ubuntu and Tails everywhere I go (even places I don’t take a computer). Increasingly my travel hardware also includes a bike and related tools.

The software I use

At work I’m running Windows 10. It’s ok, but I would like to be able to live without it.

At home (and whilst travelling) It’s a mix of Ubuntu, iOS, LibreElec ChromeOS and Raspbian (although I also have computers running Windows 10 and Mac OS that are rarely switched on now). Some of this is the legacy of spending the first half of 2018 trying to live with each main desktop OS for at least a month, which I must get round to writing up properly soon.

I use Firefox, Chrome and Safari on a daily basis, although Firefox has always been my main browser.

Other software I use that I feel is somewhat noteworthy includes:

WordPress – All my blogs run on WordPress, including several that are only available on my home network (including an extensive knowledge base containing all IT related things I learn). I currently maintain a WordPress multisite installation and several stand alone sites.

Evernote – I use this on every device I own (largely the web version now though), mostly to take notes in meetings and training sessions, and then to revise/reflect later. A lot of my notes are now photographs of whiteboards and other hand drawn scribbles, which Evernote handles very well.

Atom – A text editor that handles Markdown well, and can preview and export to PDF. I also use Pandoc to convert to PDF, HTML and/or .docx if required (I try not to use office software until the point I have to share what I’m working on with someone else).

Trello – I use this for my to do list, and it’s a good way to visualise the planning and execution of any task based work.

Dropbox – Cloud storage and syncing software to ensure I can access everything everywhere. I also use the text editor on the Dropbox mobile app to edit on the move.

IFTTT and Buffer – To automate as much as possible. Between them they handle a lot of the seemingly clever things in my digital life, and explain why I seem to be able to post to social media sites at times when I appear to be elsewhere.

Virtualbox – Because no-one needs as many physical computers as I had before virtualisation was a thing.

Spotify for discovering new music, and Rhythmbox for playing the music I already own.

My dream setup

Maybe I’m already living the dream, but the one thing I’d really like is to go back to doing everything on one computer (ideally running Ubuntu). That was possible 10 years ago, and I’m sad that it doesn’t seem possible today. I also yearn to live the life of a nomad, with just a bike, a change of clothes, and a tiny laptop to my name.

Why I’m cycling 500 miles

The NHS have helped us a lot over the last few weeks. Without the NHS we would probably have remortgaged our house by now (or tried to), and we have met lots of skilled, dedicated, and above all nice people.

They are struggling though. From old computers, to inefficient processes, to an IT system that doesn’t seem to be fully joined up, there is so much that is crying out for more funding, more fixing, and a little love.

That’s why I’m cycling 500 miles and asking for £500 in sponsorship I generally hate asking for things, but it turns out when it’s not for me then I don’t mind. I in no way believe that doing this will change lives (apart from perhaps mine), but it’s one of those small things that might at least contribute to something bigger, and should at least give something back.

Testing on Ubuntu

This blog post details the installation process for Ubuntu when I’m using it for testing web applications. The builds are designed to conduct meaningful tests on Oracle cloud applications but should be suitable for testing any similar web application.

Test Build 1 (all tests)

Installation

  • Installed in a VM running in VirtualBox
  • Give the VM 4Gb of Ram, a 10Gb hard drive, and enable 3D acceleration
  • Install from ubuntu-18.04-desktop-amd64.iso
  • Minimal installation
  • Download updates
  • Don’t install 3rd party software

Post installation tasks

  • Launch gnome-terminal
  • Install all updates by typing sudo apt update && sudo apt upgrade -y
  • Reboot if required

Smoke tests

  • VM boots
  • User can log in
  • User can connect to internet
  • User can open Firefox and browse to a website

Test Build 2 (all tests that fail on Test Build 1)

  • Installed in a VM running in VirtualBox
  • Give the VM 4Gb of Ram, a 10Gb hard drive, and enable 3D acceleration
  • Install from ubuntu-18.04-desktop-amd64.iso
  • Normal installation
  • Download updates
  • Install 3rd party software

Post installation tasks

  • Launch Software & Updates
  • Under Ubuntu Software ensure that all 4 repositories are enabled (main, universe, restricted, multiverse)
  • Under Other Software enable Canonical Partners
  • Launch gnome-terminal
  • Install all updates by typing sudo apt update && sudo apt upgrade -y
  • Reboot if required
  • Install some software by typing sudo apt install ubuntu-restricted-extras adobe-flashplugin browser-plugin-freshplayer-pepperflash chromium-browser

Smoke tests

  • VM boots
  • User can log in
  • User can connect to internet
  • User can open Firefox and browse to a website
  • User can open Chromium and browse to a website
  • User can open LibreOffice Calc
  • User can open LibreOffice Writer

Six months of the Rough Trade Club

This afternoon I cycled to the post office in Erdington town centre to collect my Rough Trade Club record of the month, which was the eponymous debut by LUMP (Laura Marling and Mike Lindsay). I don’t really have a bag that is ideal for both cycling and carrying vinyl (recommendations welcome), but despite a slightly unbalanced cycle home (I did a food shop too, so added weight and bulk to the already oddly shaped bag that seemed to want to end up on my hip rather than my back) it did remind me very much of the many times I cycled to record shops when I was younger, and how much more of an occasion it makes getting hold of new music that the straightforward but soulless downloading or streaming that is largely how most of us consume music in the iTunes and Spotify age.

It’s a good record too. Short, but well worth a listen. In fact, everything Rough Trade have sent me over the last six months has really hit the spot, and has represented well over 50% of music I’ve bought this year so far. Yes, that’s 6 records – not 60 as would be the case in previous years. I’ve made a playlist (on Spotify, of course), just in case there is anyone reading this who might want to dive into some new music.

Cycling in Birmingham

At the moment I’m juggling hospital visits, work, being a responsible pet owner, and all the other things I do. This has lead to a few logistical challenges, but since I was kindly loaned a bike a couple of weeks ago I have found new ways to do everything I need to do and still manage to see new parts of my local environment.

I’m not a fan of cycling on busy roads, and although I’ve done it a few times recently, it’s very much a means to and end, and not an enjoyable journey. The ones I’ve enjoyed are where I can use parks, cycle paths and canals to get around – and Birmingham is surprisingly good for those kind of routes if you know where to look.

The journeys I’ve particularly enjoyed (with links to routes) are:

The park near my house to Good Hope Hospital via Sutton Park – I’ve done this one 3 times now, and it doesn’t go anywhere near a main road until Sutton Town centre. One day I will explore the top part of Sutton Park too, but that’s a trip for another day.

An alternate morning commute – This takes me to my local train station, but via two parks rather than a busy main road. It’s quite short (I walk most of this with the dog a couple of times a week), but it’s a really pleasant cycle when the weather is nice.

Good Hope Hospital to the park near my house via lots of parks and cycle paths – After cycling back from hospital twice on the roads, I vowed never to do it again (especially during rush hour). This route got my home more quickly, despite being longer, and is at least 2/3 off road. It’s also a really lovely ride through leafy cycle paths and past meandering streams.

Witton Lakes to the City Centre, via the canals – I’ve dubbed this one the canal graffiti tour, but it’s not quite as bad as it sounds, and it ends up at the Mailbox with only one tiny bit of road cycling on the way. I like graffiti quite a lot, so I suspect I’ll be coming back to this one with a proper camera at some point.

All of this has been really enjoyable, so I guess I’ll be buying a bike (or two?) soon.

Setting up a Raspberry Pi media centre

A couple of years ago I built a media player using a Raspberry Pi and OpenELEC. I’ve made a few changes since I wrote that blog post (not least moving to LibreELEC), and have also made a smaller version of the same device that I use in hotels when I’m travelling.

Hardware

There are two hardware choices for this sort of project – Any model of full sized Pi, or a Pi Zero (which is more portable, but harder to get media on to).

Preinstalled SD cards can be bought directly from Pi Hut (or just buy blank ones from Amazon which is what I do).

You’ll also need a mouse (for setup), the TV you’re going to plug it into, a HDMI cable, and some way of getting media on to the device if you’re using the Pi Zero (more about that later).

For my Pi III based device I still use the same case as before, and also have small USB drives plugged into each spare USB port to give more storage. I also have it networked now to allow easier streaming from my NAS.

For my Pi Zero I use a case that I can’t find a link for now, but really anything that allows access to all the ports will be fine.

Software

LibreELEC is one of the installation options on the NOOBS image, and can also be bought preinstalled on an SD card. The first option requires an internet connection (which might be tricky on the Pi Zero), and both options require a mouse.

Once installation had finished the device boots into the default Kodi interface. A web-based remote can be accessed by browsing to the device’s IP address on port 8080, and it can be accessed as network based storage from other computers on the same network.

Full details on how to download and install later verions of the software as they become available can be found on the LibreELEC wiki.

Content

Adding content is straightforward if the device is networked. It’s simply a case of browsing to the device and copying files across, or by pointing it at a network share.

For ther Pi Zero I’ve found the best way to do this is to use a USB ethernet adaptor (mine doesn’t have wifi), but I suspect that the newer model linked to above might work on wifi which would reduce the need for a further piece of hardware.

Addons

The original plan for this project was that I’d end up with something that could play movies and music on my TV, and that could handle storing a small amount of content locally so that when I end up in a hotel room with a few hours to kill I have something interesting to watch. The solution I’ve built ticks all those boxes, but I was curious to explore what else LibreELEC could handle.

After exploring the interface and available software for a little while I found channels for Last.fm scrobbles, BBC iPlayer and TED talks. All of these installed and worked fine, and I’ve not found myself needing anything else on these devices.The larger one is used every day, and is definitely my prefered platform for interacting with iPlayer. The smaller one travels with me, and I just copy a variety of films to the internal SD card and use the one USB port for a mouse.