State of my toolchain 2019

What’s changed in the last year?

As you might be aware, I’ve been doing a writeup of my toolchain every year or so for the last couple of years (2016, 2018). There are a couple of reasons for this:

  • The type of work that I do has changed in that time, necessitating exploring different tools, and different equipment
  • And the technology that I work with continues to evolve – new models, new ways of working, and new mindsets – and our toolchains need to evolve to

This year, I’m studying a Master of Applied Cybernetics at the 3A Institute in Canberra – back to being a student; which I haven’t done for five years. Interestingly, my tools of choice 5 years ago have remained steady – Zotero for referencing, LibreOffice for writing essay type work, and Atom as my IDE of choice.

The key changes are;

  • A change in the main laptops I use
  • I’ve adopted Trello / Pomodone / RescueTime as a combination for personal productivity, with Passion Planner as a written diary / visual planner
  • My Fitbit Ionic died an inelegant death and has been replaced by the Mobvoi TicWatch Pro

Main laptop

My Asus N76 finally gave up the ghost and had unrecoverable hardware failure, including failure of the Bluray/DVD-rom drive that was built in – it’s not worth repairing and I think I’ll send it to disposal / recycling after taking 7 years’ worth of stickers off the front.

You were a Good Computer, N76. You were a Very Good Computer.

In my previous Toolchain tear-down, you would have read about my interest in System 76‘s Oryx Pro 3. One of my friends was selling hers (huge thanks, Pia!), and I immediately fell in love with this hard working, nerd-first beast of a laptop. I chose to flash it with Ubuntu 18.04 LTS rather than System 76’s POP OS, basically because I’m so familiar with Ubuntu and I didn’t want any additional learning curve. This machine continues to be my desk-based workhorse of choice. It’s a beautiful, solid, high-performance machine, but it’s not a good mobile choice.

Enter the ASUS Vivobook (my model is the X510UQ). I bought one of these devices for Mum, as she needed a new machine, and was so impressed with it – it has 16GB of RAM and a reasonable NVIDIA GPU (!) that I went back to the shop and got one for myself. The mobility is so-so – with a battery of about 4 hours if the screen is reasonably dim, but then I tend to run a lot of CPU- and battery-hungry apps. It’s lightweight, has HDMI out and 3 USB ports and the small bevel means plenty of screen space. I’ve set it up to dual boot Windows and Ubuntu, and if I’m honest it could use a much bigger SSD. That will be a holiday job.

Mobile phone

My Pixel died a couple of months ago after the battery life suddenly dropped to less and 30 minutes after the update to Android 9 – a problem that seems to be quite widespread. I’ve been on a Pixel 3 since; primarily because it’s what JB Hi-Fi in Geelong had in stock. The camera is amazing, and I’ve finally ditched my 3.5mm audio jack headphones for Bluetooth headphones.

Wearables

My Fitbit Ionic was a beautiful device until a release of Android in around November last year; after which I could no longer pair the Ionic with the Pixel phone. Getting support for this was incredibly problematic; it was difficult, time-consuming and very poor after-sales support from Fitbit. As a result, I ditched Fitbit and made the switch to WearOS, and have been on the Mobvoi TicWatch Pro ever since. The device is too chunky for most women, but well, I’m not most women, and it fits on my giant fat wrist just fine. The battery life isn’t great, but I’ve found that the heart rate monitor is the largest drain on battery.

One gotcha with the Mobvoi Ticwatch Pro is the charger. I bought two chargers with the device, and managed to “fry” – short circuit – them both by running higher than 1 Amp current through them (with a high current charger). This is well documented on Reddit. This was pretty poor poor IMHO for a high-end smartwatch.

WearOS has been an unexpectedly smooth experience; it doesn’t have the ecosystem or the integration that FitBit has, but that’s also a positive. I can choose the apps and watch faces that best suit me, from multiple different vendors. I’ve settled on the Venom watch face in neutral colours.

A smartwatch remains a key part of my toolchain – moreso than ever.

Quantified Self

I continue to use and be very happy with RescueTime and BeeMindr. I’ve been through a myriad of to-do tools in the past few years and seem to have settled on a combination of both Trello and Pomodone this year. Pomodone is beautiful; it’s an electron-based app that’s available for Linux (Woot!). Seriously considering upgrading to the paid version in a couple of months if it continues to prove its value.

For visual planning and diarising, I went to Passion Planner, driven by being a full time student again. I’ve been very happy with the model it uses – iterative goal setting and pattern-forming, and have already bought in my 2020 diary. As a visual person, it gives me plenty of space to visualise, to draw and to map out plans, goals and actions. I used the medium size this year, and found it marginally too small; so have upgraded to the large size for 2020.

Headphones

No change, the Plantronics Backbeat Pro bluetooth headphones are still fantastically awesome.

Streaming Media

No change, still Spotify premium.

Input devices

No change.

Voice Assistant

No change, still the awesome Mycroft.AI

Internet of Things and Home Automation

I’m on residential college this year at Burgmann College at ANU. Their Wifi network is a 5Ghz spectrum, PEAP/MSCHAPv2 authenticated beastie, and nothing much in the IoT space speaks to it, because IoT standards and security, what are they even? 🙁

It feels really weird to have to physically turn my light off now – my default behaviours have been changed by home automation.

Gaps in my toolchain and how they’ve been plugged

In the last edition of State of the Toolchain, these were my key bugbears:

  • Visual Git Editor – I’ve given up on this and learned to love the command line. In hindsight it’s been a great learning experience, and my git fluency has improved out of sight (hah!).
  • Better internet – ANU is on gig internet. *laughs in TCP/IP* I’m going to be in dire straights though if/when I have to go back to a copper-based NBN FttN service *cries in copper*.

Have I missed anything? What do you use?

PyCon AU 2019

As folks probably know, this year I’m in Canberra at the 3A Institute at the Australian National University, as part of the first cohort of Masters in Applied Cybernetics – itself an experiment in helping to build a new applied science in taking artificial intelligence and cyber-physical systems safely to scale. I haven’t written much about the experience to date; nominally because the course is quite intensive, and doesn’t leave a lot of free time, and, importantly, because many of the reflections that surface belong within that experience.

That said, the course is broadly structured in two brush strokes; a theoretical foundation in multiple disciplines – anthropology, sociology, computer science, cybernetics, artificial intelligence, machine learning and human computer interaction – and a technical foundation in several components – Git, Arduino, 3D printing, and, importantly, Python.

To this end, many of us from the cohort headed to PyCon AU 2019 in Sydney as an excursion to gain a deeper understanding not just of the language, but the community, the ecosystem, its standards, its norms and its idiosyncrasies.

Members of the 3A Institute – Staff and students – at PyCon AU 2019
From left to right: Tom Chan, Matthew Phillipps, Zaiga Thomann, Katrina Ashton, Felicity Millman (seated), Elizabeth Williams, Zac Hatfield Dodds, Kathy Reid, Charlotte Bradley (seated), Sam Backwell, Danny Bettay, Alison Kershaw
Photo courtesy of E. Dunham

Aurynn Shaw – Making lasting change

Aurynn has written extensively on the topic of contempt culture; the default communications culture we have adopted both in Western society and in tech organisations in general. Contempt culture is where we identify ourselves by being pejorative to other languages, practices and disciplines. We create distance rather than intimacy – hostility rather than harmony. Aurynn’s keynote called for long lasting cultural change by understanding what businesses really need – they care about stability, and risk and outcomes. As technologists we need to communicate these pieces effectively. Businesses have stopped listening to us, because we haven’t cared about their needs in the past.

My key reflection here is that multi- and trans-disciplinary practice will be a key feature of work of the future. As practitioners, we will need competencies in understanding, responding, communicating and engaging with the needs of others in ways that build rather than erode social and intellectual capital.

Watch Aurynn’s presentation on YouTube here.

Mark Smith – It’s Pythons All The Way Down: Python Types & Metaclasses Made Simple

Even though I have a deeply technical background – see my toolchain if you’re in doubt – Python is still a bundle of dark magic in many ways. Mark’s talk was well structured, conceptually clear, and disambiguated types, classes and inheritance patterns in an engaging way.

The talk here covered basic data types in Python – Python is a strongly typed language – and then went deeper into the rabbit hole of types and meta classes by explicating the different types of inheritance that the language uses.

Kudos to Mark on an excellent presentation here – it’s a fantastic introduction to Python types and metaclasses for people transitioning from other programming languages.

Watch Mark’s presentation on YouTube here.

Amanda J Hogan – Pretty vector graphics – Playing with SVG in Python

Why would you do SVG in Python rather than Javascript? Excellent question, and Amanda’s talk shows why Python is a fantastic tool for experimenting with generative art. The talk covered basic SVG primitives, and went on to more complex constructs such as paths and symmetry. Her work with algorithmic generation of art using SVG was incredible – both the mathematical approach and the end result.

Amanda’s work is beautiful, engaging and an intriguing ‘in’ to working with generative art.

SVG linters

One comment I did ponder at length here was the lack of SVG linters available – in Python or otherwise. Having used Inkscape for several years – whose default output format is SVG, I was surprised that there weren’t more linters or validation approaches in this space. So, I went digging and found this linter on GitHub. Unfortunately my npm is segfaulting at the moment and I don’t have time to debug it, so it will have to wait.

Watch Amanda’s presentation on YouTube here.

VM Brasseur – The real costs of Open Source Sustainability

Grounded by Nadia Eghbal’s excellent “Roads and Bridges” report, Vicky’s talk started with a critique on the current methods for improving open source sustainability – for example the funding that comes in for donations needs to be managed – through legal entities, through tax. This can place additional burdens on maintainers.

Drawing from the experiences of other communities, she laid out a three-pillared plan for improving open source sustainability;

  • Contributing back: this can take the form of “time, talent or treasure” (per Tiffany Farriss) – contributions don’t have to be about just money. We need to find ways to attract non-technical talent to open source – and that starts by valuing it on an equal footing.
  • Human and environmental diversity: Diverse teams outperform non-diverse teams. We especially need to look at linguistic diversity – the open source world is English-centric. We also need to think about open source in the supply chain. What happens when open source companies are acquired and absorbed? Open source can also be single provider, single service, auspiced by a single foundation – and thus a single point of failure.
  • Community safety: Creating psychological safety for teams allows tough conversations to take place.

View VM’s talk online here.

Book review: Made by Humans by Ellen Broad

Made by Humans: The AI Condition by Broad, Ellen

My rating: 5 of 5 stars

Ellen Broad’s multi-faceted exploration of the many inter-twined aspects of artificial intelligence embarks and concludes at the same salient juncture; emerging technologies are conceived, shaped, used, governed and iterated by humans. Just as humans are inherently neither good nor bad, the systems we construct echo our moral plurality, our unconscious bias, and, frequently, our unwillingness to be critically interrogated.

That this is Broad’s first book – given its well-researched examples, coherent structure and intellectual incisiveness – is surprising. Its clarion call – for greater care, more rigourous thinking and a more holistic approach to the almost-infantile adoption of artificial intelligence, machine learning and autonomous decision-making – is not.

Structured in three distinct parts – Humans as Data, Humans as Designers and Making Humans Accountable, the book covers much territory. From systemic and cultural biases in how data used by machine learning is selected and captured, to the errors that are introduced to data sets by humans, to decisions made about system tradeoffs, what privacy means in different contexts, how open a system is to inspection and intelligibility, how diverse that system is, to who is accountable for the impacts of a system, real life examples are interwoven with provocative and often confronting questions.

Broad does not set out – at least in this tome – to answer these questions – rather, she lays a foundation for examining each of these questions in more depth. Personally I’d like to see a follow-up to this that covers attempts to standardise practices in machine learning and artificial intelligence – the frameworks and benchmarks – often competing – that have been proposed – alongside efforts at industry adoption and (likely) the barriers that are faced.