Mine is that the useState hook is an actual plague on the entire React ecosystem. Regardless of your opinions of React, if you wanna use something then use it right.
The entire modern web tech stack should be thrown in a dumpster, ignited with gasoline, and blown up with a nuke for good measure.
I’ve talked about it before, but I really hate PDFs. Specifically the things PDFs are used for. If you aren’t planning to print something and will only ever look at it on a screen, HTML is better. It’s so frustrating when you’re going to a website, you know, a thing that serves content in HTML, and then some piece of information is in a PDF.
If you’re sharing graphical elements then I prefer pdfs when you know it’s final, and you want to make sure people see it how you intended, and you want it to be vector format. Similar thing if the information is some complex format/layout. People can zoom in instead of having their device messing it up.
But I agree on simple contents like documents, tables, and such
A PDF file being “final”, displaying the same everywhere, and being reliable is a myth.
I have never worked with a messier file format, and I have seen many PDFs displaying in as many ways as I have applications able to view PDFs.
Cloud computing is the biggest breach of privacy out there that we’ve adopted whole hearted.
There is no cloud. Just other people’s computers.
Also, I would say that AI has probably one-upped cloud computing in that area.
Having worked at one for a for a few years, I can’t say I agree, nor do I technically disagree either.
Theres nuance.
Theres nuance.
There’s also an apostrophe. Or not.
Linux should be forked at a pre-ai date.
if you’re making a user-facing program, you should always design with the possibility that it will be run on some truly dogshit hardware and you should make sure that they still have a good experience. good computer hardware is a luxury on the world scale, even before the rampocalypse
related, but the answer to the question “who still uses {x} these days?” is almost always way, wayyyy more people than you think
If you don’t prematurely optimize your code you’ll never optimize your code.
I know people are advised against premature optimization because it risks you wasting time on something that ends up unused.
But let’s be honest, once you get something into a working state will you ever be afforded the time to go back to it? Even if you are, are you really gonna choose to uproot code and do a refactor on it and potentially everything relying on it?
Rather than waiting until your hacks and workarounds run out and you absolutely have to do a refactor, I would prefer spending more time upfront to make sure it is efficient and flexible before moving on.
Getters and setters are ridiculous
the horrors of object oriented programming
I don’t like working with them any more than you do, but they’re necessary to enforce read/write-level security. Without them, there’d be no differentiation between reading a variable and writing variable from an external class, which kinda defeats the point.
From a development standpoint, they’re an extra hurdle to clear. From a security standpoint, they’re a necessary evil.
Moreso correctness, not security. In the end, your user is shooting themselves in their foot, if they mutate a variable that they shouldn’t, and by making the variable private and only offering a getter, we document that.
Having said that, there’s also big differences between languages and paradigms, though.
In object-oriented / garbage-collected languages, you often pass around references to an object into so many places that you need to code defensively versus your own codebase. That’s why getters/setters were taught religiously during the height of OOP.In other paradigms, you often just have one place that uses an object and then you can …simply not shoot yourself in the foot there. When you control both the definition and the access, you don’t need to protect yourself from yourself. In particular, you would probably think twice before mutating an object anyways.
Damn, I was gonna disagree but you bring up some good points.
I really need to get into functional programming.
Functional programming is definitely worth a look in this regard as well, but what really drove this home for me is Rust.
Its ownership+borrowing concept is exactly that, it enforces that you’ve got one place where an object is managed and in particular mutating can only be done in at most one place.
Obviously, there’s also ways to get out of that, in case you do want some memory managed centrally, but it just isn’t the default.
That’s why people invented properties / auto generated getter/setter - in at least 95% of cases they are just busywork.
systemd does a lot of things very right and a mayor reason that linux is in a way better place than 15 years ago. 27 unmaintained tools are not better than one that is professionally developed.
systemd has me in two places. Like, on one side, it’s just SO much better and easier than the rest - at least to me, someone who doesn’t work in IT and just wants his stuff to work. On the other, init freedom is essential, and we need the alternatives to stay alive.
APIs generally don’t need many alternatives, only implementations do. There’s no reason devs should be trying to provide init files in multiple formats. If the systemd team actually did something bad, then people could just make a different implementation of systemd without requiring a different format for init files. Arguing for more init systems is like saying we need more APIs to compete with both Wayland and X11, instead of just talking about implementations of those protocols.
Systemd solves a very important problem that was defined extremely well.
It also solves it badly, and solved a whole lot of other badly defined problems that it shouldn’t.
This is my argument. Do init. Don’t pull in literally everything else because you think you know better, like system logging.
Init needs to do system logging when you want to collect it from the daemons stdout, which is the logical place to collect it from. Havin apps handle their own log files is a bad time at best and dangerous at worst.
You are correct ,but again you can just send it to syslog. Just one example of the overwhelming scope creep of systemd.
Recently I’ve been doing scripts on top of systemd to do hacky things with my system and so far I really like it
Rust is the easiest programming language to learn.
Granted, I’m autistic, but still. I found it far more intuitive than JavaScript or Python.
Bonus: HTML and JavaScript are evil and I hate webpages that use it. Thats pretty much all of them, to be fair, but markdown websites do exist and I love them
Using LLMs are not the same as using intellisense or compilers and there are a myriad number of reasons not to use it that could fill an entire book and I will look down on any company or freelance developer that uses it.
Yes I’ll fight Linus over this and yes I’ll be right.
Fight me (Not literally) LLMs used to give garbage output but nowadays they are actually good and if given in the hands of right person, it can increase the productivity.
You might say productivity increases but salary dosent but that is a mangement issue and does not make LLMs bad.
“LLMs are non-deterministic and often create bugs that weren’t there before with no accountability, and are therefore different from compilers.”
“Well, they used to do that a lot, but they hardly ever do it anymore. And besides, the bugs aren’t hard to spot.”
“That doesn’t change what I – whatever. LLMs cause your skills to atrophy.”
“Not if you use them smartly. Like I do. I’m proud to say I haven’t written a single line of code in over a year. In fact, I barely even read it anymore. But I make all the architectural decisions, and therefore, even though I haven’t even verified that the code does what the LLM says it does and blindly trust the unit tests it writes to catch any bugs, I understand the code perfectly and have not lost any skill. I could stop using it tomorrow if I wanted to. But why would I, when it’s so useful?”
“Datacenters burn natural gas and pollute the environment! OpenAI and Anthropic both give their technology to the military to make self guided bombs! The number of suicides directly attributable to LLM interactions is climbing by the day and none of the LLM companies care!”
“You really can’t accurately speak on whether LLMs are good or bad unless you’ve used one in the last six months.”
“…”
“They’re really useful now.”
Every issue I have with the tech has nothing to do with how “useful” it is.
I’d even argue it’s only useful in the short term, and extremely harmful in the long term. Not just because of it’s fascist origins, but because developing it further is accelerating climate change unnecessarily when we direly need to do the opposite. Climate change will rapidly undo any of the good LLMs manage to accomplish.
No one’s salary went up when we obsoleted all the people calculating stuff. Actually I’m pretty sure salaries go down when work is automated
They have to go down, it increases the supply of workers, reduces the bargaining strength of people seeking work
Isn’t this the most common layman’s opinion?
It’s the most common internet opinion, but IRL people use it without a second thought, and will get annoyed if you call them out on it.
EDIT: I don’t think this post was talking about laymen to begin with.
There’s a reason.
Yup, and I don’t care about that reason. It’s still an irresponsible technology.
I dunno, I see a lot of people defending Linus even on Lemmy.
It’s also the opinion of people who don’t make a habit of drinking the special koolaid.
It as in LLMs or it as in intellisense?
Most likely LLMs. Most people only warn against intellisense for initially learning coding, or if they work in academia.
Why would anybody be against intellisense? Even for those use cases, it’s helpful. (Excluding the code completion from LLMs included ofc)
I remember on Reddit several years ago I said that automatic bitlocker is the curse of installing W11 on a laptop.
I got down voted so hard. One comment even said you should be thankful because encrypting by default should be the norm.
But yet if I add any thunderbolt device to my windows before I boot it, it requires me to input my 25 character bitlocker key… that’s hosted online within my Microsoft account.
Bitlocker enabling by default without user input is horrible. Hosting the keys online is also horrible. It could be so easy to socal engineer into your Microsoft account.
Firefox is a good browser
If a browser does not support unlock origin it is worthless. So Firefox wins by all opponents willfully exiting the race
This was my central argument when they tried to take away my Firefox at work.
Firefox is good, Mozilla is bad
You know what, I’ve been a Firefox user since the days of beta Phoenix. I’ve expressed your view for years now - Firefox was great, but held back by a commercial org that wanted fancy SF offices, fancy SF compensation etc.
But I tried out Helium a little while ago and in truth, I’m not sure Firefox is all that good these days. Helium is basically ungoogled-chromium + extension support + super lean UI.
The upside is that you no longer have to contend with sites that have given up on Firefox testing. The downside is manifest v3. But all in all, I find it a better browser. Firefox is so busy telling its story, and finding revenue, that it just seems to have left behind product market fit.
Mozilla has totally lost their way. But using any chromium-based browser is still bowing down to Google’s near monopolistic control over web ‘standards’.
Using the blink engine, even in a ungoogled browser, still gives google power and is immoral.
It’s the only non chrome browser
There’s niche WebKit browsers too, like Epiphany. Also Ladybird in development, but that went full AI slop AFAIK.
Safari? I’m not suggesting you use it, but it does exist.
We don’t acknowledge the existence of proprietary blobs here
I’d care if they had a Linux version
How about the KDE ones?
Well, there are forks of firefox like floorp, zen, waterfox, etc. but i guess they might still count as firefox, because they are forks and not built from the ground up, only using the gecko engine from firefox.
Calling them forks is, in most cases, wildly too generous. They are derivatives of Firefox. They develop and maintain a few features, but they ar completely dependent on upstream for general progress.
It is though
I do have to put up with an unsupported browser banner on government websites (which work perfectly)
This would not cause the reaction in the picture lol.
“Your website has a bug”
“well DId yoU TRY IT in a nORMAl BrOwseR?”Every. Damn. Time.
Firefox has single-digit market share.
Single digit can be 0, 1 or 9,9%.
10% market share wouldnt be half bad. ¯\_(ツ)_/¯(PS: I didnt read the link because I don’t care enough. I use it, and am fine with it)
You should not be using AI at all. https://survey.stackoverflow.co/2026/ai
The
unlesskeyword is an abominationx = "I disagree." y = false puts x unless yI miss it when writing python.
Specifically I hate it as a prefix. It’s even worse when else clauses become involved!
x = "this is great" y = "this is awful" z = false unless(z) puts(y) else puts(x) endIn that case it’s just a synonym for
if (not z)yes, and? Having to translate
unlesstoif notis basically exactly why I hate it. Just writeif not
Despite this being the perfect spot for one, I’m not a fan of ternary operators but syntax isn’t supposed to matter…
Since we’re going for unpopular opinions or hills to die on: if syntax didn’t matter we’d all be using Ada.
-
C++ is an awful language overall.
-
Linus is just some guy with good programming skills and not an authority over anything tech.
-
There aren’t any good text editors in the wild. VSCode is awful apart from extension support. Kate is close to being perfect but lack of extensions are pulling it back. Vim, Helix, Emacs, NeoVim are all flex toys.nvm just tried zed with AI disabled -
AI bad
Linus is just some guy with good programming skills
I somewhat agree. Most celebrated personalities in tech aren’t programming geniuses - they were in the right area at the right time and had some luck. Zuckerberg is a good example.
I think kernel maintainers and rendering engines (browsers and others) have a higher base skill level. Like some web developers are clever and some are stupid, but I don’t think there are stupid kernel maintainers.
The thing with Linus is that he’s been involved, and at the pointy end, for decades. You or I may not agree with him on every issue, but you can acknowledge that he has experience and he has connections.
I have massive respect for the guy. He did so much for the open source community. But for some reason everything he says is interpreted as inarguable truth by most tech guys.
For example his opinions on AI are pure trash and bootlickery. Which is fine anyone can think anything. We just have to think for ourselves a little.
I agree that everyone needs to think for themselves, absolutely.
However, I struggle with this and it’s kind of what I’m getting at:
his opinions on AI are pure trash and bootlickery
Firstly, you’ll be hard pressed to find someone who hate’s AI more than me. It literally keeps me awake at night. I hate the environmental impact. I hate the people it’s enriching. I hate the work it’s stealing. I don’t often use the word “hate” but it really does apply here.
That said, I always try to defer to the opinions of people with more experience than me, and as regards kernel maintenance and Linus, that’s certainly true.
You’ve probably heard of the Dunning-Kruger effect. I know a bit about code, a bit about FOSS, a bit about linux, AI, and communities. So it’s easy to underestimate the yawning chasm of experience and knowledge between myself and Linus.
That doesn’t mean we have to blindly accept the opinions of others (I honestly haven’t accepted Linus’ opinion myself), but I’m aware of the profound discrepancy between my opinion and his and it concerns me.
All that aside, is it possible to acknowledge that something is the correct course of action even if it’s not the ideal? I haven’t been following the Linus / AI thing, but as I understand it a project like that kinda has to allow AI bug reports because threat actors will certainly be using AI to find exploitable bugs.
My argument against Linus would be that the non-LLM tooling is auditable and known. I know I can trust all the tooling below it and only read your code, but with LLMs they are explicitly trying to replicate good looking code and can generate a ton of it, so it becomes incredibly difficult to actually audit.
Again this is part of the discussion about Linus decisions which has been had ad-nauseum.
With the greatest respect, responding to this comment would be to engage in a discussion of whether Linus is right in this particular instance. I’m not willing to do that because I’m sure that’s a conversation that’s been had a billion times.
I was / am happy to talk about how we injest the opinions of experts in a more general way.
it gets down to whether experts are experts at everything. Linus is not an expert at anything outside of kernel maintenance. His opinions on whether we should use LLMs are null and void considering the massive effect on the planet. It’d be like if a nuclear engineer said we should be building more nuclear bombs for everyone to use, just so they could use nuclear engineer more freely. Like, their opinions about nuclear energy might be fine, but their opinions that have an effect on the entire planet are completely wack.
That’s a really good point. There’s loads of examples of this, like doctors don’t give good nutrition advice, et cetera.
He doesn’t really need any latitude to offer an opinion on whether these tools should be used on the Linux kernel.
Whether you should use an LLM to plan your shopping list, or understand your toddlers behavior, is not something you should listen to Linus about.
injest
Could you be serious, though?
Upvoting because I disagree with every word of what you wrote.
That’s the point lol
Zed sucks in many of the ways that modern editors suck.
Autocompleting on characters that appear in code, and autocompleting in a way that overwrites the code you have already written are two incredibly stupid decisions that put a mark over any tool that adopts any one of them.
But then, Zed almost working, but in a way that still sucks was enough to motivate me into setting my Emacs properly, in a way that doesn’t suck. So Zed gave me a good editor.
VSCode is like the worst fauxpen source ever.
I wouldn’t say that vscode is awful. It’s not good though. Even while being the best.
To add: jetbrains IDEs are awful
Yeah bloated privacy nightmares.
All authorities are just some guy with good programming skills. The giants on whose shoulders we stand were mostly rich guys who had the privilege of screwing around. I prefer the original definition of genius - not a quality that a person possesses, but an external spirit that comes and visits you.
I like Nano :)
Give micro a shot
What makes it better/different?
Well yes obviously; Nano is perfection but is normally left out to give the other text editors a chance.
I find it so weird that vi and/or vim is included (at least what I have seen so far) everywhere but not nano.
vi is so not intuitive
Zed is actually a pretty good editor IMO. Miles ahead of Code at least
I thought zed was just a slop focused Code fork like Cursor?
Not a slop fork, they wrote their own rust graphics compositor, 10/10 will shill until they go shit heel
It really is remarkably better than Code. Single-window, multi-repo, multi-worktree support? Not a problem. Want a closer look at the diff? Why stop there, you can maximize every single panel. The Git integration is also so much better, no extensions required. Lots more stuff is integrated, yet less setup is required and somehow it is still much faster than Code.
You can really tell that a ton of thought went into this IDE
I’ve not even gone that deep with it, just writing code to keep my trash can purring along. It’s smoooth, responsive, everything is intuitive, and the language server support is 🤌
Nope. It’s written from scratch in rust. Not a fork at all.
If you do not want the AI, gram editor is a fork that works well
I just tried out Zed and the way it does extensions and services is so awful from both a security and configurability standpoint I ended up immediately switching back to Helix. At least Gram is an option if you want one that’s GUI-first and it doesn’t automatically download random shit.
That information about text editors is out of date - we now have Zed. Just ignore the “AI integration” bs, it’s entirely optional
Do they collect data though? This is important. If not I might give it a shot.
And also when you don’t use AI, can you disable all AI UI features.
It’s opt-out telemetry sadly. I’ve been tempted to make a PR to make it op-in
Zed is totally open source, and the AI “features” are optional. When you set it up - at least when I did - it’s one checkbox to disable. I don’t remember about the telemetry you will have to have a look, I’m usually ok with that myself.
I came from VSCode and haven’t found anything I miss. I especially don’t miss the poor performance of VSCode, Zed is extremely lightweight!
I miss C# support, but I also think vscode’s solution for that was shit too
Also checkout Gram on Codeberg, it’s Zed with all the AI trash and telemetry removed.
Right now I use Helix and I’m trying to decide whether to switch to Zed. Because it almost looks like a better editor at this point, except its configuration is not as declarative as I’d like and its AI service uses a bunch of closed providers.
Agree with half of that. C++ is last century stuff and should be replaced. Any new code in C and C++ is immediately a vulnerability.
Atleast C is easy to understand which makes it easier to find and fix vulnerabilities. C++ feels like it’s duct tape holding it together.
C is easy to understand and find vulns? AI is uncovering decades of vulns in C code that humans hadn’t seen since the code’s inception. And they aren’t logic errors but memory management errors. Not a single day goes by without a CVE in a C/C++ project about memory management.
Both languages are walking vulnerabilities.
What makes you think C++ is awful?
The intention of C++ was to be C’s replacement by adding objects into the programming language while also maintaining the fast compilation and runtime that came with C. In the end it resulted in longer compilation and runtime times (from the millisecond scale to seconds scale), which made it generally unappealing for embedded systems.
On a production code standpoint, if were comparing it to something like python, it is debatable, but there’s just a large learning curve associated with the language that could otherwise be avoided with a different OOP language. By trying to accomplish everything, it fails to implement everything well to compete with other languages.
Don’t most people who use it try to avoid like 90% of the core language features
It’s painful to learn and set up. Looking at other people’s code is horrifying. I looked at a portion of Godot code and the amount of headers defined is actually retarded. A lot of the c++ function names are a remnant of not well thought out ideas. It’s also normal to have thousands of lines of code for a small portion of a small project?? The only way I see it being used is through vibe coding. You can’t tell me it’s easier to look at someone’s C++ than their Python project.
-


























