This is a (mostly up to date and partially curated) list of tools I use daily, partially categorized. Notably, I prefer to use as few tools as possible from day to day.

Programming Languages

JavaScript

I’ve spent a lot of time writing JavaScript code and, by number of lines written, is the programming language I am most familiar with. I generally use JavaScript for certain types of one-off scripts (particularly, those which benefit from highly asynchronous work), certain types of relative simple back-end services, and, when needed, to work on the front-end.

Front-end libraries I am fairly familiar with include React and Vue. Other libraries I have found useful include Node-config, node-fetch, express, dayjs, and bottleneck.

Python

I generally use python for writing one-off scripts, back-end services, and any sort of “numerics” work.

Libraries I have found useful include flask, numpy, scipy, pandas, xarray, and matplotlib.

SQL

I have fairly extensive SQL experience (at some point, I thought relational databases were relatively cool). I’ve written SQL for production systems, to troubleshoot issues, and to analyze data.

With respect to SQL databases, I have directexperience with both MSSQL, and PostgreSQL. MSSQL licenses are exorbitantly expensive for production systems, and I have not been convinced of the merits of MSSQL over PostgreSQL. I also have some experience with Amazon Aurora.

Others

I have experience with quite a few other programming languages (C, C++, C#, Rust, and Java as some examples) but do not use them in my “day to day”. I, generally, don’t have strong language preferences, and will generally pick up a language if it is needed to solve a problem.

Software Development Tools and Frameworks

Hugo

As mentioned elsewhere, I use Hugo for hosting this website. For the theme, I use PaperMod.

Visual Studio Code

For an IDE, I use Visual Studio Code.

Vim

When connected to a remote machine, I generally use Vim.

I am not a particularly proficient vim user, but it’s widely available so I don’t need to install an editor before trying to make any changes to files.

Excalidraw

Excalidraw is my (currently) preferred tools for making diagrams. I didn’t initially like the aesthetic, but it grew on me.

Draw.io

Draw.io is another good tool for making diagrams. There are cases where I prefer it to excalidraw.

WSL

When working on a windows machine, I prefer to use WSL over using a VM. I generally use Ubuntu as the operating system, but this is a relatively weak preference.

Web Applications

Windy.com

I, for better or for worse, live in a place where the weather isn’t always friendly to pedestrians. Windy is my preferred weather application, primarily due to the relative ease of access for both radar and model data. If the weather is good, I only use the application to check the weather of a single model. If the forecast looks poor, I will check multiple models across time. You can also get a sense of the stability of weather systems by tracking the evolution of forecasts across multiple days.

On the day of a precipitation event, I use the radar to time when I will go for a walk, taking advantage of lulls in the precipitation. When doing this, it’s useful to be aware of the biases associated with radar estimates of precipitation. Certain percipitation systems evade radar detection and it’s possible that you will be occasionally surprised by drizzle or mist. An important bias to note is that weather models have a much coarser resolution than radar, meaning that forecasts can fail to take into account spatial variation in precipitation. During certain times of year (especially the summer), you can use radar to adjust the forecasted precip, allowing you to make better decisions.

Of note, I do not pay for Windy (perhaps I should). The quality of the free offering has been going down over time as more and more features are moved to the paid version. If the radar data was not available on the free version, I would look for other applications (or start paying). If the model data offerings continue to degrade, I might also look for other applications.

Why don’t I install the windy mobile application? Good question, I effectively haven’t been convinced that having the windy application is significantly better than just accessing it on mobile.

Mobile and Desktop Applications

Notepad

If on a windows machine (primarily at work), I will use notepad to take notes. I will also sometimes share my screen and use notepad as a place to take shared meeting notes. When I do this, I try to keep shared meeting notes to at most a full “notepad” screen. This keeps all the relevant information easily accessible, reducing meeting working memory demands.

Notes

I use apple’s built-in notes application to takes notes (about various things) and organize information (such as errands and to-do lists) in my personal life. There are likely better applications for this, but the impedance mismatch between my needs and what notes offers is relatively low, so I haven’t bothered to look around. Similar to notepad, I find it useful to try and keep the length of certain notes such that they fall within a “single mobile phone screen”. This reduces working memory demands and, in certain cases, removes extraneous information.