My/Pref/Dev/Tool/PL
My Preferred Software Dev Programming Languages
- from high to low in terms of preferences
Rust
Python
My/Pref/Dev/Tool/PL/Py My Python Dev Preferences
- mise to manage python version and to install uv, which is my preferred Package Manager in python
- use latest "bugfix" python version, AKA "pre-prerelease", e.g. Python 3.13 at the moment
- deps go in pyproject.toml with uv/sync for lockfile
- mise/Task/Files for build scripts
- prefer Py/asyncio when possible
My/Pref/Dev/Tool/PL/Py/Testing - Prefs for Software/Testing in Python
My/Pref/Dev/Tool/PL/Py/Static Code Analysis - Linting, Programming/Language/Formatter, Static Code Analysis tools
- Ruff for both, using Py/Lib/black and Py/Lib/isort under the hood
- Type Checking - Make heavy use of Mypy
- Linting, Programming/Language/Formatter, Static Code Analysis tools
My/Pref/Dev/Tool/PL/Py/Server Side APIs - Server/Side APIs
- Primary Preference is FastAPI for one-off APIs
- Secondary Preference is Django for bigger Monoliths, getting things done with modularity, ORM-powered migrations.
- Server/Side APIs
- mise to manage python version and to install uv, which is my preferred Package Manager in python
Typescript and NodeJS
My/Pref/Dev/Tool/PL/JS My JS Ecosystem preferences
Prefer to use Typescript over raw NodeJS or JavaScript
My/Pref/Dev/Tool/PL/JS/TS My Typescript Preferences
- Don't use "Barrel files" (see also Typescript/Concept/Barrel File) as they are harmful to tree-shaking and import path transparency.
JS Package Manager Prefs
My/Pref/Dev/Tool/PL/JS/Package Manager - use Aube as the preferred package manager for NodeJS, with npm as a fallback
- Why use aube? - it's written by Person/Jeff Dickey to integrate natively into mise, it's compatible with npm and faster and more secure than other npm package managers
- In order to use aube, it should be added to mise/Config/mise.toml. According to mise/Backend/npm, as long as aube is installed, mise will use it by default.
- use mise/Config/Setting/minimum_release_age of
5din mise settings, which aube respects
- use Aube as the preferred package manager for NodeJS, with npm as a fallback
My/Pref/Dev/Tool/PL/JS/TS My Typescript Preferences
- Don't use "Barrel files" (see also Typescript/Concept/Barrel File) as they are harmful to tree-shaking and import path transparency.