This is about the software tools that I use.
Theme: HackTheBox I love this, obviously as you can tell from the design of my website. I’m using [a fork of it] where I’ve made a few minor changes, including increasing the contrast between inactive items and the background (line numbers, tab titles) and added colors for the scroll thumb.
- Astro - language support for Astro
- eslint - learn to code by making the squiggles go away
- prettier - formatting everything consistently
- Live Preview - good for viewing simple projects that don’t create their own http server
- colorize- is a really cool extension that shows you the colors of css variables inline in your code
- indent rainbow - makes a rainbow out of your indents. this is really useful for deeply nested files (like terrible html email templates)
- indent rainbow palettes - a set of jazzy palettes for indent rainbow
- peacock - changes the color of some of the chrome of VSCode. i find this super useful to have different colors for different projects, so when i have multiple windows open i can quickly figure out where each project is located.
- Github Copilot - AI powered pair-programmer, I have been finding this useful for syntax auto-completion where I might normally get caught up in small formatting errors. I haven’t yet used it for creating new projects, I’m not comfortable with outsourcing ‘big’ things.
here’s a quick screenshot of my VSCode window:
When it comes to the shell inside, on my Mac I use z shell, and oh-my-zsh, with the powerlevel10k theme. Oh-my-zsh has plugins available to support a lot of different languages/environments, but I only load plugins for git and macos.
On my Windows computers I use Windows Terminal which is also excellent and makes working on Windows feel more ‘normal’ to me. The HackTheBox theme that I use has been extended with a HackTheBox colorscheme for vim which also provides a settings theme for Windows Terminal. Inside of Windows Terminal I use git-bash which is provided by Git for Windows. (my employer’s client does not allow the Windows Subsystem for Linux, or else I would probably use that)
Nearly all of my projects use git for version control (most hosted either at github or Azure Devops), and I do all of my interaction with git via a terminal. The git plugin for oh-my-zsh provides a lot of handy aliases for git, but I have some of my own that I’ve been using for years and built up a lot of muscle-memory around. You can find those in my somewhat-neglected dotfiles repository.
Deployment and Hosting
My professional work often involves large applications that are deployed at enterprise-scale. At one time or another I’ve worked on an app deployed at almost all of the major cloud providers: AWS, IBM Cloud, Azure DevOps.
Building and deploying Apps has varied also, my teams have used Jenkins, Travis ci, and Azure Pipelines. I’m usually not the deployment engineer, but I’ve looked under the hood and gotten to understand how these work and are configured.
The deploy pipeline for Netlify is probably the way I’m migrating towards in the future — it’s just so easy to have a github hosted repository and configure a Netlify site to build from it.
In short, I use and test in all modern browsers (and a few not-so-modern ones). I believe that only testing your code in Chrome is a disservice to your users. Each has a specific purpose in my day-to-day work.
- Chrome for development as I’ve come to enjoy the debugging and developer tools
- Firefox is the browser I use for work
- Edge is my primary browser on my personal PC
- Safari I use for all my personal browsing on Mac/iPadOS/iOS
I will occasionally, as a minimum-common-denominator test, use lynx to make sure my sites still work in a text-based browser. This isn’t a requirement for any of my professional work, but I like to know that my personal sites are usable in as many scenarios as possible.
As I think of other things I will update.