I hate meta with a passion, but I don't deny they have some great infrastructure and engineers to enable the bad things they do to the world
509 karma · joined October 13, 2024
I hate meta with a passion, but I don't deny they have some great infrastructure and engineers to enable the bad things they do to the world
In practice the data was well behaved enough and small enough that it was very doable.
There's probably a name for that cognitive bias, but I don't know it.
Being a musk supporter in this day and age isn't a simple difference in opinion, unless you're a good person who's been living under a rock, in which case a mention of musk being pretty awful could actually help you.
The people who like Musk are probably beyond help
A lot of the things they break are pretty minor cleanups and it seems they could easily not have broken things. Many other languages, even compiled languages where the explosions happen at compilation, are much more careful about these things. For a dynamic language like python it's an especially bad idea.
Python for example makes breaking changes in minor releases and seems to think it's fine, even though it's especially bad for a language where you might only find that out runtime
So if you OK the first step, I can touch a 2025/first-step file. If the script crashes or is interrupted and rerun, it can check for that file and skip the first step
If something has changed so the automation doesn't work, it's nice to be able to crash out without losing state, fix the script and rerun.
I usually have the script tell me just the next manual step and then exit, because that frees the terminal up for me to do other things. I can use the command history to rerun the script easily
So I built a script that tells me what the first step is. When it's done I run the script again and it tells me what to do next. Often the first few steps are "download this CSV from the bank" so the script can detect I've done than and go directly to the next step when I rerun the script
The reason I have a script I rerun rather than a "press enter to continue" is because it then only keeps persistent state, and I can easily do a bit every day until done
A common pattern is
if ! [[ -e checked-all-the-receipts ]]; then
echo "check that the receipts match the list of expenses, then"
echo " touch checked-all-the-receipts"
exit 0
fi
Then over time, I have automated some parts and added some checks. E.g. when I have downloaded a CSV I can check that the format looks right before considering the step done. I've added some autogeneration of documents I need, built a python script to add up transactions and check the that the totals match etcOr much technology at all. If you use anything that is 1000 years old, it's probably been maintained or cared for a lot during those 1000 years
It's a bit like asking why the army needs tanks when horses worked well the previous war
Are you talking about security updates?
Also, letting rust in doesn't seem to stop the personal attacks, case in point
If there's a lot of people sceptical to rust, doing a limited experiment is one way to figure out if it's going to work. Rust people working in the kernel should act accordingly. Drama like this is not helpful
> "suck it up, buttercup" or "I hear you; rust is gone".
where various levels of compromise happens.
Maintainers are people and people can change their mind over time. If rust was a huge success in large parts of the kernel and you still had a few holdouts, sure, you could tell them to adapt or go away. In this early stage, it's kinda up to rust people to show that both they and rust can work in this setting
Perhaps rusts potential benefits are worth it, but it's certainly possible to disagree with that
If rust ends up being mainstream successful, those people will move on to something else and start attacking rust for whatever they feel their new language is superior in
Someone should have hugged them when they were kids
You can certainly imagine ways an authority figure could have defused a situation of a maintainer blowing their stack, but your framing kinda absolves the maintainer of any accountability for their actions.
A team member who needs a lot of defusing is doing something wrong, and needs to learn how to defuse themselves.
Of course if you have epoll you probably have timerfd, wich does give you a unified interface, just not as portable