Tools
My primary stack includes PHP, Go and Typescript but I have used a variety of other languages and tools over the years out of necessity or out of curiosity. Here are some of the tools I have used and am comfortable with, there are a lot not on this list that I have school-related experience with or have no interest in generally working with again.
-
PHP
My first language and my go-to for full-stack web development, I currently use it at work and personally for web-based projects with no hard performance requirements or extensive client-side functionality (like a PWA requirement).
-
Go
Good choice for concurrent, performant & scalable backend services (and other things you definitely do not want to imagine) with single-binary* deployments.
-
Typescript
Mostly a "linter" but better than nothing when working with Javascript. I use it for most of my frontend projects (Solid, React & Astro) and when I have to work with Bun or Node.js
-
Rust
A systems programming language with goals I absolutely love and I have been learning in my free time, very useful for performance and safety-critical applications.
-
Swift
A well-designed & performant language I occasionally and painfully (thanks to Xcode) use for native iOS, iPadOS and macOS applications.
-
Neovim
An highly extensible modal text editor available on any machine/server I am on at any given time. It makes it extremely easy for me to write and navigate code without ever leaving the keyboard or my terminal and at the speed of thought.
-
MySQL
A relational database management system that I have used for years as a part of the LAMP stack I started with!
-
SQLite
A single-file, ACID-compliant relational database that I frequently use for my smaller projects (and sometimes for larger ones too!), stateful CLIs and mobile applications.
-
Redis
A key-value store that I use for caching, session storage and other abominable things you don't want to think about.
-
Docker
Useful for running applications in a consistent kind-of-reproducible environment, and my preferred way to develop and deploy applications.
-
Tailwind CSS
A utility-first CSS framework which comes in quite handy for "designing in code" and making responsive designs easier to implement on the web.
-
Git
Uh... preferred and the most popular version control system?
Things I am excited for
- Solid.js - I have used React a lot but I start new projects with this, it is more performant and has better first-party/primitives support.
- Gleam - I have written and still write quite a lot of it for my side-projects.
- Inko - It is like Rust but apparently easier!
- Elixir - Awesome for real-time software but I haven't had a lot of time to try it out.
- Flatbuffers - More efficient than gRPC & protobufs
- SurrealDB
- Nix (OS and package manager)
- Hermit Unikernel
- Kata Containers
- Local-first development - not really a tool but...
Other things I have used
- C++ - school experience and occasional self-torture
- Java - school experience
- Kotlin - also school experience, but I enjoyed it
- Python - school experience and occasional scripting
- Erlang
- PostgreSQL - I haven't used this much but I intend to use it more in the future
- MongoDB
- Laravel
I am always interested in trying out new things, just to see how they suck and how they are better than my current tools, if you have any suggestions or anything that excites you, feel free to @ me on Twitter/X!