Notes and links compiled while listening to talks.
https://www.youtube.com/channel/UCIEB4YTb873fpFi7vyi_p0w
My last few bits of code have all been CLI tools. CLI tools usually consist of imperative code that is hard to abstract and hard to test. Because they tend to perform many side-effects, test cases have to take extra steps to achieve good isolation.
ESLint is pretty slow, especially after adding a bunch of plugins.
Today, I happened to notice that on my project of 8 files, it’s equally slow with the whole project as it is with a single file — 3 seconds. This led me to believe that most of the time is spent loading…
Nowadays, it’s important, when writing a new package, to ask where the code should be able to run. With many popular packages supporting both environments as well as the prevalence of compilers, the cost-benefit of…
Most of the time, HTTP interactions take the form of a request followed by response, which maps well to a function call and its return value. But, when it comes to also being able to handle protocol upgrades, that abstraction immediately breaks down.
When I choose a programming abstraction, I try to minimize the amount of additional knowledge a developer needs in order to use the abstraction.
For example, for HTTP, requests and responses look like:
GET / HTTP/1.1Host…
After taking a look at how Deno allows directly running or importing code via arbitrary URLs, I got to thinking: that’s a pretty nice way of handling dependencies. It allows me to get up and running without even needing to deal with a package manager; after all…
It’s been a while since I’ve last done a new Node.js project. I usually work on browser-based applications supported by a server and build and test tooling. Sometimes, I work on tooling that tries to improve the developer experience of such applications. Sometimes, I distill…
And therefore also in Vim
Just now, I was looking for a way to format an SVG file.
My first thought was to look for a CLI tool published on npm and then run it with npx.
npx