Irrelevant but spreadsheets have always struck me as one of the most beautiful pieces of software that we use. Automatically updating calculations, programming logic complex anough for most ERPs, using it is a database, easy organisation of data, graphs -- it has it all. From both a user and developer perspective, they are one of the most diverse tools on a computer. MS may make terrible software sometimes, but damn it, does Excel run the world.
And absolutely unique failure methods that no other languages exhibit.
How often you had a formula like SUM(B1:B20), and then someone added item 21 and suddenly the output is just slightly wrong? Or perhaps someone updated the formula but did not propagate the change to the last few cells?
There are no error messages, no warnings, just an output which is slightly wrong. Wrong enough to break whatever it's going to be used for, but close enough that cursory inspection does not notice it. Basically the worst failure mode an app can have.
Spreadsheets _could_ be beautiful if no one were to use them for tabular data. But people do, so they are a really horrible programming language. I bet people spent thousands of years of their life fixing spreadsheet mistakes that could not have happened in any other language.
Spreadsheets are one of the ugliest pieces of software that we use. Pretty much all of the paradigms spreadsheets enforce would be considered abhorrent in any other context. Excel needs five hundred megabytes of memory just to load a blank sheet. Vendor lock-in is just tolerated as a fact of life, as is the lack of a real way to integrate with version control, and a lack of human-readable source files. If an engineer came to you and said “So for this project, I put all the code, input data, output data and comments scattered about one big two-dimensional array with no type safety, no portability, no scalability, no security, no variable names, no code re-use, no unit tests, no integration tests, no abstractions and no error handling”, you would fire him on the spot, but that’s basically normal for an Excel sheet. There is not an ounce of elegance in MS Excel, and trying to integrate with PowerApps, PowerAutomate or PowerBI only makes things worse.
> If an engineer came to you and said “So for this project, I put all the code, input data, output data and comments scattered about one big two-dimensional array with no type safety, no portability, no scalability, no security, no variable names, no code re-use, no unit tests, no integration tests, no abstractions and no error handling”
So, how is this different from engineers and MATLAB?
There are people who start new projects in MATLAB in 2025 for reasons other than ‘our expensive bespoke libraries only support MATLAB and it’d cost millions to rewrite them’?
There is also all the helpful work that Mathworks does such as Simulink ...
Also, consider that MATLAB works much more like how one would write on paper (including 1-indexing) and is what people are used to at this point.
> Interviewer: “What happens if you allocate memory with C’s malloc and try to free it with Rust’s dealloc, if you get a pointer to the memory from C?”
> Me: “If we do it via FFI then there’s a possibility the program may continue working (because the underlying structs share the same memory layout? right? …right?)”
I see it as beautiful the same way Galadriel would be beautiful as the Dark Queen. Utterly captivating and powerful, and yet something that should never be.
My first thought was that this was done with consideration for mobile phones, since many higher-end models use 120 Hz displays, but Ladybird does not seem to support mobile for now.
> Websites using requestAnimationFrame now render at up to 120Hz on supported hardware
But the phrasing of it about "can now" suggests to me that this may simply be a performance issue too. They changed it from 60 to 120. Perhaps in the future they can go from 120 to 144 or even 240.
> the future of SQLite is basically guaranteed on account of being open source
I am not concerned with whether it has a future. But I do fear that the absolute manic focus on code quality, testing and support may take a dive when other programmers take the helm. I am not claiming that there are no developers who are equally careful and/or skilled, but whether the culture of SQLite will persist is, to me, still an open question.
To expand, SQLx isn't an ORM or query builder, what it does is allow you to write raw SQL with compile-time guarantees of type safety. It does this by connecting to a dev database at compile time & uses SQL's introspection features (specifically, by preparing a statement[1]) to analyze your queries. (It can also cache this information to check without a database available, and has a basic migration facility.)
I have been experimenting with rendering fonts in Rust lately. I was pleasantly surprised by how simple reading the ttf file format is. The hard part, of course, is actually doing everything with the bezier curves and contours and filling the insides etc. But if I were to just be working with straight lines, I already have everything I need. Indeed, I used MATLAB's `patch` to quickly check my progress and see the major bugs in my rendering implementations, and got there within a couple hours.