Building a media centre with a Raspberry Pi and OpenELEC

My project for the Easter vacation has been to build a media player using a Raspberry Pi and Open ELEC. Setup was fairly straightforward, but I thought it was worth writing up anyway – especially as I’m probably going to make further changes to the setup as I find new features to add.

Hardware

I went with the new Raspberry Pi III, which is plenty powerful enough for this project. I also used a 16Gb SD card (the largest unused one I currently have), and a case that looked like it would handle being jostled around in my bag. The device also requires power and HDMI cables (which I already had), and a keyboard/mouse/monitor/ethernet cable for setup.

Software

OpenELEC is one of the installation options on the NOOBS image, so I simply downloaded that, copied it to the SD card, and installed it from there. It requires a network connection to install, but is a lot easier than having to copy the image using dd. I went with the default options in all cases, although it’s worth noting that if you enabled ssh access then it’s not possible to change the root password at all, so you’ll need to disable it after setup (not that setup, or anything else, requires shell access).

Once installation had finished the device booted into the default Kodi interface. A web-based remote could be accessed by browsing to the device’s IP address, and it could be accessed as network based storage from all of my computers. Then it was simply a case of dropping some media files (movies and music) into the respective folders and testing that content could be played. I copied across some MP3, MP4 and AVI files, all of which played fine.

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 OpenELEC 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. Adding iPlayer started me thinking about other free to view TV channels, and at this point I remembered that the last edition of Linux Format had an article on using a Pi Mini for a similar project, and that there were instructions for adding a whole host of other services. Their instructions for adding ITV player were as follows:

Navigate to System > File Manager. Select ‘Add Source’ followed by ‘’, enter http://www.xunitytalk.me/xfinity and select ‘Done’ followed by ‘OK’. Hit Esc then choose System > Settings > Add-ons > Install from ZIP file. Select xfinity from the list of locations, select ‘XunityTalk_Repository.zip’, hit Enter and wait for it to be installed. Now select ‘Install from repository’ followed by .XunityTalk Repository > Video add-ons, scroll down and select ITV. Choose Install and it should quickly download, install and enable itself.

This worked fine, and also gave me access to a lot of other channels that I could add.

There are a lot of things I’ve not explored on this device yet, but at the time of writing I’ve got BBC and ITV channels (live and catchup), TED talks, and a variety of locally stored media. Music I play scrobbles to Last.fm, and I can drop new media onto the device from my computer. I figure that all I’ll need to travel with is a power cable, a HDMI cable and a small mouse (all of which I already have), and I should be sorted. I also tested a trick I’ve used before which involves sharing a wifi connection via ethernet on my laptop to get the two devices to talk to each other long enough to add/remove media, which might also prove useful.

Software I use

Software I use that I feel is somewhat noteworthy includes:

  • Evernote – I use this on every device I own, 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, which Evernote handles very well.
  • Atom – A text editor that handles Markdown well, and can preview and export to PDF. This pretty much handles all of my writing/blogging work within one application. I’m currently writing this post in Atom. I also use Pandoc to convert to PDF, HTML and/or .docx if required.
  • Trello – I’ve just started using this for my to do list, and it’s a good way to visualise the planning and execution of any task based work.
  • Keynote – For presentations. I wouldn’t say I’m a power user, but I can throw together a half decent presentation now.
  • Dropbox – Cloud storage and synching software to ensure I can access everything everywhere.
  • 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.
  • NVivo – As a lot of the data I work with is words rather than numbers this is proving somewhat invaluable. I use the Mac version, but should get round to exploring the Windows version soon as I understand it has some different features.
  • Virtualbox – Because no-one needs as many physical computers as I had before virtualisation was a thing.

I’m always happy to talk about any of this software and how I use it to be productive.

Creating static websites with Pancake

I’m always looking for new ways to make web content available easily, and Pancake is one of the best (and easiest) I’ve found.

The basic concept is that the application creates a directory in Dropbox, and anything in that directory is hosted as a website. It can handle Markdown, HTMl, plain text and a few other things as well, and has a decent default CSS that makes it easy to get a decent looking website online without having to code anything. There is also a web-based editor which looks useful.

I’ve made a few web pages using this technology, all of which have been written in Markdown using Atom as a text editor. So far I’ve created a basic home page, an example of a blog post (using content copied from this blog), and a page I made as part of the /now movement.

It’s straightforward to do, and all you really need is a Dropbox account.

A short account of a three-day break

I’ve been off work for three days this week. I had some leave from last year that I needed to use, and this was the first opportunity to take it. I didn’t have much of a plan apart from to listen to some music, read a book or two, and catch up on the episodes of Doctor Who that I’ve been ripping from DVD to my NAS over the last few weeks.

So far I’ve made fairly decent leaps towards achieving those goals (although I’ve only watched a few hours of Doctor Who due to American Horror Story hitting Netflix on the first day of my break), but I’ve also been dabbling with various bits of technology that are probably worth a mention.

Mac OS X 10.11.1 hit on Wednesday, along with iOS 9.1. AS I have a few Macs and iOS devices, I spent an evening making sure everything was up to date, and also checking the integrity of my backups. iOS 9.1 saw the introduction of Apple News, which I browsed for an hour or so, closed down, and have not looked at again. This is probably something I’ll come back to, but at the moment I’m happy with the news I get through my RSS reader and probably don’t need any more.

Wednesday was also the day that I had a serious look at Pancake which combines Markdown and Dropbox (two things I love) and allows the hosting of decent looking websites with little more than a Dropbox account and a text editor. I made something with this that I’m fairly happy with, but that probably deserves a separate post.

Yesterday was Ubuntu release day. A few years ago I’d always take this day off work to install the new version (if I wasn’t running it already) and sit on irc and on various forums to deal with support questions. I did some of that yesterday, and also seeded torrents of the installation media for a few hours seeing as I wasn’t doing much else with my bandwidth.

Today I’ve done nothing technical at all, but did head in to town for an hour or so to pick up the new records from Joanna Newsom and The Twilight Sad. I figured that seeing as I’m off work I might as well go and collect them rather than having to listen out for the doorbell.

Converting documents using Pandoc

I’ve recently found myself needing to do a lot of document conversion, and maintaining documentation that needs to be available in a variety of formats (HTML, Word documents, Markdown and PDF). My tool of choice for this sort of thing is Pandoc, which is available for Windows, Mac OS X and Linux, although most of my usage so far has been on Linux (it’s a command line package that outputs to Dropbox, so it doesn’t matter where it runs really).

There are instructions for installing Pandoc on quite a few platforms. I’ve found that following these is generally enough, although it’s worth installing the latest version of the .deb packages rather than the one in the Debian repositories which does odd things to some of my html.

Pandoc works for me because I write everything in markdown, and Pandoc is great at taking markdown and converting it into almost anything else. The syntax is fairly simple for most document types:

For example:

pandoc input.md -s -o output.docx
pandoc input.md -s -o output.html
pandoc input.md -s -o output.epub

Conversion to PDF works the same, although I’m not a fan of wide margins, so I tweak it slightly:

pandoc -V geometry:margin=1in input.md -s -o output.pdf

If you’re using Pandoc on Mac OS X there is one more command you’ll need to issue prior to the first time you want to create a PDF file:

sudo ln -s /Library/TeX/texbin/pdflatex /usr/local/bin/

This will ensure Pandoc knows where to find pdflatex. If this step isn’t followed then you’ll likely get an error message along the lines of pandoc: pdflatex not found. pdflatex is needed for pdf output.

Pandoc does a lot more, but the documentation is great, and the commands above should be enough to get you started.

Hackathon

I’ve been involved in running a Hackathon over the last week or so. I’ve never done anything like it before, but it was a really positive experience that allowed University students to learn new technologies and then use them to build working software using Agile methodology. I was very familiar with some of the technologies used, and fairly familiar with working in an Agile fashion, but despite all that I still think I learned a few things over the week.

At the start of the event I explored the word Hackathon, and noted that it was a portmanteau of “hack” and “marathon”. I challenged people to track their walking/running over the 5 days to see if they managed the same length as a modern marathon. I hit my target on Friday morning, and a few other people involved had also walked their marathon by the end of the event. Running a marathon is regarded as being quite hard (a bit like developing an application using unfamiliar technologies), but I think this event proved that seemingly impossible things can be achieved with the right attitude, and utilisation of tools and methodologies that automate and streamline things as much as possible. I also suspect this event proved that sleep is optional, and that coffee and pizza are suitable fuel for a week of development, but I tried very hard to be sensible in that respect.

All seven teams produced applications that worked, and some of them were really impressive. I feel very proud to have been involved in this event, and also very proud of every single student who took part. They were a credit to the University and I hope to work with as many of them as possible at some point in the future.

Automate everything (updated)

This is an updated version of something I posted a few months ago, but as some of my automation methods have changed I thought it was worth a rewrite.

I’m a big fan of automating anything that can be automated, and I don’t like having to think about or do the same thing multiple times if there is a way round it. There are two main ways I achieve this:

Firstly – Using forward planning and/or recorded muscle memory to ensure that I don’t have to think too much about things I do every day (my morning routine, walking to work, typing my PIN number, choosing what to wear or what to cook for dinner).

Secondly – Using technology to automate commonly encountered tasks (adding my signature to an email, typing my phone number, taking notes at a meeting etc.)

The first one is fairly straightforward, and involves what I generally refer to as autopilot. After doing something for a certain number of times I find I can do it without thinking too much about it, and that takes all the mental processing out of the equation. Similarly, if I plan things like clothes and food once a week, I don’t have to spend any time worrying about what to eat or what to wear. I also tend to buy clothes in bulk, so that there is very little decision fatigue involved. Once I’ve found something that I like I’ll buy duplicates so that I can (appear to) wear the same things each day, which removes the need to make decisions. I also tend to do like-for-like replacements as much as possible, for things like clothes, headphones, laptops etc.

A lot of my technology automation involves If This Then That, Buffer and Evernote, and I thought it was worth detailing how a few of these work.

If I add a photograph to Instagram, then it is also posted to Twitter and Flickr. This came about because I didn’t like the way Twitter makes you click on a link to see an Instagram picture – this process makes it look like a native Twitter picture instead. Every photo I take on my phone or iPad is automatically synched with Dropbox, and every photo I take with my camera copies to my laptop, and eventually to the USB drive I carry on my keyring. All of this is automated using Carbon Copy Cloner (which is what I use to back up my machines as well).

I have a Google calendar that details all of my work appointments. 15 minutes before each appointment starts a note is created in Evernote with a template suitable for note taking, and also any agenda items or pre-meeting reading. This relies on keeping my calendar up to date and as detailed as possible, but I do that anyway. It’s very reassuring to know that I can open my iPad and find everything I need for a meeting right there on my screen.

I use Buffer to schedule social media posts to Twitter, Facebook and Linkedin. Generally I’ve got Twitter open anyway, but the other two I largely maintain a presence on by copying content from Twitter and/or my blog. I am hopeful Buffer will work with WordPress and G+ soon (it posts to G+ pages, but not to personal streams), at which point it will handle everything I want to publish to the world.

If I write a blog post, then IFTTT adds a tweet with a link to the blog post to my Buffer queue. I want people to read what I write, so it makes sense to let people know that there is new content on my blog.

I have my computer and iPad set up with keyboard shortcuts that will insert my name, email signature, phone number etc. into what I’m writing. Similarly I have dozens of templates set up in the ITSM software we use at work to insert all sorts of text that I have to send out regularly.

Any email attachment I receive is automatically added to a folder in Dropbox, arranged by who sent the email. Most of these emails are only interesting because of what is in the attachment, and I’d rather have that information stored outside the context of the email thread. I occasionally go through these and delete things that are no longer relevant, but they still exist in my backups anyway.

Any document added to a certain folder in Dropbox is converted into an ebook and emailed to the Kindle app on my iPad. I prefer to read longer documents and papers on my iPad, and it means I can use the offline part of my commute to catch up with reading. I can also email any PDF or free ebook directly to my Kindle and/or any instance of the Kindle app I’m running.

At a certain time each evening the whole contents of my computer’s hard drive is copied to an external drive that I keep plugged in to it (using Carbon Copy Cloner). I also use Time Machine, but I find that having a secondary backup source that isn’t reliant on a network connection is very useful. Also, CCC makes bootable backups, which can be invaluable in time-sensitive situations. I also back up my whole music collection to my NAS, as well as having off-site backups using a combination of Crashplan, Dropbox and iCloud/iTunes match. all of these involve persistent syncing of data, or run automatically once a day.

Every time I get a new follower on Twitter, details about that person are added to an Evernote document. I often used to miss new followers just using the Twitter app, and I find this way of doing it puts it a lot more in my face.

Every time I favourite a tweet, the full text of that tweet is copied to an Evernote document. I use this to make a note of interesting things people have said, but also links to articles or music that I want to check out.

Those are just a few examples of automation that I use quite often. I dread to think how much time I used to spend achieving the same results manually, and I would like to think I’ve freed up more time for pursuits that require me to be fully checked in to what I’m doing.

A few words about IT literacy

When I’m recruiting new IT staff one of the things I always look for is how computer literate they are. It’s a hard thing to work out, as it’s usually a mixture of what they know and what they have done in the past, but also how they think and how inspired they are by technology. I also try and think back 10 years, to when I was the person on the other side of the desk who was trying to blag that a whole load of dabbling with things at home was enough experience to allow me to support some fairly important systems in a large University.

I sometimes get asked what advice I’d give someone wanting to get into an entry level IT role when they don’t have any experience. I sometimes think that’s the wrong question, because everyone has IT experience, and also the opportunity to gain experience without leaving the comfort of their own bedroom. I thought it might be worth expanding on what I mean by that, and what sort of things would impress me if I saw them on an application form or heard them in an interview. I’d also say that this list is probably a good starting point for anyone who wants to learn more about IT in general.

Use more than one operating system (Windows, Mac OS X, Linux) and learn the skills common to all of them

There is a viewpoint that Microsoft have won the OS war, and that IT professionals should concentrate on familiarising themselves with Windows and MS Office because that is what everyone uses. I don’t share that viewpoint, but I do think that it’s important to use the software that other people are using, because if you want to be able to support that software then you need to know how it works. I think it’s essential to have an overview of all the main operating systems, and I’m particularly interested in people who run more than one, or who have changed their primary operating system and can articulate their reasons why. It suggests they have thought about what they want their computer to do, and that they have considered the financial, ethical and functional criteria that contribute to the decision as to what OS to use.

For instance, my current main OS is Mac OS X. I started to switch from Ubuntu at the end of 2010 in order to better understand an OS I was being asked to implement and be an advocate for in my workplace. The switch took a few months, but by mid 2011 all of my regularly used machines were Macs. I do however maintain machines running Ubuntu and Debian, and am now doing more Linux based work which may warrant a partial switch back at some point. I like using Macs because of the quality of the hardware and software, and that fact that everything generally just works. I dislike them because of the lack of freedom, and the number of decisions about how I use my computer that seem to have been taken away from me. I like using Linux because I can customise my computer to do exactly what I need it to do at no cost to myself or my employer, but I dislike the fact it requires a lot of maintenance, and also that I can’t use some software I require to do my job and therefore need to also maintain a Windows machine or a Mac anyway. I also still maintain that the 11″ Macbook Air is the best computer ever made, and until I find something better then I want to continue using one.

What I find about using multiple operating systems (and I’d include Windows in this) is that once you use more than one, you realise they all have things in common, and once you start to spot those patterns then it makes it easier to deal with unfamiliar operating systems. Windows 8 doesn’t faze me in the slightest because I remember the Mac OS9 –> OS X shift, and also the move from Gnome 2 to Gnome 3 (and Unity, and a load of other desktops). The key for me is getting to a point where the desktop doesn’t get in the way of being productive, and that comes through regular use.

As an aside, I’ve switched my main OS a few times, and also maintained two in parallel for quite a while. I was a (classic) Mac OS user until my Mac became too old, and then had a brief (maybe a year) period of using mainly Windows. I switched to Debian in late 2004, and then Ubuntu from 2005. I got another (refurbished) Mac in 2006 and maintained OS X and Ubuntu in parallel until 2009 where I found I was doing everything in Ubuntu and hardly ever turned my Mac on (to be fair, it was very old at this point). I then switched back to OS X in 2011 as detailed above.

What I’ve noticed is that people who have only ever used one OS are often scared of all the other ones, and the easiest way to get over that is to experiment with them. Linux is free, and will install on almost anything, and if you’re in the UK then you can pick up a decent refurbished Thinkpad from around £200 from http://www.refreshedbyus.com/, or a budget desktop without an OS from http://www.ebuyer.com/ for around the same price. Windows machines are also coming down in price every year, and it’s now affordable to maintain more than one machine in ways that it wasn’t 10 or even 5 years ago. And of course virtualisation is now easier than ever (but I’ll mention more about this later on).

Use more than one version of each operating system (or at least know how to use them)

Something else I’ve noticed (especially with people who grew up with Windows XP) is that it’s not just trying another OS that is scary, but moving to a new version of the same OS. It’s certainly worth being familiar with the last couple of versions of anything you’re using and supporting, and having an overview of what the upgrade path would be for someone using something obsolete and unsupported like Windows XP.

I also think that if you’re running (or experimenting with) Linux, then it’s worth trying out at least a couple of desktop environments to see what works for you (and for your computer). I’ve got machines running Gnome 3 (Debian), XFCE (Debian & Xubuntu) and Unity (Ubuntu). None of them are perfect, but all of them allow me to understand the similarities and differences of modern desktop operating systems.

If you use several different operating systems it becomes really easy to see how the user interfaces and features of one will influence another. And once you start to make those connections then it’s fairly straightforward to approach a new operating system or desktop environment and make it work well enough for you to help someone who is having difficulties with it.

Use at least two browsers

If you’re supporting software, then you’re likely supporting browser-based software, and knowing how that software behaves in all of the main web browsers is something you need to be up to speed with. I find the best way to do that is to use at least three browsers regularly, and for me that means Firefox and/or Chrome on my computers, and Safari for my iOS devices. I test everything on all three, and on other browsers as well (although if I’m asked to test things it’s usually because they have only been tested on Windows and someone wants the non-Windows perspective).

As with operating systems, if you use multiple browsers then you are unlikely to be surprised or significantly slowed down when a new browser grabs a decent slice of the market share like Chrome did a few years back. It also make it easier to switch your main browser if the one you’re using start to get slow and bloated, or no longer includes features that you really need.

Install a virtualisation tool and set up a new VM

I said I’d come back to this one, because I think it deserves a section to itself. Virtualisation software has been such a game-changer for me, because it has allowed me to continue using multiple operating systems without having to maintain a physical computer for each one. By using software such as https://www.virtualbox.org/ it’s possible to run multiple operating systems on the same machine, and also to set up virtual web servers to experiment with blogging software, wikis, and other CMS related things. I’m currently doing a lot of this sort of thing at work, and it’s great to be able to have virtual servers that are backed up and snapshotted so I can roll them back to the point just before I broke something. Once you’ve developed like this then you’ll never go back, and it will teach you all sorts of skills that are directly applicable to sysadmin work, as well as development and IT support.

Virtualisation is also great for those situations where you can do 90% of your work in one OS, but need to switch to another one for one or two specific tasks. The guest machine is only using resources when it’s on, and you may find that most of the time you don’t even need to boot it.

Know how to back up your data, and where all copies of your data are

I blog quite regularly about how I back up data, but it’s always worth writing about, as I find that things change as I stumble upon new products. My current plan is based on the 3/2/1 rule, with three copies of everything, on two types of media, with (at least) one remote copy. I use Time Machine, Crashplan and Carbon Copy Cloner to back up copies of my whole computer, and Dropbox, Google Drive and iCloud to ensure that files I use regularly are available on any computer I use.

How it generally works is that any machine that stays in one place (or mainly stays in one place like my heaviest laptop) backs up nightly (via Carbon Copy Cloner) to an external hard drive. I also have a portable hard drive that I back up to weekly with a bootable copy of the two machines where I regularly create data (as opposed to consume it). When I’m not backing up to it, this drive is kept in a different physical location to the machines it is backing up. Additionally, all my music is in iTunes Match, my photos are on two different NAS drives, all my portable computers back up to another machine via Crashplan and/or Time Machine, and everything text based I’m currently working on will exist in either Evernote, Dropbox or Google Drive, depending on what it is and who else needs to access it.

I’ve also started running some experiments with Bit Torrent Sync – maintaining a small directory of emergency music and freely available ebooks which I sync between all of my machines, and I also carry around an encrypted USB drive on my keyring which contains a lot of the same sort of stuff, as well as the installer for the latest version of Mac OS X, plus recent disk images of Ubuntu and Debian.

I test my backups monthly (sometimes more than monthly), including booting all the full disk clones to make sure they actually boot. I think this is important. I also try and replace my backup drives every couple of years to ensure that I’m not backing up to something that is likely to fail soon.

Know how to upgrade/replace key parts of your computer

This is something I think is so important, but it seems to be a dying art. Not that I’m surprised though, because Apple (and to a lesser extent other manufacturers) seem to be moving towards a world where individual parts of a computer are not upgradeable, and instead you just buy a new computer when it wears out or gets slow. So many older computers could benefit from a solid state hard drive (SSD) or some more memory, and both of these upgrades will make an old computer feel like a new one. There are plenty of people who will fit parts for you, but this will cost you, and often these are upgrades you can do yourself. Since I’ve been working with technology I’ve upgraded most of my machines (even my Macbook Air), but I do worry that the next computer I buy is likely to be less upgradable than the last.

I learned about computer hardware through buying an old machine from eBay and experimenting with it. I replaced the memory, and the power supply and the hard drive, and I’ve still got it sat in the shed 10 years later. There are still plenty of machines out there that you can replace pretty much everything in, and building a PC from scratch is still very much a rite of passage for anyone who is interested in hardware.

Know how to reinstall the OS on your computer

Long gone are the days where operating systems would not be upgraded for years. We’re now in a world where things change at least every 6-12 months, and it’s important that the operating system on your computer is up to date and receiving security updates regularly. Updating software is relatively straightforward on any computer, and we do seem to be moving towards the concept of an app store, where the OS is just another app to be upgraded when a new version comes out. Whatever you’re running, it’s a good idea to know how to upgrade the software on your computer, and also how to reinstall it from scratch. These are things that you can pay someone to do, but you never know where and when computer faults will happen, and the night before a deadline or while you’re overseas are not good times to learn about reinstalling operating systems.

Use more than one office suite, and learn the skills common to all of them

A big part of IT support is knowing about what the people you support are actually using. Arcane terminal commands and knowledge of compiling software will get you nowhere if you are supporting people who largely work with documents, spreadsheets and presentations. Particularly in a corporate or academic environment, knowing about a variety of office suites will serve you well, and it’s important to stay up to date so that you’re not surprised by changes to user interfaces. This is one area of IT that can be tricky to stay up to date with if you don’t use this software yourself, and as someone who writes in a text editor, and only really uses Word for specific work-based tasks, I’m probably not the best person to advise on it. Although the fact that I use Keynote for presentations and Excel for serious data manipulation does suggest I can at least use some of more than one office suite. I also like Libre Office a lot, and think it’s one of the most underrated pieces of software out there.

As with operating systems and browsers, there is so much feature-bleed with office software that once you have used a couple of different versions then you start to see how they all do roughly the same thing under the hood. This is also a class of software where manufacturers love to change the UI radically between versions, so be prepared to relearn menus over and over again. Of course, if you use keyboard shortcuts then there should be less learning to do.

Which brings me nicely on to keyboard shortcuts.

Learn keyboard shortcuts

On my main desktop computer I have a solar powered keyboard, which means that even in the cloudy climate of the UK I can pretty much guarantee that it will work. The same can’t be said of my wireless mouse, which is always running out of power and needing newly charged batteries. That doesn’t bother me as much as it might do though, as I’m fairly keyboard-shortcut-literate, and can do most of what I need to do without picking up the mouse. Not only can knowing these get you out of a fix if your mouse or trackpad stops working, but it’s a lot quicker to open or save a file using the keyboard when your hands are already touching the keyboard to type. It’s also a lot better on your wrists, and will make you look like you know what you are doing with your computer. It’s one thing I always look for when I’m trying to judge how computer-literate someone is, and it is usually a very good indicator.

A list of keyboard shortcuts for Mac OS X can be found at https://support.apple.com/en-gb/HT201236. Some of these will work on other operating systems, but I’m sure there are similar lists elsewhere (Ubuntu even has one on the screen the first time you launch the Unity desktop).

Host a website

In the days of Facebook, Twitter, Tumblr and a thousand other readily available web-based content sites, it’s rare to find someone to doesn’t have some sort of web presence. When I started out with computers it was harder to get content online, and I had to learn a fair bit of HTML just to have a simple home page, whereas now I can just create an account online in a few minutes. Despite the fact that it’s so easy, I still think it’s valuable to know how the nuts and bolts work, and how to set up your own website that you host and control yourself. My first site was hand crafted HTML, and my current website is a self-hosted WordPress blog (cloud hosted now, but originally hosted on a server under the desk in my office).

I think it’s still valuable to know how to configure a web server (I use LAMP – Linux, Apache, MySQL and PHP), and install a CMS like WordPress on it. Even if you don’t use it for your main blog it is something you might be asked to do one day, and it’s a skills set that I’ve found myself using over and over again (and is in fact something I’m working on professionally right now).

Learn a programming language (or two)

I’m not a programmer, but I do know a little bit of HTML, CSS and PHP. Programming languages are not required for IT support, but as programming is largely about problem solving then there are a lot of transferable skills. Programming is also useful for solving in-house problems that your support tools can’t do (like writing a password generator or something to convert proprietary mailbox formats to something more open – both requirements I’ve come across in my own team).

Learning some basic scripting is also a good idea, and a familiarity with shell scripting and Windows powershell scripts is never going to be wasted time and effort.

Know what you can do and what you can’t do

And finally, this. It’s all very well to look and sound impressive by stretching your IT skills and knowledge to the extreme, but it’s important to be honest with yourself about what you can and can’t do, and which of your theories are backed up by practical experience. Experiments are all very well in the comfort of your own home, but when you’re dealing with other people’s computers and data then ensure you know what you are doing and when to ask for help and guidance.

The future and how we get there

I’ve spent a fair bit of this weekend reading through my notes from the conference I’ve just been at, and picking out some key concepts and quotes for a presentation I appear to be writing called “The future and how we get there”.

It’s mostly about new technology, and how we can use it to become more productive and make our lives more efficient. But I suppose it’s also a little about how the way people learn is changing, and how the bottleneck preventing instantaneous acquisition and processing of information has moved from the computers we use to…well…us.

It’s also about how we should be judged on output and not ideas, and how the theoretical only becomes powerful when it becomes actual.

Speaking of which, I’ve spent an hour or so this evening testing my theories about how easy it is to move a complicated WordPress installation with 9 years of content to a brand new WordPress installation on a different server.

See https://andyferguson.wordpress.com/ for what should be an identical clone of this blog (apart from this post, obviously). I’m not quite sure if this is me testing the water for a move to a hosted site, or if I’m just using this as a testbed for other projects, but it was an interesting experiment to run, and as I had a very recent backup (from this morning) it was also a good way to test my backup plan at the same time.

Technology is great when it works. And even when it doesn’t work it’s usually a learning experience.

Social media notifications

I thought it might be useful to mention that I turned off all email notifications on social media sites a few months ago. I do still get banner notifications on my phone, but I found myself ignoring the emails on the whole, and thought I’d remove a bit of noise from my inbox. I still regard myself as active on (in this order) Twitter, G+, Facebook and LinkedIn, but I also still very much regard email as my primary method of contact for anything urgent/important, be it personal or professional.

I suppose it’s also useful to mention that I’ve started scheduling a few posts, both to my blog and to my social networks. I very much try and keep content relevant to my (perceived) audience, but if you do see me posting things when you know I’m at work or in a meeting with you, then scheduling is probably the answer (I use Buffer for scheduling, and may write more about this soon).