@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.
The Hacker News comments on this article are really enlightening.
The top comment is an excellent dose of reality for some people in the Silicon Valley bubble.
Ugh, NVidia's nvcc GPU kernel compiler has some very painful regressions for us going from v10 to v11.
Our heavily optimized kernels that do molecular mechanics calculations compile just fine on nvcc 10.2 and just barely fit into the 64 register limit imposed by the launch bounds.
But for some reason, the nvcc v11 blows waaaay past the register limits by like 70%.
It's not great.
Network effects and switching costs aside, how would that social network look?
I’m thinking by now it basically should never have any version of a share button. There should be no possibility for anything to “go viral”.
And some kind of compartmentalized storage of user content, so no single party can try to data mine all of it.
I stopped using facebook a while ago, but a much longer time ago, I used to use it to talk to friends. Facebook seemed like a much happier place back then, but it’s not the same now, so I left it.
Sometimes I wonder if that old version of facebook could be resurrected, but also somehow prevented from becoming modern facebook again.
Just a place to keep up with friends. But not a place to interact with brands, or share news, or memes. Just 100% content your friends actually created themselves.
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!