Jan 12 2025
Spending most of my career in tech companies, I enjoyed working with technologies largely of my choosing. I have always been of the Open-Source bent, so monetary cost has seldom been a factor. The tools I use are familiar - there is a level of comfort - but I choose them for their functionality - I am substantially faster and more productive with them.
The technology I tend to use to describe this is the json processing library - jq
. Free, lightweight, well designed and - in its small way, kind of life changing. Once you become accustomed to it as part of your dev/testing process, it's pretty hard to do without.
When I made the switch to consultancy I quickly learned not to become too attached to my favourite tools. You never have full say over which contract you'll be on next - and the Standard Operative Environment may differ radically from one to the next. Security and vendor lock-in means you largely use the tools you're given.
It's here that I drew inspiration from the greatest technical consultant of all time - Batman. When confronted with a novel set of difficulties, Batman can rely upon the toolkit only Wayne Enterprises could provide, his Utility Belt. So, here are some of the portable toolkit items that keep me productive wherever I was deployed.
If you have access and permissions to the chrome or edge extensions libraries, you're pretty much set.
But if you don't, creating your own browser extensions is pretty accessible these days. In chrome, navigate to chrome://extensions/
, enable Developer mode, and then click "Load unpacked" - you'll be able to load extension scripts downloaded from github.
There's not a lot you can't do with VS Code and access to the extensions library - ssh into remote servers, interact with GitHub, but my favourite rather anachronistic extension is VSCodeVim - at first I tried it as a joke, I've now been using it daily for 5 years.
So let's just say you have next to no access, and you need some kind of computing tasks done. My execution environment of last resort is Google Dev Tools -> Console. If I have nothing but notepad and chrome, there's a reasonable amount you can do with a javascript execution environment.
As an example, I found myself needing to test the limits of how many times an in-page task could be completed - with no testing tools and no permissions to install any. I could either sit there and modify details and click 'submit' 180 times over the course of 10 minutes, or I could request jquery in the console and voila - pseudo-automation.
If you've no IDE at all, there are many web-based IDEs, but github.dev takes my vote - all you need is a repository, and you've got a fully featured, free editor. This is my now my go-to as a travelling note-taking tool.
If you do have install privileges to your machine, Windows Subsystem for Linux is a way to leverage a world of open-source developer tools. Or if that's not an option - if you have git bash, you may not have a full distro but a decent text processing engine.