Software I use, gadgets I love, and other things I recommend.

I believe in using the best tool for the job.

Languages

  • C/C++

    C was the first programming language that really made me feel like I finally understood how code actually executes on a machine. C is my favourite language by far, although I feel I will always be learning with this one.

  • Java & Kotlin

    Java was not my favourite, and Kotlin didn't enamour me much more, but Java was the first language in which I ever shipped code and Android Studio made it pretty bareable. I'm a big fan of native development if possible, so I like to keep them in my back pocket.

  • Python

    Python is a great tool to have for putting together ideas quickly and getting a proof-of-concept in place. It's simple, easy to implement and very versatile. My experience in Python is predominantly on the robotics and physics side of things, however Flask and Django are great for the web and most of the world's data analysis today is using Numpy, Pandas, and Matplotlib.

  • Swift

    I've predominantly worked frontend with Swift and found the language intuitive after React and React Native. Once again, I think if you can afford the engineering overhead, always go native.

  • Javascript

    I love that Javascript allows me fluency across the web, whether sites or apps (this site was written with Next.js), and that the community is strong enough to support it... but the dependencies though.

  • Rust

    At the risk of getting caught up in the hype, I want to ensure I have at least some familiarity with Rust moving forward. Coming from C, it's been a bit of a learning curve and I'm not a hundred percent sold on it, but at the very least it's a valuable learning opportunity.

  • Go

    On the other hand, I've found Go a refreshingly approachable performant language. Without some of the control C allows, it more than makes up for in speed and iteration. I'm having a lot of fun learning GO as a break from Rust.

IDEs

  • Visual Studio Code

    Why mess with what works? Visual Studio Code remains the most extensible, versatile IDE that allows me to work on what I want, when I want.

  • Xcode

    That being said, Apple is Apple and Xcode is Xcode.

  • Qt Designer

    Although I love using Pyside in VS Code, for building embedded UIs professionally, Qt is fast, reliable and intuitive.

  • Android Studio

    Android Studio makes setting up Android Sims a piece of cake, and I prefer developing native applications whenever possible, so when working with Kotlin and Java, it's a must have!

  • Arduino IDE

    For proof-of-concept work, I still fall back on Arduino. It's dead simple, and I think it's much faster to start simple and increase complexity from there. Why pick the lock before you check if the door's open?

Design

  • Figma

    We started using Figma as just a design tool but now it’s become our virtual whiteboard for the entire company. Never would have expected the collaboration features to be the real hook.

  • Affinity Designer and Photo

    We started using Figma as just a design tool but now it’s become our virtual whiteboard for the entire company. Never would have expected the collaboration features to be the real hook.

Hardware

  • Seeed Studio XIAO Series

    My favourite microcontroller by far! Everything from the rp2040 variant through to full BLE and WiFi connectivity paired with an ESP32, these boards are simple, reliable and cost-effective.

  • Rasberry Pi and Arduino UNO

    From my generation, whatever Rasberry Pi was available and the Arduino UNO were the first SOC and microcontroller we ever used, and I continue to use these boards for hacking today. It's amazing what you can do with some very basic hardware and for POC, they're invaluable. Recently, I've become a big fan of the Pi Zero W as well.

  • Digilent Analogue Discovery 3

    I'm not the biggest fan of hardware debugging, it's just not my thing, but the Analogue Discovery is a must have. Pocket-sized and sporting every tool you might need in a pinch (with surprising accuracy, I must say) it's a no-brainer, even for an idea guy like me.

  • Yihua 8786D Soldering Station

    This soldering station is such great value! Holding its own with much more expensive options, I can't recommend it enough.

  • FDM Printers

    I love FDM printers and have had the privelege of working with (and on) a few over the years, from Ender 3s to Funmat HTs. We have a couple at Apollo Applied which you can see there, but as for everyday, I generally rely on Creality, BambuLab and FL Sun.

  • SLA Printers

    SLA isn't my favourite prototyping method, but you can't beat that resolution and resin makes for some interesting potential when exploring concepts at the POC stage. Two Halot Ones from Creality and the GK Two from Uniformation have handled everything I could throw at them, including specialist resins containing ceramics and other additives.