Skip to content

dotmh/awesome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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