State of my toolchain 2016

Estimated reading time:

In July, I transitioned from a 16-year career in digital and IT with a regional university to setting up my own digital consultancy. This meant that I no longer had a Managed Operating Environment (MoE) to rely on, and instead had to build my own toolchain. Both to document this toolchain, and to provide a snapshot to compare to in the future, this post articulates the equipment, software and utilities I use, from hardware up the stack.


I have three main devices;

  • Asus N76 17.3″ laptop – not really a portable device, but a beast of a work machine. I’ve had this since January 2013, and it hasn’t let me down yet. It has 16GB of RAM, 4 dual core Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz CPUs, so 8 cores in total, and it basically needs its own power station to run. This machine is a joy to own. It speeds through GIMP and video processing operations, and has plenty of grunt to do some of data visualisation (Processing) work that I do. The NVIDIA graphics are beautiful. The only upgrade in this baby’s near term future is to swap out the spinning rust HDD (x2) with some solid state goodness.
  • Asus Trio Transformer TX201LA – a portal device, useful for taking on trains and to meetings. I’ve had this for around 18 months now, and while it’s a solid little portable device, it does have some downsides. This is a dual operating system device – the screen, which is a touchscreen, and detaches, runs stock Android (which hasn’t had an update since 4.2.2 – disappointing), while I’ve got the base configured via Grub to dual boot Win10 and Ubuntu 16.04 LTS. Switching between the mobile OS and desktop OS is generally seamless, but I’ve had some glitches switching between Ubuntu and Android – in ASUS’ defence, they did tell me that Linux wasn’t supported on this device, and of course you all knew what my response that was, didn’t you? Challenge: accepted. The hardware on this device is a little less grunty than I’d like – 4GB RAM and Intel® Core™ i7-4500U processor. It just isn’t enough RAM, and I have to pretty much limit myself to running 3-4 apps at a time, and less than 10 Firefox tabs. But, that said, I *do* like the convenience of having the Android device as well – and the screen is a joy to work with. One little niggle is that VGA / HDMI out are via mini display port – and only a VGA adaptor was provided in the box. I’ll have to get a mini display port to HDMI adapter at some stage, as the world embraces digital video out. For the meantime, I’ll have to party like it’s 1999 with VGA.
  • LG Nexus 5X – my mobile phone. Purchased in January 2016, it’s running stock Android Marshmallow, and I’ve been super happy with how fast Android OTA updates ship to this device. For non-RAM-intensive operations it’s pretty snappy, and the quality of the camera is fantastic. The battery life is pretty good compared to my old Nexus 4, and I can usually go a full day on a charge, if I’m not Ingressing. This device has some pretty major downsides though. The USB-C charging cable is frustrating, given everything else I own charges on micro USB, so I’ve had to shell out for new cables. The RAM on this device just isn’t enough for its processor, and I’m constantly experiencing lag on operations, making for a frustrating user experience. The camera is buggy as hell, and there’s more than once I’ve taken a great shot, only to find it hasn’t been saved. I’ll be looking for a different model next time, but I can’t justify replacing this at the moment – it’s only around 8 months old.

My hardware overview wouldn’t be complete without these other useful peripherals:


The two key wearables I have are the Pebble Time and Fitbit. As Pebble Time’s GPS and fitness tracking capabilities increase, I’m expecting to be able to decom my Fitbit. I can’t imagine living without the Pebble now – it’s a great wearable device. The battery life is pretty good – 3-4 days, and the charging connector is robust – unlike my poor experiences with the Fitbit – both with the device battery itself degrading over time, and having been through 5-6 chargers in 3 years. I’ve Kickstarted the Pebble Core, and can’t wait to see where this product line goes next.


At the operating system level, both my laptops dual boot both Windows 10 and Ubuntu LTS 16.04, with my preference to be to use Ubuntu if possible. This generally works well, but there are some document types that I can’t access readily on Ubuntu – such as Microsoft Project. Luckily, most of the work I do these days is web-based. I still need Windows for gaming, because not all the titles I play are delivered via Steam – with the key one being The Secret World. Total addict 🙂

Office productivity

  • LibreOffice – my office suite of choice is LibreOffice. OpenOffice is pretty much dead, and the key driver of that is being umbrella’d by Oracle. Open source communities don’t want to be owned by large corporates who purchase things, like, oh I don’t know, MySQL, to simply gain market share rather than ascribing to the open source ethos.
  • Firefox – my browser of choice. Yes, I know it’s slower. Yes, I know it’s a memory hog. But it’s Firefox for me. I really like the Sync feature, meaning that the plugins and addons that I have on one installation automatically download on another – very useful when you’re running essentially four machines. My favourite and most used extensions would have to be LeetKey, Awesome Screenshot, Zotero, ColorZilla and of course Web Developer tools.
  • Thunderbird – I run Thunderbird with a bunch of extensions like Enigmail, Lightning (with a Google Calendar integration for scheduling) and Send Later – so that if I write a bunch of emails at 2am in the morning, they actually send at a more humane hour.
  • Zotero – I used Zotero, and its LibreOffice plugin for referencing. It’s beautiful. And open source.
  • Slack – Slack is the new killer app. I use it everywhere, on all the things. The integrations it has are so incredibly useful. In particular, I use an integration called Tomato Bot for Pomodoro-style productivity.
  • Xero – Yes, I have a paid account to Xero for accounting and bookkeeping. It’s lovely and simple.
  • Trello – For all the project management goodness. I got some free months of Trello Gold, and I’ve let it lapse, but will probably buy it again. It’s $USD 5 per month and has great integration with Slack. Again, if there were an open source alternative I’d give that a go, but, well, there just isn’t.
  • GitHub and Git – If your office is about digital and technology, then GitHub is an office productivity tool! I use Git from the command line, because it’s just easier than running another application on top of everything else.

Social media and radio

  • Hootsuite – Yes, I have a paid account to Hootsuite. There just isn’t a comparable open source alternative on the market yet. It has some limitations – such as lack of strong integration with newer social media platforms such as Instagram and SnapChat, but you can’t go past it for managing multiple Facebook pages or Twitter accounts at once.
  • Pandora – I stream with Pandora, but I really, really, really miss Rdio.

Quantified self

Over the years, I’ve found a lot of value in running a few quantified self applications to get a better idea of how I’m spending my time – after all, making a problem visible is the first step toward a solution.

  • RescueTime – the visualisations are beautiful, and it runs on every device I have, including Linux. It provides great insights, and makes really clear when I’ve been slacking off and not doing enough productive work. One of the features that I appreciate most is to be able to set your own categorisations. For examples, Ingress in my RescueTime is categorised as neutral – yes it’s a game, but I only play it when I’m walking – so that’s something I’m aiming to do more of.
  • BeeMindr – this nifty little app puts a sting in the tail of goals – and charges you money if you don’t stick with strong habits. I’ve found it’s started to help change my behaviour and build some better habits, such as more sleep and more steps. It has a huge range of integrations with other tools such as RescueTime and Fitbit.

Coding, data visualisation and other nerdery

  • Atom Editor – this is my editor of choice, again because it works on both Windows and Linux. The only downside is that plugins – I run many – have to be individually installed. If Atom had something like Firefox Sync, it would be a killer product. It’s so much lighter than Eclipse and other Java-based editors I’ve used in the past.
  • D3.js – this is my go to Javascript visualisation library. V4 has some pitfalls – namely syntax changes since v3, but it’s still a beautiful visualisation library.
  • Processing – I’ve used Processing a little bit, but I’m frustrated that it’s Java-based. Processing.js is a library that attempts to replicate the Java-based Processing, but the functionality is not yet fully equivalent – particularly for file manipulation operations. The concept behind Processing – data visualisation for designers, not programmers – is sound, but I feel that they’ve made an architectural faux pas by not going Javascript right from the start. I haven’t really gotten in to R or Python yet, but I can see that on the horizon.

Graphics, typography and design

  • Scribus – in the past year I’ve had to do quite a few posters, thank you certificates and so on – and Scribus has been my go to tool. The user interface is a little awkward in places, but it provides around 60% of the functionality of desktop publishing tools like QuarkXPress and InDesign – for free.
  • InkScape and GIMP – my go to tools for vector and raster work respectively. Although, I have started to experiment a little with Krita lately. One of the things I’ve found a little frustrating with both InkScape and GIMP is the limited range of palettes that they ship with, so I started writing some of my own.
  • Typecatcher – for loading Google fonts on to Linux.

Next steps

Thin client computing seems to be taking off in a big way – virtualised desktops are all the rage at the moment, but I don’t think they would work for me, primarily because I tend to work in low bandwidth situations. My home internet is 4-5Mbps, and my 4G dongle gets about the same, but is pre-paid, so data is expensive. For now, I’ll have to manage my own desktop environment!

What do you think? Are these choices reasonable? Are there components in the stack that should be replaced? Appreciate your feedback 😀

Your organisation’s new website – what you need to know

Estimated reading time:

Having spent several years working with web technology, I often get asked what’s involved in setting up a new website; what’s involved, what are the different components, what needs to be thought about, and – importantly – how much is it likely to cost?

What’s involved?

You first need to understand that your website is a business asset. Like all other assets it is an investment – so the money you spent on the site should be commensurate with how much return it’s going to generate for your business or organisation. Your website is one of a number of digital properties your organisation is likely to have, and together these form your digital portfolio. You need to consider your digital portfolio as a whole, and how it ties back to your marketing and overall business plans. For instance, if most of your customers are on Snapchat, do you have a Snapchat presence?

Like all other assets, your digital properties require maintenance over time – just like real estate requires upkeep and painting. Websites are not ‘set and forget’ – they require refreshed content, and technical maintenance from time to time. These need to be factored in to your website development plan.

Takeaway: Your organisation’s website is a business asset, in a portfolio of digital properties. Understand how your digital portfolio is going to return value to your organisation, and be aware that like all other assets, it needs to be maintained.

What do all the terms mean?

When you’re confronted by all the options for a new website it can be overwhelming. Here’s some of the terms you need to know to make sense of the alphabet soup.

  • Domain name: A domain name is a unique URL or web address for your organisation. You may already have one, or you may be acquiring a new one. Domain names are registered with a company that can register domain names, often called a registrar. Often, website companies will bundle domain name registration, hosting and web development services into a bundle. Domain names have different meanings depending on what they end in. For most Australian businesses, this will be

    Your domain name is registered for a period of 1-2 years, and you will normally get reminders when it’s time to renew. It’s important that you renew your domain name on time, otherwise it will become lapsed, and other businesses may be able to register it. For a domain name, you will normally need to provide your ABN. You can expect to pay $30-$50 for a two-year registration of a domain name.Every domain name has a domain password or EPP key. In order to move your domain name from one hosting company to another, you will need to provide this password. So, it’s important that you keep it in a safe place. Ensure that if your hosting company registers your domain name on your behalf that you get the domain key.

  • Hosting: Each domain name translates into a unique internet address, called an IP address. The IP address resolves to a server somewhere on the internet. That server will usually belong to your hosting company. The server is where your website’s files, and any supporting software, are held. The hosting company will usually charge you a monthly fee for hosting, and there will be different elements that make up the costing of the hosting package;
    • Bandwidth: This refers to the amount of data that is transferred between the server and the website user, or vice versa (for instance if the website user is uploading files to the website). For static, or low volume sites, the bandwidth requirements will be quite low, but if your website is going to be hosting files which are large, such as videos, then you may need additional bandwidth. Often, hosting companies will display a message on your website like ‘409: Bandwidth exceeded’ if you run out of bandwidth with your hosting plan.
    • Storage: This refers to the amount of data that is stored on the server. Again, for a static or small site, this is likely to be small, but for a larger website with lots of images, videos and attachments (such as PDF files) then you may need additional storage.
    • Databases, subdomains and other technical features: These may be required if your website will be database-driven (such as with WordPress). Your developer should be able to give you a good indication of the bandwidth, storage and other technical requirements for your website.
  • Web design: Web design usually refers to the design or visual appearance of your website. Before embarking on a new website for your organisation, it’s very useful to understand your overall branding, and how the website will fit into that. Preparing examples of websites that you’ve seen that fit well with your brand will save time in the development process. Most small websites will not have a bespoke design. Instead, you’ll normally start with a template or theme, which will be altered with your organisation’s name, your imagery and logo. Bespoke web designs can be prohibitively expensive.
  • Web development: Web development usually refers to producing the website, and creating any customised components, usually through code. Here, the theme or template, your organisation’s branding such as logo, colours and imagery are applied, and the website is tested – functionally (is it working the way it’s supposed to?) and for acceptance (is it what I expected?). Web development will normally be the largest cost component in your new website project.

Takeaway: Understanding what key terms mean prepares you to have an informed conversation with a website developer.

How involved is your website going to be?

The next key decision you have to make is how much investment you’re going to make in your organisation’s website. The levels of investment can be summarised as follows:

  • Introductory: This type of website is usually a few static pages of content, usually 5 or less pages, and will often be generated from a theme or a template, often using a build-it-yourself approach. Key examples of this type of website are Wix, Weebly and SquareSpace. Plans for these sorts of websites start at around the $USD 10 per month mark, and go up to around the $USD 30 per month range. You can expect to pay extra for additional features, such as eCommerce, and you may have a limited range of themes or templates to choose from. Support is usually built in to these packages, but expect it to be email only support.
  • Intermediate: This type of website will usually have between 5-50 pages of content, and will usually be driven by a publishing platform, such as WordPress or Drupal. A basic WordPress or Drupal site will usually set you back around $AUD 3000 to $AUD 4000 if you use a commercial development agency. An initial build should include a contact form so prospective clients can contact you, the location of your organisation and other key information. The upside with this is that as long as you provide the content to the agency, they will do the initial build for you, which can be time-consuming. Expect to pay extra for an ongoing support package, particularly if you require telephone support.
  • Advanced: This type of website will usually be driven by an enterprise-grade publishing platform, but will have significant custom or bespoke design and development, may require additional production such as shooting of video or photographic imagery, or integration with other systems such as booking systems, reservation systems and so on. Prices for this sort of advanced development usually start at around $AUD 10k and go up from there.

Takeaway: Understand what sort of website you’re in the market for, and how much you’re prepared to spend. Understand upfront as well as ongoing costs of having a website.

What you can do to prepare to meet with a web development agency

There’s lots that you can do before meeting with a web development agency. The better prepared you are, the less work the agency or developer has to do, and therefore the lower your costs will be.

  • Bring a clear understanding of your requirements – what is it that you want the website to achieve, and how does this link back to your overall business strategy and objectives?
  • Bring any logos, branding collateral, imagery you wish to use with you to the meeting. Bonus points if it’s in electronic format.
  • Have a list of websites you like the look and feel of and a list of sites in your industry that you don’t like. This will help give the web developer a sense of what you’re aiming to achieve – and what you’re aiming to avoid.
  • The web developer will usually have a platform in mind – as companies usually specialise in one or two platforms. It pays to do your homework and understand which platform the web development agency specialises in, and how common this platform is. For instance, what if the relationship doesn’t work out and you’d like another agency or developer to take over, but it’s a bespoke platform that only the first company has expertise in?
  • Be prepared to talk about what ongoing maintenance or support you will require with the site, and have an understanding of what tasks are required to maintain the site over time. Explore what your organisation can do to reduce costs with ongoing maintenance.

Understanding quotes

After you initially meet with the web developer or agency to brief them on your requirements, they will usually prepare a quote. Read through this carefully to understand exactly what’s included, what’s excluded, and what comes as part of the package, and what features or services incur a ongoing or monthly recurring charge.

Some of the things I’ve seen web development agencies charge for are questionable, so here’s a list so you don’t get caught out;

  • Analytics: Google Analytics is a free service that is easily integrated into websites to give you information on who’s visiting you, how many times, where they’re from and what sort of device they’re using. Google Analytics is a great addition, but getting an account itself is free, and integrating it with a website should take less than half an hour, and this should be priced accordingly.
  • Software charges: Platforms such as WordPress and Drupal are actually free software. It costs the web development agency nothing to download this software, although they incur mainly labour charges in installing it on servers, paying for server equipment and so on. So do challenge any software charges where the platform software itself is free.
  • Testing: Testing should be included in the overall charge for the website build. What carpenter doesn’t ensure joins fit correctly? What seamstress doing ensure that a dress is a good fit?

Ongoing maintenance and support

Once you’ve gone ahead with the website and it’s live and running, you’ll need to turn your attention to ongoing maintenance and support. The sort of tasks that can be expected here include;

  • Content updates: Think carefully about who will be doing these, and what skills they will need to have. Does this person have content updates as part of their position description? Will they need training or guidance? Do they have time to be able to do the updates? Do they have an appropriate tone of voice and do they have a content strategy? Having a content schedule that matches the key business lifecycle of your organisation can be helpful, particularly in integrating all of your digital properties.

    One thing to consider is whether to have plugins or functionality that allow your audience or customers to help create the content on your site. This is called crowd-sourcing and is a rising trend among websites. Tools such as IFTTT allows people to easily submit content to your website based on certain attributes, but you should always have the final say in content that gets published on your site.

  • Platform updates: Platforms like WordPress and Drupal require around-monthly updates to keep them safe and secure. This is usually a push-button process, but check what’s required with the developer of your site.

Anything I’ve missed? Leave your feedback in the comments below.

Ada Lovelace Day 2014 – Maia Sauren

Estimated reading time:

As I chose who to write about for this year’s Ada Lovelace Day blog post, it occurred to me that this was becoming a harder task year after year – as I have the privilege of getting to know more and more amazing women in science and technology – and this is a Good Thing.

That said, Maia stands out for a number of reasons. I first met Maia in 2013 while doing Agile training; the university I work for was adopting agile practices and I needed to skill up. The training was inspirational – we looked at our texts and then put them aside as the entire training course was run as a sprint! She taught me to think differently, to challenge assumptions, and to ensure that data was driving decision making – all prerequisites for good agile practice.

I’ve also come to be inspired by other activities Maia seeds and nurtures; the Open Knowledge Foundation‘s Health Hacks, GovHack, and many other side projects that seek to further understanding and provide value. She’s also a knitter, and that gets bonus points 🙂

Maia is @sauramaia on Twitter