Now I just need to learn to write fewer bugs on the first go and I’ll be much faster at this whole software dev thing!
Programming in rust is unlike any other language I’ve ever used. It’s intensely frustrating because of the constant stream of compiler errors.
But it’s also amazing because all those errors were generated because the compiler can see your bugs. It can see a lot more bugs than other languages can.
And rustc will *not* let you run the program with those bugs in it. Programming in rust is intensely frustrating because it actually forces you to fix your bugs where other languages don’t care.
My #Framework laptop is amazing, but I did run into one real problem so far.
My batch 1 model had bad thermal paste and was having CPU overheating issues. The issue is known and the fix is to repaste the CPU and heatsink.
I did that and the problem immediately got better! Luckily I had some paste lying around.
Thanks for the info, Nirav! 😀
Wow, the Rust nomicon just comes right out with it on atomics:
"... it is a pragmatic concession to the fact that everyone is pretty bad at modeling atomics."
"Trying to fully explain the model in this book is fairly hopeless. It's defined in terms of madness-inducing causality graphs ..."
"We would like to just write programs and have them do exactly what we said but, you know, fast. Wouldn't that be great?"
@cuchaz That's the Crockford's JSON license. He actually had to make an exception for IBM, at their request they and their customers are allowed to use the software for evil.
I just encountered a software library using an otherwise plain MIT license except for one small addition:
"The Software shall be used for Good, not Evil."
This is the first time I've seen something like this and I absolutely love it!
It's a no-op for hobbyists, researchers, etc, but an absolute poison pill for any organization serious enough to have a compliance department.
Fun adventures in Rust continue!
Apparently Rust is severely allergic to dynamic linking, which makes things like plugin systems very tricky to build. It's not easy to get working, but it does appear to be technically possible, with a lot of caveats.
Unfortunately, that allergy means support for dynamic linking in tooling (like CLion) isn't very good.
I submitted an issue to the intellij-rust maintainers. Hopefully some good will come of it!
Also, this oldie goldie from SMBC really fits in here.
And this is a big reason why I keep trying to be an entrepreneur.
Because if I become a normie and get a "Real Job", the optimal strategy is to slack off as much as possible without getting fired. Because the workplace meritocracy is all bullshit. Your employer has a HUGE financial incentive to pay you as little as possible and your effort won't change that.
And I just can't not care about my work like that. I want to spend my work time doing something I actually care about.
Wow, these comments are pure gold. The job market for software engineers is really messed up in a lot of ways.
Today's non-stop soundtrack:
Warning: Lots of metal. Much loud. Many sound. Wow.
The rust stdlib documentation, folks:
The example code for a BTreeMap is "Tracking the inebriation of customers at a bar".
Wow, the Java Development Kit (JDK) is only *just now* starting to consider implementing compatibility with Wayland on Linux.
Wayland has been in development for many many years now, and major Linux distros use it by default now. Seems a bit late.
Great overview of modern and effective error handling in Rust:
In a nutshell, creating and propagating errors benefits from one set of tools. Consuming and reporting errors benefits from a different set of tools.
The stdlib tools in Rust are a great error-handling primitive, but really needs some more features to be effective in real libraries and applications.
I am my own grammar police. =P
Communicate asynchronously rather than synchronously.
Store knowledge in a document repository of some kind, instead of people’s heads.
Ideally, do both at the same time.
Fantastic advice for running a distributed team who’s work outputs are purely informational.
“To be useful, the write-up of a call takes more time and effort than the call itself.”
There's also lots of comments from upset founders because they might only be 10% less rich after the changes. Going so far as to say they wouldn't found a company at all for only 90% riches.
I'd say it's working as intended then. Those are exactly the people I'd rather have do something else with their lives.
If more people started companies because they want to live in the world that has their company's products, rather then just getting insanely rich, we'd all be better off.
Building products using embedded electronics. Or trying to.
This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!