State of my toolchain 2018

Back in mid-2016, about two years ago, I did a run-down of my personal productivity stack – essentially a ‘State of my Toolchain’. After almost 2 years, it’s time to provide an update and see what’s changed.

Main laptop

My Asus N76 17.3″ laptop is still going strong as my main workhorse; but its days are numbered. I’ve had to rebuild a couple of times now after hard disk drive sectors have failed, so it’s a matter of time before it’s forced into retirement – but at nearly six years old, it’s had a good run.

So the question becomes – what replaces it? I’ve always been very happy with the ASUS gear I’ve had over the years, but the Zenbook range doesn’t seem to have that much in the way of high end GPU specs – which I need for both gaming and machine learning stuff. On the other had, the RoG range doesn’t seem to have good battery life; although that really isn’t a major consideration.

Enter System 76. I hadn’t heard of these guys until some of my linux.conf.au and Mycroft AI mates mentioned them, including this kick-ass video.

https://youtu.be/TcWVKqeF0MY

After doing some asking around, folks seem pretty happy with them, but the downside is that they’re costly; especially with the poor $AUD exchange rate – and then on top of that you have to pay import duty. Might have to see if the $AUD/$USD exchange rate improves.

Mobile laptop

My Asus Trio Transformer TX201LA is still going strong as a mobile laptop; the battery life isn’t great but having the Android & Linux combination on one device has come in very very handy. I’ll be hanging on to this until it dies – and then I’m very interested in one of the newer Transformer models.

Mobile phone

Two years ago I was using the LG Nexus 5X but unfortunately it was victim to the Bootloop issue. Now I have a Pixel, and it’s brilliant. Right size, great battery life, and great bluetooth and NFC support. And yes, I often use it with with headphones.

Wearables

With Pebble being acquired by Fitbit and subsequently sunsetted, I needed to find a new smartwatch. My Fitbit flex was also degrading, so it was a natural choice to go with the Fitbit Ionic – essentially combining two wearables – fitness and watch – into one. I’ve been incredibly happy with Ionic – I was skeptical at first, but the battery life is long – about 3-4 days and the reminders to move are useful. The range of applications is limited, but the key feature – of passing notifications from my phone to my watch – works well.

I’ve found that over time, my smartwatch is very definitely part of my toolchain – it’s no longer a nice-to-have extra – it’s a tool that I regularly check and rely on.

Quantified Self

My Fitbit records and stores a lot of data about how active I am, however I’m still using RescueTime and BeeMindr to help with day to day productivity and long term goals. RescueTime gave me a great deal on a premium upgrade (big ups, guys!) and I’m using the “focus” features a lot – which prevent you from using time-wasting websites like Facebook for a period of time. RescueTime also continues to deliver great visualisaitons that help to see where you’re spending your time.

rescuetime-usage-2017
My RescueTime logged time by category for 2017

Headphones

Plantronics Backbeat Go 2 Bluetooth headphones were great, but being an idiot I left them in a hotel room while travelling. I replaced them with the Jabra Rox – the magnetic earbuds are great for not losing them, however I’ve struggled to use the “wings” to get a good fit.

My Logitech H800 is still going strong. Great headphones.

I did splash out on some Plantronics Backbeat Pro bluetooth headphones that have noise cancellation for concentrated, focused work in noisy places – like co-work spaces. They’re great – 20-odd hour battery life, and they really do cancel out a lot of distracting background sound. My one niggle with them is that the ‘active off’ feature – which pauses music when you take them off – activates with movement, like walking around the house or getting up off a chair.

Streaming Media

With Pandora moving out of the Australian and New Zealand market, I needed to find another streaming music provider. Spotify was an easy choice because of their cross-device support – including a native Linux desktop app. On the plus side, Mycroft AI has a Spotify Skill that, due to API restrictions, is only available with Spotify Premium accounts.

Input devices

My keyboard, graphics tablet and presentation pointers haven’t changed in two years, but I did back Sensel Morph on Kickstarter, and have started using it, but because the Linux driver isn’t great (yet), it tends to work better under Windows. I’m hoping that the Linux support matures in the future.

Voice Assistant

Would I like an always-on spy listening device in my house? Hell no.

Would I like a useful voice assistant that doesn’t save what I say to sell me advertising and invade my privacy? Hell yes.

Which is one of the reasons I went to work for Mycroft AI. But I digress. As part of my role, I do a lot of testing and documenting for the Mark 1 hardware – and I have three of them around the house. They’re solid little units with microphones that are better than I expected for RPi-based devices.

One thing I did need to get for working with the Mycroft Mark 1 was a new set of torx hex keys – the ones I had didn’t have a long enough handle to disassemble the Mark 1.

We also have a build of Mycroft for Raspberry Pi – Picroft – that needs a microphone and speakers. For this I got  a Jabra 410 – it’s much better than I expected for a mid-range omni-directional USB microphone.

For Picroft I also need some Micro SD cards; my key learning here has been that cheap Micro SD cards will cause you pain and misery and suffering and segfaults. Don’t use cheap Micro SD cards. You’re better than that.

Internet of Things and Home Automation

My bevvy of LIFX light bulbs continues to grow; I really like the range. I did have an issue with their LIFX Z light strip; one of the three strips that was delivered didn’t work, but it was covered under warranty and they shipped me a replacement. One of my favourite integrations here is with Google Home; I can turn off my bedroom light using the power of my voice.

I’ve also been hacking around with some Ruuvi tags; I want to spend more time on these, they’re pretty cool as sensors.

Software

My software stack hasn’t really changed in two years – I’m still using LibreOffice, with Firefox and Thunderbird, and Atom Editor. In particular,  LibreOffice Draw is becoming my go-to tool for diagrams and process flows. Scribus, Inkscape and GIMP are still top in my toolbox too. The new version of GIMP is much smoother.

Gaps in my toolchain

Even with all these great tools, I’m still missing a few components from my overall stack.

  • Visual Git Editor – The range of visual editors for Git on Linux is limited. I tried GitKraken but didn’t like it much. GitHub for desktop doesn’t yet have an official Linux build; I tried to install the shiftkey fork, but couldn’t figure out how to install it.
  • Better internet – my internet is connected at about 6Mbps down, 1Mbps up. It’s slightly faster than two years ago. It’s usable, but very slow. If I have to download or upload a large image – which I often have to do for work – I have to plan ahead. Oh NBN. I simply don’t have the words.

 

Have I missed anything? What do you use?

State of my toolchain 2016

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.

Hardware

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:

Wearables

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.

Software

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 😀