DHH on artificial inteligence:
Not only they got good, they got amazing. Agents are better than me at almost all forms of programming. […] In terms of comparative intelligence here, I’m accepting that I’m becoming a little of a pointy head boss here.
Just wait until you hear his other (political) takes.
It gets even worse.
Agents are better than me at almost all forms of programming.
Literally image admitting you’re that bad at your job.
he wasn’t much of a programmer to begin with and if you look at the repo for Omarchy…i highly doubt he touched most of it by hand. many scripts in that thing leave you scratching your head as to why the guy from Ruby On Rails would write that and then you realize “ah, yeah, Claude wrote this.”
it’s slop. it’s all slop. They also have well over 1000 “user made” plugins of which NONE are vetted, most are broken, and some just straight up exploit the users system. I found one that just straight up takes the users .ssh directory. It’s the wild west of idiocy amongst Omarchy users.
deleted by creator
I’m not a programmer so maybe i can’t be too harsh of a judge on this, but i’ve heard multiple programmers claim that AI writes better code than them, and i just find that alarming, cause based on what i’ve seen genAI do in every other field surely it can’t be that good right? Makes me wonder how good they really are at their craft to begin with.
I am a programmer with 25 years of professional experience, mostly embedded C/C++, with a decent amount of Python and the last year has been mostly Rust with no prior experience.
Current LLMs write both worse and better code than me, often at the same time. Let me explain.
LLMs are very good at syntax, with an encyclopedic knowledge of libraries, languages, and algorithms that is a few years out of date. I particularly notice this in Rust, which has a lot of syntax and features, like the 482ish ways to chain Options and Results that I still haven’t memorized all of.
So for a relatively simple function in a language that I’m not very famialiar with they will often produce a bit tighter code that makes better use of the language features. They will also sometimes come up with an obscure algorithm that I haven’t though about in decades or even heard of that can solve the problem better than my first attempt.
On the other hand, they are terrible at larger scale work, generally building fragile code while protecting against things that can’t actually happen, using overly complex architecture, organizing code in dumb ways, missing obvious opportunities for simplicity, and relying too much on existing bad patterns instead of fixing them along the way, etc. They also tend to be a terrible judge of when to use a library vs roll their own, leaning heavily towards rolling their own instead of just adding a single include, which means more new untested code.
On the third hand, I do find that they can be pretty good at reviewing code, and it is nice to have them write tests, since we all hate writing tests and tend to write as little as we can get away with.
Not a programmer either but I’ll throw in my anecdotes:
- I was writing a “cog” for pycord (Python Discord bot framework). I wanted a slash command to hit an API for some reason or another. Whatever AI I was using hallucinated a non-existent endpoint to achieve that so, of course, it didn’t work. I wasted a half hour reading past and upcoming specs of the API to find that endpoint never existed and wasn’t going to exist in the next release. The code was structurally sound, pretty much identical to other functions I’d written by hand, but it reached out to something that does not exist. It did this with a popular, well-documented piece of software.
- Speaking of structurally sound, there’s no real time save if I have to double back to make sure it filled in all the blanks correctly. If the AI can fuck up with an API that it should “know,” it’s a guarantee that will be necessary to correct everything when an AI has no knowledge of it whatsoever. So now time is spent making sure it isn’t referencing variables it failed to define, pointing to API endpoints that aren’t there, etc. I can define boilerplates and snippets in any decent text editor. An autocomplete plugin will fill out the entire structure of a function being defined the second I type
defand leave me to fill in the blanks - all without deferring to a water and energy sucking, data mining, douchebag of a company. What’s being gained that isn’t costing me privacy, depriving myself the use of my own cognitive abilities, and ultimately making the world a little worse off? - Last one, I wrote a bash script years ago using
exiv2to pull the EXIF data and sort unsorted photos into../YYYY/MM/DD/.directories. When the AI hype started gaining traction I tasked one with doing the same to see what it would do differently. Aside from some capitalization and variable names, it was identical. Now it’s not exactly a complicated task but my takeaway was either I’m a better programmer/scripter than I thought (not likely) or AI is just as bad (or worse) of a programmer as me. I’m leaning towards worse, considering I manage to actually know if an endpoint or variable exists before referencing it.
Anyway, the only conclusion I can draw is those “programmers” are developing unmaintainable blackboxes out of twigs and playing cards. If some big bad wolf by the name of “Intellectual Debt” doesn’t inevitably come along to huff and puff, they’ll just end up collapsing under their own weight.
just to let u know i was also doing mkdir $(date +%B-%d-%Y) recently and i thought the universe just lead me here and i believe it
Makes me wonder how good they really are at their craft to begin with.
That is exactly the point.
LLM’s are great at what they already do, they simply statistically predict the output text from an input text. This means that if an expert needs LLM’s in their line of work they were never an expert. Unless of course they are trying to brute-force solutions to extremely complex theorems were humans would take a lifetime (literally) to answer.
It’s shades of gray honestly. Sometimes they are very good (especially if you need some small tool that scratches a particular itch or want something that is 50% there right now), other times they’re extremely dumb and write horrible code. Especially of you want them to use some modern feature of your language that they don’t know anything about, or when the language in question isn’t very popular, or when the library you are using at the same time isn’t very popular, changed a lot recently and is big. They can go in circles for hours with 'wait actually …, actually …, but wait …, but actually …, ad nauseam. But when you limit them in scope, give realistic goals and constraints they more often than not work good.
My similar experience. Plan it out with clear goals and explicit behavioral tests in Gherkin. Review first.
Often I would have thought of three of those scenarios but it gave me an additional four with edge cases and full negative scenarios. I can choose which to keep or ditch.
Invest planning in architecture and enlist virtual or human review as appropriate.
Ask questions like “how well does this scale?”. “Are we painting ourself in a corner?” “What if …”
Have coding policies. Write unit tests first, make them pass and then refactor.
Enlist another agent - even from a different vendor to code review.
Create a pipeline that enlists tools that you trust to catch any nonsense. That pipeline can even include invoking another agent RAGged out to be hyper focused on quality.
Human verify commits and PRs.
At the end of the day, if you could have blasted out the same behavior with better quality then congratulations.
If you were able to create new behaviors in .1x the time with agentic assistance and awesome quality that catches the attention of stakeholders, you might start standing out as the person getting shit done.
Either way, your expertise is valuable.
for small programs that are simple to confirm that they work AI is great, for anything particularly complicated it starts forgetting everything.
Agents are better than me at almost all forms of programming.
Skill issue.
I’m accepting that I’m becoming a little of a pointy head boss here.
Dilbert fans are almost always as big of losers as Scott Adams was.
Scott Adams once made a sockpuppet account on MetaFilter to make positive comments about himself, got outed almost immediately, then claimed that was always his goal. What a fucking loser.
Just use Arch btw
Or Artix ^^
Or, for the bravest and boldest: NetBSD.
For the insane (or are they the most sane of us all?) Plan 9
For those who seek in the depths below for the bottom of the iceberg…
TempleOS
I prefer OpenBSD. everything works on that. the wifi is way better than FreeBSD and my USB headphones actually work on it.
OpenBSD and FreeBSD (and their forks) are out of the question for me. My problem with Linux is the LLM-generated parts of the source code, and NetBSD (and MirBSD) is the only active BSD without any slop in the source.
Of course you run NetBSD 🙄.
(/s)
I actually don’t yet. I’m just planning to at some point :3
CachyOS.
What’s supposed to say on behind the image?
probably “OLARPY”. a play on words with:
“omarchy”: the distro criticised for just being arch linux with someones dotfiles
“larp”: stands for Live Action Role Playing. Usually used to mean a poser or someone pretending/convinced they are something they’re not.
Omarchy
But I read O-I…RPY
Fuck if I know
I’m trying to understand the hype. Is it cause this stuff is normally a pain to configure? I thought the point of Arch was to define your own system. Why would I use Omarchy? Also every tech influencer is pushing this distro like it’s the best thing since Linux was released but the use case seems very narrow to me. Tiling wm aren’t for everyone so why are they all so excited for this? It does look sleek depending on the theme but I just don’t get it.
Tiling wm aren’t for everyone so why are they all so excited for this?
There seems to be an expectation in the Linux community that everybody who sticks with Linux long-term will eventually “graduate” to a tiling wm someday. Even though I’ve used Linux for 20 years and still prefer KDE.
KDE just keeps getting better. I’ve recently played around with Niri with DMS. it’s fun and looks cool, but eventually it’s back to KDE when I need to some work done.
In theory I really like tiling window managers. I generally want to have 1-4 windows open in full screen per workspace/monitor and prefer to use just my keyboard as much as possible.
In practice, I haven’t found one that works well with dialog, fixed sized, or modal windows well enough to not get annoying, while most traditional window managers/desktop environments have good enough keyboard shortcuts and window snapping.
And then there’s me where I seem to have a workspace for every topic or task, and I use GNOME scratchpads to quickly have single view apps pop in and out independant of my workspace (and so scratchpad brings the app to me, instead of dragging me to the app).
Ive used tiling windows before and it doesn’t really help me much. I can configure workspaces with full or split windows myself and not touch them instead swapping around using workspace shortcuts.
while most traditional window managers/desktop environments have good enough keyboard shortcuts and window snapping.
The secret that the tiling wm people don’t want you to know: with a little effort of configuring settings and setting up/learning some keyboard shortcuts, KDE can behave an awful lot like a tiling wm when you want it to … while also still behaving like a normal DE when you want it to.
Can you have an arbitrary program window open in half the screen like in tiling?
That’s kinda why I’m waiting for COSMIC to mature more. Based on what I’m doing I sometimes prefer floating, sometimes floating. So a DE where both modes are supported equally and can be mixed and matched would be perfect for my preferences.
… I haven’t found one that works well with dialog, fixed sized, or modal windows well enough to not get annoying,
This so, so much. I:ve been on Sway (and i3 before) for a long time and this is such a pain in the ass.
Most gui programs that do more than a simple window just don’t work well with them, dialogs filling up half your screen because of tiling, programs with detachable panels that turn into windows cannot be attached again because the main window doesn’t detect it (puddletag is an example I’ve came across recently).
I know I can setup some rules to make the windows float or have the correct behavior, but it’s just too much to fix every single broken dialog I encounter.
I feel like tiling window managers mostly are a throwback to an era where gui applications were generally just single windows that did one thing, but even then most people were just using them to tile a bunch of xterms. Nowadays I’d rather use a single full screen emulator that either has native split support, or tmux.
currently trying to use sway and I am finding out just how much I miss being able to alt tab through windows on a monitor
Tabbed mode basically replaces alt+tab … you could even rebind Mod+Arrow to Alt+Tab if you really wanted (if you didn’t set your Mod key to Alt).
Same I still us gnome, though I did use budgie for a while.
It appeals to the people who think a tiling WM looks cool but can’t be bothered to do the most basic documentation reading to install and configure it.
every tech influencer is pushing this distro
Not any of the ones that I follow. Perhaps that’s a signal to curate who you listen to.
You can just get a tiling extension for GNOME and it just works, or use sway or i3 there’s no reason for hyprland to exist.
I’ve been using tiling window managers for 15+ years (Mostly awesomewm but also ion/i3). I tried using the tiling extension for GNOME and it was pretty awful. Maybe it has improved since then but last time I checked GNOME still couldn’t handle multiple workspaces on multiple monitors the way I want so that’s a nonstarter for me. I’m currently using Hyprland on Fedora because i3 and sway couldn’t easily replicate some functionality I had in AwesomeWM when I migrated to wayland.
I get that gnome is quite inflexible in multi monitor mode but doesn’t bother me since second my screen is usually static and I just swap around the main workspace. Tiling extension just helps me organize them. The point was the market on tiling wm seems pretty saturated why even deal with a problematic one.
Paperwm is awesome but admitting you like gnome isn’t cool and edgy. Allowing you to flex over people who actually know what they’re doing, so it’s not good
Cool story bro. Wasn’t trying to be cool and edgy by liking something as innocuous as a DE. Unlike insulting someone over their choice of DE or WM.
My guess: because DHH is rich and slightly famous, so he can get attention. I think that the hype is completely disproportionate.
Hate the asshole but I’ll be generous. I think it speaks to a badly underserved market; a desire for a highly curated, opinionated, ‘turn-key’ solution. SteamOS is getting hype for similar reasons; Omarchy is just the techie version of the idea; someone else did the configuration for you.
Part of why I like nixos so much: makes it easy to leverage the work others have done.
I’d definitely be down for a well-maintained, Debian-based (not Ubuntu-based) distro that comes with i3 or sway out of the box and isn’t run by a chud. Configuring your distro of choice with a tiling WM by hand everytime you install on a new device or virtual machine is a chore. There’s certainly a prominent niche of Linux users who like tiling WMs, and those have a lot of overlap with the kind of user who would be interested in a niche distro.
Also, many smaller distros are explicitly anti-chud (indeed even many of the bigger ones talk positively about “diversity” and “inclusiveness”), so chud users would naturally be drawn to the few distros that are run by outspoken chuds.
Don’t know how you feel about fedora, but their atomic sway spin has been great. Rock solid with a sane, functional sway config.
Yeah, I’m not desperate enough for a preconfigured i3/sway distro to learn a different package manager. There’s also Ubuntu Sway Remix, it’s even configured without Snaps out of the box.
Totally fair. I didn’t know there was an Ubuntu sway remix. That’s nice to know.
Nah, NixOS is better since you can configure a system from one repo.
Also has the best niri and hyperland implementations
but how many of the debian developers are racing drivers
Just use ghostBSD




















