That is indeed the joke.
That is indeed the joke.
“Install Linux”, is usually a hurdle for most people. We should be willing to help with that part.
My biggest gripe is the lack of respect/understanding for the importance of data models and clear domain boundaries.
Most things that end up as “technical debt” can be traced to this. Sometimes, it’s unavoidable, because what the data models changes, or the requirements of the domain, etc.
And, it’s very innocent looking differences sometimes. Like “We know that the external system state will change from A to B, so we can update that value on our side to B”. Suddenly you have an implicit dependency that you don’t express as such.
Or, things like having enum that represents some kind of concept that isn’t mutually exclusive. Consider enum values of A and B. Turns out this really represented AZ, and BP (for some inherent dependency to concepts Z and P). Someone later on extends this to include ZQ. And now, suddenly the concept of Z, is present in both AZ and ZQ, and some consumer that switches on concept Z, needs to handle the edge case of AZ… And we call this “technical debt”.
I did eventually yes. Thanks for asking. I was exhausted yesterday, and upon reading my comment again, I get the downvotes. Being a second language doesn’t fully explain the wrong tone there. The article was a lot more insightful and in depth than I had mistakenly assumed.
After reading it tho, it seemed a lot more focused on performance than I think would be warranted. But that could be due to different concerns and constraints than where I’m used to working. I’d focus more on the mechanisms that best expresses the intent, and although they do discuss this well, the Venn diagram for the appropriate use of exceptions and error codes don’t overlap as much in my world.
And, it’s not like I’m arguing that they are wrong. It’s an opinion on a choice for a tradeoff that I only think, while allowing the possibility of being wrong, might miss the the mark. Stack unwinding is by its nature less explicit for the state it leaves behind. So it shouldn’t be a question of either error codes or exceptions, but which are most appropriate to express what, and when.
Even for Rust, where monads are preferred and part of the language to express and handle error codes, I would say that the statement of “newer languages like Rust don’t allow the use of exceptions”, seems incorrect to me. Something like panic!("foo");
coupled with panic::catch_unwind(|| { ... } });
I believe would unwind the stack similar to that of a throw/catch.
Anyways. Thanks for reminding me to actually read the post. It was well worth it, and very insightful.
I’m just going to comment on the face value of the title itself, and make assumptions otherwise.
Exceptions are control flow mechanism. I.e. that can be used for code execution flow, in the same application.
Error codes are useful across some API boundary.
Does this adequately cover whatever it is they figured out was a good tradeoff?
Alacritty is fine. If you’re not combining it with tmux and zsh/fish, id pluck those fruits first.
I’ve used DOS, 3.11 to all the way to 11. Switched to Linux as main driver around 2009. Used MacOS at work for over a year now. I occasionally boot into windows for rare game that uses some anti cheat that doesn’t play well with wine.
I’m old enough that I just want things to work. I don’t care for any fanboyism. These are my opinions:
Windows is a mess. It has different UI from different decades, depending on what and where. NT kernel is ancient. The registry is a horror show. The only edge it has, is third party software, like propriatery drivers. that’s it. And that’s isn’t a merit of windows, but rather market share.
MacOS is inconsistent at every turn. It’s frustrating to use, and riddled with UX bugs, and seemingly deliberate lack of functionality. The core tooling, like the file manager, is absolute garbage. The only good thing it has going it, is that the Unix core is solid. In that year, I’ve experienced a soft brick once, that almost was a hard brick, and the reason was having set the display refresh rate from 120 to 60 Hz. Something I changed BTW, because certain animation transitions in MacOS took twice as long on 120 Hz… Yeah, top notch QA there Apple.
Linux. It has its own flaws. For sure. But as for “just works”, it happens so often, that it’s exactly why Windows and MacOS feels so frustrating. I’d have my grandmother use Linux.
And, I’m not just saying this. When I upgraded components on windows, I spent 2 hours debugging problems. One of the problems was also that it reverted a GPU driver, where every single version information was unmistakably older. It also made it not work.
I’ve also experienced that the WiFi network adapter also doesn’t work until I download some proprietary software over ethernet cable.
On Linux? I didn’t need to do a single thing in either case. It for sure didn’t use to be this way. In 2009 I was hunting WiFi drivers for fedora over ethernet. But in the last, say 5 years, on Arch, it’s been amazing. Did I mention that I use arch?
Ps: The last 4 times I’ve had problems on Linux have been:
The quality of code available for LLMs to learn from is normally distributed with the peak around “shouldn’t pass code review”.
What experienced developers write code at would be on the top 5 percentile, and are used to their colleagues to do the same. The effort put into reviewing code, also takes that into account.
If a team member starts using LLMs to write chunks of code, the quality will at best have the same normal distributed peak as the learning data. Which is a incredibly waste of resources, as you now have to spend 10x more time on reviewing the code, regardless of how often it ends up being ok
But then again, you did comment on what the article was about. Which would make it relevant to know what the article was about.
I’m not. You implied that my point was that it was easy to write OpenOffice, or the equivalent. From the context, it should have been obvious that this wasn’t my point, and I’m not interested in entertaining such straw man arguments, and my responses tend to be rude. Apologies.
I don’t feel like paraphrasing myself either, but in the spirit of good intentions: I made the comparison that document productivity software is orders of magnitude simpler than something like Blender. If you disagree on this, that’s fine. Inferring that this means productivity software is easy, that’s all on you.
If you read what I wrote, in context. I’m sure you can get a better idea of what I meant, than what you’re implying here.
should also see what they can do to make Microsoft improve/fix their ODF implementation since it is an ISO standard. There has to be something to get that ball rolling.
The answer to this should be the same as when some standard S is implemented in software X, Y, Z. If Z doesn’t follow the standard, blacklist it until it does. That’s the whole point of having a format standard, that it shouldn’t matter what software you use.
If people, companies, institutions and governments have this stance and attitude, MS will need to compete on actual user experience, and not degrading the UX of the competition.
They’d get their shit together mighty fast. I’d expect them to lose too. Software to edit documents isn’t complicated. If we can have things like blender, which I’d say is about 3-4 orders of magnitude a greater endeavour, for which use case has the inverse potential user base, it’s pretty obvious that the only reason that MS Office is a thing (i.e. in raking in billions in license fees… 49 billion USD in 2022), is shady business practices.
It still pisses me off that in my country, when they had a group of experts make the evaluation of which document standard to follow, all experts agreed on ODF. But, because of shady MS money being thrown around, they ignored the recommendation, and went with DOCX.
The solution that solves ODF compatibility issues is to not allow applications that do not adhere to the standard. In other words, to explicitly disallow the use of Microsoft products. It’s not by accident that MS Office products are slightly fucking up documents, it’s by design.
Since many companies use MS Office, when they do a pilot to see if they can use ODF, it ends up “causing problems”. If anyone tries to use it in a mostly Office based workspace, it’ll also “causes problems”.
MS only has very good reason to always be just subtly off, and everything to lose if they aren’t.
Just be aware that windows has a bad habit of fucking up for Linux when you do. Which sounds like it shouldn’t be possible, right?
Windows can claim hardware resources that it doesn’t release properly, so your WiFi adapter doesn’t work in Linux, but works fine in Windows. Windows also (used to, at least) “correct” a boot partition, because, I presume, it sees something “unknown”. Oh, and the system clock might be off every time you switch between one and the other, because windows thinks it makes sense to write the current timezone value and not UTC.
Those kinds of things.
I appreciate that your appreciated the breakdown!
Calling people stupid and lazy in nicer words is still calling people stupid and lazy.
I think that’s a bit unfair here. What I’m saying is that expectations often seems to be that “Linux should be effortless, but it isn’t, so Linux sucks”, and then we quickly talk past each other on which aspects we are referring to. Let me make up three categories:
For users transitioning to Linux from Windows, and …
So, I assume people who just thought I was calling people lazy and dumb thought I meant categories 1. and 2. I just mean category 3. If you expect everything to be the same as Windows, and the effort required to understand the differences is too much, then only Windows will fit your needs. The impression I get is a general unwillingness to “figure stuff out”. Not knowing shit is fine, complaining and not wanting to put in the effort to know stuff… how is that not being lazy?
It was intended as kind advice without any the implied judgement of calling people dumb or lazy. If you don’t want to have to figure stuff out related to the third category, Linux will likely not be a good experience, or even a productive or good change. If you move to another country, you should make the effort to learn the culture. It’s not a good look to complain that things are different.
If I were to try to suggest “a point” with all of this: Don’t suggest to people that Linux is effortless for Windows users. Linux is immensely better, in almost every way (though mind examples in first category). But, it requires learning the basics of how shit works. It’s not hard… the information is well put together and available.
People who expect an effortless transition from Windows to Linux, are better off sticking to Windows. You are expected to be able to read stuff, and make some effort to understand it. It shouldn’t be any less than what you’d expect if going from Linux to Windows.
Many things will be different. You’ll get a long way with learning some fundamentals. If you make the effort, it’ll be well rewarded. If it’s not worth the effort, stick to windows.
This was news to me as well, but I assume that the Arch Linux logo in question suggests that it might be strange to use an Arch Linux specific illustration, for something that isn’t mentioning Arch Linux.
Did that clear it up, or were you just being rude?
Use arch with AUR, and cross your fingers that at least someone checks the changes. I sure don’t.
Politically motivated threat of violence? What was the term for this again?