iLemming
Joined 11 years ago
Joined 11 years ago
I keep thinking of maybe I should learn to become ambidexter mouse user, and if I ever have to become a VSCoder (I pray not), I still may have to. For now, Emacs and vim and reduced mouse use are working.
I don't blame you for immediately rejecting the rest of it. But do hear me out: the point about the inevitability of invention does have real support. Historians call it multiple discovery - tons of things have been invented independently - calculus, the telephone, the jet engine, to name a few.
Neural nets, GPUs, and the scale of Internet text made something like LLMs close to inevitable. Of course, we could debate forever whether any of these on its own was ever inevitable. The point is - society tolerates any cost of a useful invention for the benefit of saving time. So it's reasonable to assume this will be the case with AI as well, which is really happening as we speak.
Sometimes, people conflate Emacs crashing and hanging, the latter can happen, but almost never requires killing it - you just send `pkill -SIGUSR2 emacs` from the shell and it unblocks.
Some modern "artists" take it to the extremely provocative form, a lot of what gets mocked as lazy conceptual art is lazy not because it's offensive but because the idea could be stated in one sentence and the object adds nothing to it.
I suppose we're witnessing a new form of lazy, lame art - concepti-slop "art of coding". Which could often be described in one sentence:
> How the fuck is this even on the frontpage?
Well, it's quite simple if you think about it. Intelligence is all about awareness of the imminence of death and the finite amount of time given to any of us. So, we humans intrinsically evolved to make the most of it. The majority of the tools we create have the ultimate purpose - to save time. Even money is nothing but a way to cut some time. It's not really about time but experiences - we want to have as many and as rich as we can get, and we innately try to cut time somewhere else, so we can use what we saved for better experiences.
Therefore, inventing cars was an easily predictable event. There's not a single hypothetical timeline or dimension where humans don't end up with cars - to transport things and to travel faster. Similarly, it was always simply inevitable - we would have invented something like LLMs, sooner or later.
Cars required significant sacrifices - they are absolutely deadly machines, they kill thousands of people every single day, kill wildlife, endager our own existence, and we're kind of okay with that. I can absolutely assure you, if someone tomorrow invents a gravitational jump travel that allows moving things between continents in minutes, even with a success rate as low as 10%, we would still be using it.
So, yes. We can't un-invent cars and AI, the only way to move forward is to adjust to this new reality and extract the best possible experiences, preferably by not robbing other people of their - i.e., enjoy life while it lasts, it still remains finite.
I believe it's because of Lisp. The majority of the new generation of programmers are mostly just clueless about how Lisp remains relevant and how things in the Lisp-world are calmly and quietly getting just built, problems solved, solutions developed - without fanfare and pomposity.
The biggest digital bank in the world uses it. Nubank, using Datomic as their primary tech driver, grew from ~12M customers in 2019 to 131M in 2025 - almost 1000% growth in less than a decade. Not an exactly faithful comparison, but for JPMorgan getting to their ~80M customers took dozens of acquisitions and 150 years.
Netflix uses it. Amazon uses it. Apple uses it. Walmart built their billing system in it. Cisco's entire cybersec stack is on it. Even NASA uses it.
The number of Lisp dialects just this past decade has exploded - you can find practical, working Lisp pretty much for just about any runtime now. The amount of Emacs Lisp on GitHub alone should be at least surprising - you check the GitHub lang stats, and may think how weird - a non-general-purpose PL, that has always had one and only intent, is among some top languages, why? r/emacs subreddit gets daily, pretty much daily announcements of some new Emacs packages. The age of LLMs is now practically proving the value of Lisp. Working with an AI harness through a Lisp REPL is palpably a better experience - agents work faster, spending far fewer tokens.
It is honestly just baffling how almost every PL out there is restrictive, in the sense that they impose seemingly weird and arbitrary nuisances, while Lisp has always had just two necessities - structural editing and REPL-driven workflow. Those are the only two things anyone needs to grok in order to efficiently build with it. And even these are not hard requirements.
It gets frustratingly exhausting to dispel a constant barrage of biases. As if people just don't want to believe their own eyes to see how pragmatically commonsensical it is and always have been.
I just gave you an actual, practical example, not a theoretical one.
Here's another one. I wanted to try eca-emacs, the documentation website sits at https://eca.dev, Cisco Umbrella, for whatever stupid reason, blocks the entire .dev domain, and every corporate laptop comes pre-installed with Cisco Secure Client that you can't remove. I submitted a ticket, and then wasted my time on a ridiculous exchange with the "big security guy," who decided to take a power trip and refused to have the website whitelisted. Despite it being absolutely harmless. I don't know where the fuck he's purchased that condescending tone and posture. In the end, I said: "thank you for your time," and hoped to never ever have to talk to him. Then I set up a SOCKS tunnel through my local Linux box, installed the FoxyProxy extension, and voila - I'm never ever going to have to complain about a blocked website.
> sysadmins had the final say
And you can always find workarounds. Those who want to do something look for a way, not excuses. You're a goddamn computer programmer. Maybe act like one.
I know exactly what you're talking about. I am a die-hard vimmer and used vim plugins in every editor/IDE/browser/shell/multiplexer/WM/etc. I use vim bindings system-wide. I control my music, switch between apps, swap and resize windows - all without lifting a finger from the home-row.
I spent almost a decade living in IntelliJ. I had many direct conversations with Andy Vlasovskikh (he's the maintainer of IdeaVim then). Gary Bernhard (Destroy All Software, wat guy) once said: "there's no vim-mode, there's only Vim" in the sense that no single editor or IDE, not a single vim emulation layer properly works, they all have glaring deficiencies - to the point that it can drive any experienced vimmer truly mad.
With one notable exception. Evil-mode in Emacs is just wonderful. It's the best vim-emulation layer, to a certain degree it works even better than in Vim/Nvim. Weirdest thing - it makes you forget it's not a built-in feature of Emacs. I'm honestly very happy with it, because I don't know, otherwise, I might have never convinced myself to ever give Emacs a try.
These two ideas - vim modality and the grand idea of Lisp - are possibly the two best things that I am forever grateful to my younger self for forcing me to learn. I can't even comprehend being a professional software developer and not grokking them.
> My Emacs config file is a hodge-podge of little snippets I don't properly understand
People giving you truly time-saving advice. Use a good model to unhodge-podge it. You can even ask it to explain every single Lisp snippet it makes, to the detail and granularity level you prefer - want a big picture, please; would you like nitty-gritty details - ask no more. It's not like it's gonna build a "massive configuration" and absolutely will refuse to make it make sense to you.
[ my public key: https://keybase.io/agzam; my proof: https://keybase.io/agzam/sigs/La7qFk8YkbwfkgeSx7vkBWBba2f3HIpZyNVxUHvshbU ]