This note does not have a description yet.
Links to this note
-
The following list of things are my choices for boring technology.
-
Typescript Records With Enum Keys Are Exhaustively Checked
In TypeScript, a
Record
type used with an enum for keys is exhaustively checked. That means if you forget an enum variant in theRecord
it’s a compile-time error. -
Python 3+ has type annotations that can be used for static type checking using a separate program. There are several competing type checkers (mypy, pyright, pyre) that can be used that are sponsored by different companies (Facebook, Microsoft).
-
Typescript Adds Incidental Complexity to Using Libraries
Inter-operating with libraries in the JavaScript ecosystem from TypeScript introduces incidental complexity due to packaging and types. There are (at least) four different ways to import a library[0] in TypeScript, each with subtle differences. Depending on the way the library is packaged you will need to pick the correct incantation.
-
Setting up Typescript and Eslint With Eglot
Using TypeScript with
eglot
in Emacs is fiddly to set up. I also prefer usingeslint
as a plugin totypescript-language-server
so no other setup is required. Together, this makes for an extremely portable setup with minimal fuss which is the whole point of the language server protocol to begin with. -
Coming Back to Rust After 4 Years
I recently picked up rust for a personal infrastructure project and was amazed at the amount of progress on the language and tooling over the years.
-
Airplane Test of Programming Languages
The airplane test measures the (often binary) ability to write code in a specified programming language while secluded on an airplane with no internet access. It shows the programming language’s capability to unblock the programmer and is an indicator of productivity.
-
Typescript Undermines the Value of the Javascript Ecosystem and Static Typing
The way TypeScript adds incidental complexity to using libraries undermines the two most important values of using TypeScript and JavaScript. It makes it harder to use a non-typed library which adds friction to using the wealth of libraries available in the JavaScript ecosystem. It also makes the type system less valuable when you need to hack around poorly typed libraries or incorrect type definitions by casting to the
any
type. -
Initial Stack for the Noteland Web App
My initial values and principles for developing Noteland helps to narrow down some guidelines for choosing a stack for the web app: