Not the great rebuttal you think it is... AI isn't really about writing code that I couldn't write. Unless you're a beginner it is absolutely not at that level yet. It's about saving time.
Which it definitely can do. Especially for one-off tasks. For vibe coding projects my experience has been mixed. AI seems pretty good for getting things going, especially in areas you aren't familiar with (e.g. I wrote a simple Chrome extension with it; never written a Chrome extension before). But after a certain point they seem to get stuck in a muddle and you basically have to stop using AI, fix all the code it wrote badly and continue yourself.
But overall it can still be significantly faster than being prideful and doing it all by hand.
Much better than most of the standalone Git GUIs, even the commercial ones.
However I don't actually use it, because I use VSCode and there's a great extensions called Git Graph that integrates nicely into it. It is abandoned unfortunately but it still works fine so I still use it.
Here's my rating of all the Git GUIs I've tried (that I remember):
SourceTree: works ok but just so incredibly slow.
GitKraken, SmartGit, Tower, Sublime Merge: Commercial and I don't like the UX of any of these.
Git Extensions: This one is actually really good. Terrible name though. Also kind of Windows-only.
GitX: This is also really good but unfortunately it's one of those pieces of software that has forked into dozens of half maintained versions that you'll need to spend hours in phpBB forums figuring out which one to use (like TomatoUSB). Also Mac only.
I never tried Magit because TUIs are dumb.
Also don't listen to anyone that says "just use the CLI". It's okay once you've learnt how git works, but even then you're still going to want a way to view the commit graph. Learning Git without a GUI is needlessly masochistic. Once you have learnt it you can start mixing it up with the CLI.
He also thought that Rust integrates poorly into project with a deep C++ OOP hierarchy. That is probably still true as well.
Is there any language that can do that? As far as I know there isn't. You can use SWIG or whatever but it's just as awful as any Rust/C++ interop. There's Carbon, but that's a work in progress.
IMO if you need integration with a deep C++ OOP hierarchy your options are a) give up and just use C++, or b) pain, no matter what language you target.
The connection column indicates the connection used. USB FS stands for the usb full speed protocol, which allows up to 1000Hz polling, a feature commonly advertised by high-end keyboards. USB is the usb low speed protocol, which is the protocol most keyboards use.
USB Low Speed allows 1kHz polling too. I don't think you gain anything at all from High Speed. Keyboards probably only use it incidentally because the chip they are using happens to support it anyway.
Huh I was under the impression that you could limit it to specific applications and dbus would tell kwallet the path of the application making the request (which could be done at least vaguely securely). But upon further investigation it just uses the "appid" that the app reports which it can apparently set to anything it wants. It's difficult to find information about this stuff though. D-bus is not very well documented at all.
I was thinking you can just start the app that has permission to read the wallet, attach a debugger and then inject code to dump the wallet. It's definitely more complicated than reading a plain text file but not fundamentally less possible.
But really if you have that level of access it's game over anyway and you just MitM sudo and get root access, or use one of the many local privilege escalation vulnerabilities and get root immediately.
They should be keeping them in something like kwallet. But in practice they don't because a) there isn't really a single standard for that on Linux (yeay, I have to support gnome-keyring too!), b) it's a lot more work than using a plain text file, c) the UX is considerably worse, and d) the security benefits are marginal at best (especially if you have full disk encryption).
Yeah you probably can't do to much more to pwd or yes or whatever (yeah I know about the silly optimisations). I think once you get much beyond that there are always more features you can add. Even for something like cd, people have made fancier versions with fuzzy matching and so on.
Nah it was eternally annoying that it didn't support Unix line endings. Also there are clearly a ton of basic features that people want from lightweight text editors.
Experience has shown that having a map as your only data structure is definitely a mistake. It's much better to support real arrays too. I doubt it would have made the implementation significantly more complex either (maybe even simpler for luajit).
If you think you need this you're doing it wrong. Nobody should be writing bash scripts more than a few lines long. Use a more sane language. Deno is pretty nice for scripting.
In my experience unless you are pretty much immediately popping the stash it's much better just to make a branch and do a normal commit. I would recommend avoiding git stash in general.
To be fair they are definitely improving. It feels pretty incremental at this point though. I think we need one or two fundamental breakthroughs before we're going to see programmers actually out of jobs. E.g. if they find a way to do real on-line learning, or a way to stop the hallucinations.
Oh that reminds me. I wouldn't recommend PIC in the 21st century but there's a really cool project called BIO that is an open source alternative to Raspberry's PIO (programmable IO). It's RV32-E with custom x16-31 registers that control the pins directly. Very neat idea.
Not the great rebuttal you think it is... AI isn't really about writing code that I couldn't write. Unless you're a beginner it is absolutely not at that level yet. It's about saving time.
Which it definitely can do. Especially for one-off tasks. For vibe coding projects my experience has been mixed. AI seems pretty good for getting things going, especially in areas you aren't familiar with (e.g. I wrote a simple Chrome extension with it; never written a Chrome extension before). But after a certain point they seem to get stuck in a muddle and you basically have to stop using AI, fix all the code it wrote badly and continue yourself.
But overall it can still be significantly faster than being prideful and doing it all by hand.