Skip to content

dotmh/awesome

Repository files navigation

DotMH

My Awesome List

Awesome

Inspired by other awesome lists on Github, this list collects articles, talks, and resources that I DotMH find useful or just interesting.

Why not check out my other projects on Github or follow me on Bluesky

This is a work in progress and I intend it to be a living document, that I am constantly updating.

This file is auto generated by a script, please do not edit it directly for more information see /scripts/README.md

Contents

🛠️ My Tools

I find it cool to learn about new tools and technologies. Here are the tools that I use everyday.

đź’» My Hardware

A big part of the my tool of course is the hardware that I use. Here are the hardware that I use everyday.

Back to Contents

đź’ľ My Software

Hardware is useless without some software to run on it. Here are some of the software that I use everyday.

  • Visual Studio Code - My favourite code editor
  • Sketch - My favourite design tool for UI and UX
  • Warp - The best Terminal emulator for the Mac
  • 1Password - The best password manager
  • Alfred - The best productivity tool for the Mac
  • Trello - My favourite project management tool
  • ZSH & OHMyZsh - The best shell and shell framework for the Mac
  • Eza - An awesome `ls` alternative with a lot of features
  • Bat - A brilliant `cat` alternative with syntax highlighting
  • Just - A fantastic `make` alternative with a lot of features
  • Docker - My favourite containerization tool
  • Devcontainers - Allows me to setup isolated development environments and experiment with new tools
  • Spotify - My favourite music streaming service
  • GitHub Copilot - An AI pair programmer that helps me write code faster
  • Sonarcloud - Helps me write better code by finding bugs and vulnerabilities
  • Runjs - A playground for JavaScript and TypeScript, supports NPM packages
  • Arc Browser - A modern web browser for the Mac and windows
  • Jetbrains Rider - I have been learning C# and .NET recently and this is my favourite IDE
  • Jetbrains Mono - My favourite font for coding, Terminal and anywhere that I need to read code
  • Tokyo Night - My favourite theme for Visual Studio Code, Warp and anywhere that I need to read code

Back to Contents

👨‍💻 My Stack

This is the default stack that I use for most projects. I find it very productive and easy to work with. This isn't the only stack that I use, but it's the one that I use most often.

  • Typescript Template - My template for creating Typescript projects
  • Typescript - My favourite programming language
  • Node.js - My favourite backend runtime
  • React - My favourite frontend library
  • Next.js - My favourite frontend framework
  • Vite - My favourite frontend build tool
  • Vitest - My favourite testing library
  • PNPM - My favourite package manager
  • ESLint - My favourite linter
  • Prettier - My favourite code formatter
  • SASS - My favourite CSS preprocessor
  • Github Actions - My favourite CI/CD tool

Back to Contents

⚙️ Visual Studio Code

Visual Studio Code is my favourite code editor. It's fast, extensible and has a great community. Here are the extensions that I use everyday.

🖼️ Look and Feel

Make Visual Studio Code look and feel the way you want it to. These extensions help you customize the editor to your liking.

Back to Contents

đź§° Tooling

Extensions that add tooling to Visual Studio Code. These make it easier to work with code, manage dependencies, and more.

  • Code Spell Checker - Spelling checker for source code
  • Dependi - Dependency Analytics for your project
  • GitLens - Supercharge the Git capabilities built into Visual Studio Code — Visualize code authorship at a glance via Git blame annotations and code lens, seamlessly navigate and explore Git repositories, gain valuable insights via powerful comparison commands, and so much more.
  • Polacode - Polaroid for your code
  • Marp - Markdown presentation writer, powered by Marpit.
  • Remote Development - Work with remote or local code in containers, on remote machines, or in the Windows Subsystem for Linux (WSL).
  • Devcontainers - Allows you to open any folder in a container, on a remote machine, or in WSL and take advantage of VS Code's full feature set.
  • Auto Rename Tag - Automatically rename paired HTML/XML tag, same as Visual Studio IDE does.
  • Thunder Client - Thunder Client is a hand-crafted lightweight Http Client Extension for Visual Studio Code.
  • IntelliCode - AI-assisted development
  • Hex Editor - Hex Editor for VSCode
  • GI - Generate .gitignore files
  • Docker - Adds syntax highlighting, commands, hover tips, and linting for Dockerfile and docker-compose files.
  • Markdown PDF - Export Markdown as PDF
  • Paste Json as Code - Copy JSON, paste as Go, TypeScript, C#, C++ and more.
  • PostgreSQL - PostgreSQL extension for Visual Studio Code

Back to Contents

đź’™ Typescript and Javascript

Extensions that make working with Typescript and Javascript easier in Visual Studio Code. Includes both Browser and Node.

  • Prettier - Code formatter using prettier
  • ESLint - Integrates ESLint JavaScript into VS Code.
  • Total Typescript - Sometimes Typescript errors are hard to parse, this extension helps with that.
  • Vite - Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects.
  • Styled Components - Syntax highlighting for styled-components
  • Tailwind CSS IntelliSense - Intelligent Tailwind CSS tooling for Visual Studio Code
  • Prisma - Prisma helps app developers build faster and make fewer errors with an open source ORM for PostgreSQL, MySQL and SQLite.
  • MDX - MDX is a JSX in Markdown loader. This extension adds syntax highlighting and bracket matching for MDX (JSX in Markdown) files.
  • ES7 React/Redux/GraphQL/React-Native snippets - Simple extensions for React, Redux and Graphql in JS/TS with ES7 syntax
  • DeviceScript - DeviceScript is a language for writing scripts that run on IoT devices. This extension provides syntax highlighting and code snippets for DeviceScript.
  • Deno - Deno support for Visual Studio Code
  • Astro - Astro is a new kind of static site builder that delivers lightning-fast performance with a modern developer experience.

Back to Contents

:octocat: Services

Extensions to allow working with the services that I use everyday. These include Github, AWS, and more.

  • Github Copilot - AI pair programmer that helps you write code faster
  • Github Actions - Supercharge your GitHub workflow. Create, review and deploy code right from Visual Studio Code.
  • Gihub Copilot Chat - Chat with Copilot in your editor
  • Github Pull Requests - See comments and reviews in your source code editor
  • SonarLint - SonarLint helps you detect and fix quality issues as you write code. Like a spell checker, SonarLint squiggles flaws so they can be fixed before committing code.
  • WakaTime - Metrics, insights, and time tracking automatically generated from your programming activity.
  • AWS Toolkit - I am a big fan of AWS and this toolkit makes it easier to work with AWS services.
  • Terraform - Syntax highlighting, linting, formatting, and validation for HashiCorp's Terraform
  • Platform IDE - PlatformIO IDE is a development environment for IoT, with support for Arduino, ESP8266/ESP32, and many more.
  • 1Password - 1Password is a password manager that keeps you safe online.

Back to Contents

đź’ś DotNet and C#

I have recently been learning C# and DotNet and these extensions help me write better code.

  • .Net Maui - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
  • C# Dev Kit - C# Dev Kit is a collection of extensions for Visual Studio Code that help you write C# code faster and better.
  • C# - C# for Visual Studio Code
  • IntelliCode for C# - AI-assisted IntelliSense for C#
  • Ionide for F# - F# language support for Visual Studio Code

Back to Contents

🔨 Other

Other useful extensions that don't really fit into any other category.

  • AppleScript - AppleScript language support for Visual Studio Code
  • Better Shell Syntax - Better syntax highlighting for shell scripts
  • Ca65 Macro Assembler Language - Syntax highlighting for the ca65 macro assembler language
  • CMajor Tools - Cmajor Music language support for Visual Studio Code
  • ESP-IDF - ESP-IDF extension for Visual Studio Code
  • Go - Go language support for Visual Studio Code
  • Go Template - Go Template language support for Visual Studio Code
  • Kotlin - Kotlin language support for Visual Studio Code
  • Lua - Lua language support for Visual Studio Code
  • Odin - Odin language support for Visual Studio Code
  • Ruby LSP - Ruby language support for Visual Studio Code
  • YAML Format - YAML language support for Visual Studio Code
  • Zig - Zig language support for Visual Studio Code

Back to Contents

đź’™ Typescript

My main language is Typescript, whether working on the front or backend I am mainly using it these days. These are some of the things I use to help me write better Typescript code.

📚 Libraries

Libraries I use to help me write better Typescript code. (obviously all these work in the pure JS world too)

  • Lodash - A modern modular utility library delivering modularity, performance & extras.
  • AWS JS SDK - The official AWS SDK for JavaScript, available for browsers and mobile devices, or Node.js backends.
  • Chalk - Terminal string styling done right.
  • Prisma - Next-generation Node.js and TypeScript ORM.
  • colorthief - Grabs the dominant colour or a representative colour palette from an image.
  • gray-matter - Parse front-matter from a string or file.
  • remark - Markdown processor powered by plugins part of the unified collective.
  • yaml - I love yaml so I often need a JavaScript parser and stringifier for YAML.
  • glob - Match files using the patterns the shell uses, like stars and stuff. I have started to use the native glob module in Node.js but this is still useful.
  • Hono - A great lightweight web application framework, build on web standards and can deploy in most places.
  • Day.js - Fast 2kB alternative to Moment.js with the same modern API. I have started to use this in most projects.
  • Handlebars - Minimal templating on steroids. I use this in a lot of my projects.

Back to Contents

🛠️ Tools

Tools that I use with typescript / javascript

  • TSX - A tool for running TS files without needing to compile them.
  • Vite - A build tool that aims to provide a faster and leaner development experience for modern web projects.
  • Vitest - One of the best test runners can be used without vite and can test typescript without building.
  • Istanbul - A tool for generating code coverage reports.
  • Huskey - A great tool for setting up git hooks, I use this in most projects and it is part of my default template.
  • CommitLint - A tool to check if your commit messages meet the conventional commit format.
  • Secretlint - A tool to prevent committing secrets and credentials into a repository.
  • ESLint - A tool for identifying and reporting on patterns found in ECMAScript/JavaScript code.
  • Prettier - An opinionated code formatter.

Back to Contents

🖼️ Frontend

I love working on both the backend and the frontend and these are some awesome frontend libraries that I rely on.

  • React - Probably the most used frontend library in the world these days.
  • Next.js - A great framework for building React applications.
  • SASS - I am still a big fan of handcrafting css and SASS is a great way to do that.
  • Nes.css - A great CSS framework that I use in most of my little personal projects.
  • Storybook - A tool for developing UI components in isolation for React, Vue, and Angular.
  • Playwright - A great tool for testing web applications.
  • SWR - React Hooks library for remote data fetching.
  • @tabler/icons - A set of over 700 free MIT-licensed high-quality SVG icons for you to use in your web projects.

Back to Contents

🎮 Game Development

IO have a passion for video games and of course combined with my passion for software development I have been working on a few game projects. I am not a game developer by trade but I do enjoy working on games in my spare time. These are some of the tools and libraries I use when working on games.

📚 Libraries

These are some of the libraries I use when working on game projects. I mainly work in Typescript or C# so often use these libraries with bindings for those languages.

  • Raylib - A simple and easy-to-use library to enjoy videogames programming.
  • ImGui - Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.
  • SDL - Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.
  • Jolt Physics - A fast and lightweight physics engine for games. Recently came across this from a Youtuber
  • FNA - FNA is a reimplementation of the Microsoft XNA Game Studio 4.0 Refresh libraries.
  • Moonworks - Built on the above FNA library, Moonworks is a library for building games in C#.

Back to Contents

🎮 Game Engines

A step up from libraries are the full game engine. Here are some that I have experimented with, or am interested in using in the future.

  • Gadot - This is my game engine of choice. It is open source and can be programmed in C#. I will definitely be using this for my future game projects.
  • Love - A framework for making 2D games in the Lua programming language.
  • Monogame - An open-source, cross-platform framework for building 2D and 3D games in C#.
  • Openbor - An open-source engine for building 2D beat-em-up games.

Back to Contents

🛠️ Tools

Code isn't the only thing that is needed when making a game, these are tools that I use.

  • Aseprite - A pixel art tool that I use to create sprites for my games.
  • Tiled - A map editor that I use to create levels for my games.
  • Audacity - A free, open source, cross-platform audio software for multi-track recording and editing.
  • Furnace - A retro music tracker that I use to create music for my games.
  • MagicaVoxel - A free lightweight 8-bit voxel art editor and interactive path tracing renderer.
  • Blender - A free and open-source 3D creation suite.
  • Cubase - A digital audio workstation developed by Steinberg for music and MIDI recording, arranging and editing.

Back to Contents

đź”— Bindings

I tend to work in Typescript or C# , but a lot of game development libraries are written in C++. These are some of the bindings I use to work with these libraries.

Back to Contents

📚 Books

These are some of the books that I've read and found useful. I recommend them to anyone who is interested in the topics they cover.

Note: Where a newer edition is available, I recommend getting the latest version.

All links are to Amazon UK and are Not Affiliate Links.

Back to Contents

📚 Resources

Resources to help me become a better developer.

📬 Mailing Lists

Some of the best mailing lists I have subscribed to.

  • JavaScript Weekly - A free, once–weekly e-mail round-up of JavaScript news and articles
  • Frontend Focus - A once–weekly e-mail round-up of Front-End news and articles
  • Node Weekly - A free, once–weekly e-mail round-up of Node.js news and articles
  • React Status - A free, once–weekly e-mail round-up of React news and articles
  • Ruby Weekly - A free, once–weekly e-mail round-up of Ruby news and articles
  • Go Newsletter - A weekly newsletter about the Go programming language

Back to Contents

:octocat: Services

Services that I use day to day when making software

  • GitHub - GitHub is a web-based platform for version control using Git.
  • GitHub Actions - GitHub Actions makes it easy to automate all your software workflows.
  • GitHub Copilot - GitHub Copilot is your AI pair programmer.
  • GitHub Packages - GitHub Packages is a package hosting service.
  • NPM - NPM is a package manager for the JavaScript programming language.
  • SonarCloud - SonarCloud is a cloud-based code quality and security service.
  • Netlify - Netlify is a web developer platform that multiplies productivity.
  • Amazon Web Services - Amazon Web Services is a subsidiary of Amazon providing on-demand cloud computing platforms and APIs.
  • WakaTime - WakaTime is a productivity tool for programmers.
  • Trello - Trello is a web-based list-making application.
  • Fathom Analytics - Fathom Analytics is simple, privacy-focused website analytics.
  • Socket - Socket security scanning for packages and dependencies. I only use this on OSS projects

Back to Contents

📚 Books

These are some of the books that I've read and found useful. I recommend them to anyone who is interested in the topics they cover.

Note: Where a newer edition is available, I recommend getting the latest version.

All links are to Amazon UK and are Not Affiliate Links.

Back to Contents

đź’¬ My Socials

You can find me on these social platforms. Please note that I am no longer on Twitter. Please follow me on Bluesky instead

Back to Contents

Stats

A total of 197 resources in 21 categories and 5 groups last updated 26/02/2025, 17:11:19

License

Content

CC0

Code

License