I have seen the Future, and it is Not JavaScript
Programming is Not Rocket Science, Don't let AI Write Your Code (or Essays), Fight Back. If you must use AI, find provenance, and Attribute. GNU/Linux never loses relevance. AI makes it more powerful. C++ is Back.
Saturday, 4 April 2026
TypeScript in CodePen
Friday, 3 April 2026
Bun - The JavaScript Runtime used by All (Cool Cats)
Thursday, 2 April 2026
Inside the Claude Code CLI
Wednesday, 18 March 2026
PowerShell Inspired Installations using iwr
npm and pnpm - the differences
npm, the Node package manager, can be incredibly disk-inefficient. pnpm was created to be (literally) a "performant npm" sometimes also called "painless npm".
The difference lies in each others' ability to store packages.
npm duplicates node_modules per project, resulting in a huge disk footprint, whereas pnpm uses a global store and stores links to the same, resulting in 70-90% space savings.
node_modules is a directory in a NodeJS project storing third-party libraries and dependencies.
Tuesday, 17 March 2026
TypeScript for Java and C# Programmers
There is a good tutorial here.
An important point to note is that while TypeScript adds static typing to JavaScript, the underlying runtime is the same as JavaScript.
Recall that with static typing, the type of every variable and expression is checked before the program runs. This enables errors to be caught at compile-time rather than run-time (in dynamic typing, by contrast, types are enforced only when code executes).
TypeScript is not a "mandatory" OOP language, in the same way as Java or C# (wherein the class is the basic unit of code organization - all data and behaviour is contained in a class). In JavaScript, and by extension TypeScript, this constraint is not present. Functions can live anywhere. Avoiding OOP hierarchies where possible tends to be the preferred programming model.
In the spirit of not mandating classes for general programming, static classes are unnecessary in JavaScript. Singletons are also generally not used.