State of my toolchain 2023
- Published
- Filed under
- Research, Technology
- Reading time
- 11 min
Welcome to the 2023 edition of the State of my Toolchain report (you can see previous editions for 2022, 2021, 2019, 2018 and 2016), where I document the tools, applications and hardware that I use for productivity and workflow, and how they shift over time as my tasks and needs change. In this year’s post, I cover what’s changed, what’s currently in my toolchain, and what’s driving my choice of tools.
What’s changed since the last report?
Although I’m still finishing my PhD at the Australian National University’s School of Cybernetics, there’s been a shift this year to doing a lot more work in python, particularly using pandas, MatPlotLib, and very recently, dask - that is, a lot more quantitative data work, and a lot more work with LaTeX, writing research papers.
Software development, data analysis and writing
My work this year has heavily revolved around data analysis (for example, this paper, which uses ObservableHQ and a bunch of pandas to analyse accents in the Common Voice dataset). With Atom being sunsetted, this necessitated a change to my primary software development and data analysis setup, which I also used for writing in Markdown.
Moving to VS code, albeit begrudgingly
Because I write in a few different languages - Markdown and LaTeX for writing and documentation, python for software development, javascript for visualisation, and work with a lot of file formats like tsv and csv and JSON, I needed an IDE that could handle all of these well. Although it pains me to say it, because it’s part of the dominant Microsoft + GitHub + Copilot + OpenAI + LinkedIn + Nuance, VS code turned out to be the ideal solution (when combined with a large set of plugins). VS code has been working very well, and the sync feature in particular - where I can sync settings between multiple installations on multiple operating systems - has been super useful.
Moving to Monaspace fonts
I spend a lot of time in VS Code, writing material, and so my font choice is also critical for productivity. Generally, I use a monospace font - and Ubuntu Mono has for a long time been my go-to. However, after coming across it on Hacker News, I’ve made the switch to the Monaspace family, specifically Monaspace Argon, because of its flexibility. The idea of a flexible font family that can be adjusted with CSS is really appealing, and it’s a beautiful example of font design, reminiscent of Donald E. Knuth’s work on Computer Modern, still widely used in the LaTeX world.
Embracing Overleaf
When I started writing a lot of LaTeX for research work, I baulked at using Overleaf because of the premium pricing. My university now has an enterprise license, so I don’t have to wear the cost of it, and I’ve finally embraced it. If I’m on a slow internet connection (which is rare these days, my Aussie Broadband FTTN service has been rock solid and I get a consistent 55Mbps + down), then I’m able to sync it with a git repo - it supports GitHub natively, and any other git repo via a generic git interface - and workoffline. In the last six months, Overleaf has released some WYSIWYG features which are very useful for drafting, and organisations like the ACM have increased their integration with the platform, making it far easier to submit research papers to journals and conferences. Overleaf is here to say.
Search and information discovery
As generative AI-spawned content begins to fill the internet with hastily-created, ad-stuffed, keyword-matching cruft, our ability to find relevant, factual and detailed content becomes compromised. Search for common python programming-related terms, and the top results will be ad-plastered, pop-up bearing “farticles” (shitty articles) designed to rank on search engines, not deliver answers to questions. And existing search engines like Google or Duck Duck Go haven’t yet caught up. Bing auto-generates incorrect responses to questions - for example if you ask “how can I contact Kathy Reid?”, it provides you with the information for Kathy Reid who is a teacher in Grand Island, New York.
So I wanted a search engine that could sift through the cruft, where high quality websites would be highly-ranked, and where I could exclude farticle farms. Enter Kagi - which variously translates into “now”, “day”, “morning” or “ago” - all with a temporal connotation - in Malay languages.
Referred by a friend, I tried out Kagi for a month - at a cost of around $AUD 8 - and while it was good - I was able to readily filter out low-quality results - I exhausted the number of API calls for my subscription level (300) very quickly - within about two weeks - and made the decision not to increase my subscription ($USD 10 or around $AUD 17 per month). I was impressed by Kagi not having any tracking (less surveillance capitalism is a good thing), but I couldn’t sustain this price point just for a search engine, particularly given the weak Aussie dollar.
A new laptop (also, begrudingly)
I had been using an ASUS Zephyrus ROG G15 since late 2020, and it was a fantastic machine - 16GB of RAM, decent GPU (3060 from memory) and Ryzen CPUs. It was a dream to use. And then, it failed. With a whimper. One night, while I was sitting in bed, the screen just started to show vertical lines, then went blank. I can still use it via an HDMI connection, but investigations done by ASUS showed that there was both a screen fault (replaceable for a few hundred dollars, worth it) and a motherboard error (replaceable for $AUD 2000, not worth it). And so it was time for a new machine.
To be clear, I use my laptop around 12-15 hours a day. It’s the tool of my trade - how I derive an income, an entertainment centre, and something I need to enjoy using. I was very happy with the Zephyrus, but wanted a little more RAM, and ended up getting a run-out G15 with 32GB of RAM, an NVIDIA GeForce 3080 RTX and 16 Ryzen 9 6900HS cores for under $AUD 4k. To be clear, this was a major purchase for me, and my laptop is now worth more than my car. But I drive my 20-year-old car on errands twice a week, not for 12-15 hours a day.
This machine is a dream to use. I dual-boot Windows and Ubuntu 22.04, and it can cut through pandas workloads like a hot knife through butter. Windows 11 is a vast improvement on Windows 10 (once you turn off all the tracking features). The ASUS Linux project doesn’t quite give me equivalent functionality (especially keyboard backlighting) on Linux, but it’s reasonable.
Let’s hope it lasts more than 2 years before hardware failing.
Planning and productivity
Passion Planner ditched in favour of Leuchtturm1917 A4 planner
I’ve been an avid Passion Planner user since 2019 - so five consecutive years - and love the annual week-to-a-view planner. It’s a great product. But, and it’s a big but, the shipping from the United States has become exorbitant - and I was looking at $AUD 40 to ship one A4 planner this year. I really hope they find a wholesale supplier in Australia soon, but in the meantime I shopped around and settled on the Leuchtturm1917 A4 week to a page planner, which retains for $AUD 68, about the same price as the Passion Planner, minus the shipping.
I can’t comment on how well it’s working on out, but you can expect to see an update in next year’s State of the Toolchain.
Changing my social media footprint
I’ve made a concerted effort this year to reduce my presence on Twitter and Instagram. Since Elonification, Twitter has descended into a cess-pit of racist, misogynist drivel. So I’ve locked my account, but have kept it so that the name cannot be hijacked by others. Instead, I’ve found my people on Mastodon, with big ups to Shlee for all they do for aus.social. Mastodon is much more academic-oriented that the Blue Hell Site, and it’s where I spend most of my time.
The Mastodon server I host for academic and research group accounts (that tend not to have a natural home elsewhere) - https://fediverse.au - is ticking along. I originally thought I’d be sunsetting this by the end of 2024, but universities haven’t been quick on the uptake to host their own Mastodon accounts, so I suspect it will be around for a bit longer.
Bluesky seems to be a slow burn at the moment, but I’ve got an account there basically to make sure the name can’t be taken.
I’ve ditched Instagram after they requested I upload a selfie with my name on it to verify my identity. Get forked. Instead, I’ve joined Pixelfed, and love it there (yep, another Fediverse-compatible service hosted by Shlee. As I said, Big Ups).
Goodreads has been bought out for Amazon for a while now, and the closest Fediverse-compatible alternative is shaping up to be Bookwyrm - an in particular its import function, which allows you to bring in content from Goodreads. Big ups here to Hugh Rundle for all the dev work he does on Bookwyrm.
What’s currently in my toolchain?
Hardware, wearables and accessories
- My main laptop is an ASUS ROG Zephyrus G15 (changed since last report)
- Google Pixel 4a 5G running stock Android (no change since last report)
- Mobvoi Ticwatch Pro 2020 model (no change since last report)
- Fellowes book stand - again, very light and easily portable
- Logitech C920 web cam (no change since last report)
- Stadium USB microphone (no change since last report)
- Sennheiser Momentum 3 wireless bluetooth headphones (changed since last report)
Software
- VS Code with a range of plugins for writing code, thesis notes (changed since last report)
- Pandoc for document generation from MarkDown (no change since last report)
- Zotero for referencing (using Better BibTeX extension) (no change since last report)
- OneNote for Linux by @patrikx3 (no change since last report)
- Nightly edition of Firefox (no change since last report)
- Zoom (no change since last report)
- Microsoft Teams for Linux (no change since last report, but boy is it getting rubbish!)
- Gogh for Linux terminal preferences (no change since last report)
- Super productivity (instead of Task Warrior) (no change since last report)
- Cuckoo Timer for Pomodoro sessions (no change since last report)
- RescueTime for time tracking (no change since last report) - I should note that the new Timesheets functionality is super helpful.
- BeeMindr for commitment based goals (no change since last report)
- Mycroft as my Linux-based voice assistant (no change since last report)
- Okular as my preferred PDF reader (instead of Evince on Linux and Adobe Acrobat on Windows) (changed since last report)
- NocoDB for visual database work (no change since last report)
- ObservableHQ for data visualistion (no change since last report)
Techniques
- Pomodoro (no change since last report)
- Passion Planner for planning (no change since last report)
- Time blocking (used on and off, but a lot more recently)
Current gaps in my toolchain - what’s missing?
Visual git and git lfs
This one is more a case of “it’s not missing any more because visual git tools have become more integrated into other tools”. In previous posts, I opined about the lack of low-cost visual git tools (GitKraken was high on my list but at a yearly subscription of $USD 48, or about $AUD 80 with the rubbish exchange rate, it was still too much), but this need has ebbed as git has become more integrated in other tooling. VS Code comes with a bunch of git integrations, which suit 80% of my use cases.
My needs here have also changed because I am using git lfs a lot more, as I work with large data files (git lfs is required if you are committing files larger than 100Mb to most platforms like GitHub or GitLab). It takes a bit of getting used to (it stores pointers rather than objects, and so pruning and the like require a different set of commands), and many of the visual editors don’t provide built in support for git lfs.
So it’s back to the command line for me.
Second brain and organise my life tools - is this a job for generative AI?
After giving StartMe a shot, I found that it just didn’t have enough integrations to be useful, and have stopped using it. I really want something which is the equivalent of my Office 365 home page - with my recent files, websites, recurring tasks - except not limited to the Microsoft universe! I have been half-tempted to write something myself - it would be a cross between IFTTT, Huginn, Dropbox, StartMe and a voice assistant - except this would Be A Very Bad Idea and I stopped myself.
What I want is an integrated personal assistant, that has access to all the third party services I use, and has a discovery or prediction layer that runs on top of all of them - fore-grounding the files or tasks that need immediate attention, back-grounding those less relevant, and predicting, anticipating what I need to do before I need to do it. Privacy and security implications aside (imagine what data brokers would pay for that attention layer in an attention economy), this sounds like a job for generative AI tools.
Dropbox seems to have made a very ham-fisted entre into this genre, by adding tools into its desktop product that integrate with OpenAI, and then turning them on by default. No Dropbox, not like that!
I still think that this use case is a job for generative AI, but its implementation needs to be guided by user agency, user privacy and trust - a similar challenge ahead of voice assistant developers. Moreover, it raises questions of diversity and individual choice. Do I work differently to other people? What about high performers? Will I be “nudged” to structure my work to emulate high performers? And will I be penalised somehow if I do not? This is why I’m so dubious about tools like Microsoft’s usage analytics - they give user-level detail about tool usage and adoption, which are not necessarily good proxies for “productivity”. How might generative AI help me work better, without selling me out?
What’s driving my choice of tools?
You’re probably noticing some key themes about my choice of tools.
- Integration: I need tools to work across as many of my operating systems (Linux, Windows, Android) as seamlessly as possible.
- Privacy: I eschew products that aren’t transparent about what data is collected, or how that data is handled, particularly given the rise in generative AI. I’m now planning to migrate from Dropbox to NextCloud, because Dropbox has broken my trust.
- Lack of lock-in: I want products that I can swap in and out - commodotisation is generally a good thing for consumers. I don’t want to buy a whole bunch of new chargers for a new hardware purchase. I don’t want to be beholden to walled-garden, lock-in ecosystems. This means features like import and export, and support for standard file formats like
csvandjson. - Data sovereignty: The concept of data sovereignty is traditionally associated with the collection of data from under-served groups - such as Indigenous groups, with respect to the collection of spoken language data. Here, I use the term to refer to the ownership of data collected about me by the services I use - closely tied to the concept of surveillance capitalism - and who benefits from that data. Can I see how that data is used or how that data is used to create products? How is data about me monetised?
No, I’m not accepting paid sponsorships or links
My State of the Toolchain posts get a bit of traction, and with that, I’ve started attracting people wanting me to link to their product or website, for a fee. That is, sponsored content - but of course they don’t want it to look like sponsored content. I usually respond harshly, dismissively and swearily to these requests. If you want me to write about your product or service, build something awesome.