Tangentially related, this post git me reading about the spectre language. In the spectre docs you write: "There is a notable lack of contract based programming languages that enforce correctness at a low level.". What is the difference between a function checking arguments and throwing exceptions and contract-based functions, apart from perhaps a more concise syntax to specify it?
The contract system allows for static propagation of trust throughout a program. If some given invariant can be assumed to hold true for the duration of a function, its clearer what can and cant happen (semantically, as opposed to doing try/catch everywhere, and then missing some blindspots, and then adding more try/catch to cover those blindspots, this is actually resolved two-fold in Spectre by using option[T]/result[T, E] on top of the trust/contract system). Moreover, type-level invariants are evaluated at compile time where possible, and non-guarded pre/postconditions are stripped from release builds for performance, meaning you can get the performance of no runtime checks and the safety guarantees (assuming you test before building with --release) provided by contracts.
"Just" is exactly made for this, and it is amazing. You write a justfile that is somewhat similar to a makefile but without the painpoints and it provides a CLI interface of commands you want to run
I was a Just enjoyer for quite a while, until I tried mise. Mise does all the same things as just, but also has source/output tracking to avoid rerunning build jobs (like make), and also bundles runtimes like asdf. It's become my all-in-one task runner of choice.
I think the make in the title is a bit misleading, the author is actually just advocating for having a consistent file you use for adhoc scripting and testing in your application.
The thrust of the article could be summarized as: if you type more than one command into the shell, make a script.
This has not been true for at least a decade for dutch buildings: there are strict regulations requiring decent insulation for new buildings. Renovating and insulating old buildings is also encouraged, but not required by law.
Insulating old buildings and especially appartment buildings is very common over here. There the amount of uninsulated buildings is so much higher. Every time I am in that part of Europe I am appalled at the energy waste.
Basically, it's something that's taken into account. The two main ways are calibrating urban stations relative to nearby rural stations, and by looking at the variation between windy and calm days, since the effects are larger on calm days (so if things are corrected well, there shouldn't be a difference)
I made something similar once, specifically targetted for guitar tablature https://tabviewer.app/
To make links shorter for sharing with others, I use a shortlink service. Pasting URLs of thousands of characters long can be problematic
It’s something about messing with reality. Obviously I can’t know this since (as far as I know) I am not a rat, but I have to believe it’s profoundly disorienting for their little rat brains to interact with VR. At least a work horse can trust its senses.
reply