Get a 1830 variant (e.g. 18Chesapeake) and Age of Steam. Also any Splotter game (Indonesia just got a new printing). A new Brass will come to Kickstarter very soon, that could be a good choice. A pax game would be good to, Pax Pamir 2ed is a good choice.
But IMO the primitives we need are also fundamentally different with AI coding.
Commits kind of don't matter anymore. Maybe PR's don't matter either, except as labels. But CI/hard proof that the code works as advertised is gold, and this is something git doesn't store by default.
Additionally, as most software moves to being built by agents, the "real" git history you want is the chat history with your agent, and its CoT. If you can keep that and your CI runs, you could even throw away your `git` and probably still have a functionally better AI coding system.
If we get a new Github for AI coding I hope it's a bit of a departure from current git workflows. But git is definitely extensible enough that you could build this on git (which is what I think will ultimately happen).
I've spent 2 month trying out emacs and I feel like I sort of scratched the surface. It's like the deeper you look the more you realize how much more there is
My biggest revelation was when I realized how to use Emacs to learn about Emacs. Knowing where to look up function, variable definitions etc was an eye opener in my understanding of how things work and are piped together
There was a time when this was the obvious thing to do when making systems. Sadly that's forgotten. Manpages to read on cli tooling is the same thing of course. Yet people rather go to another window, the browser, and go to a ad-driven website and get the same output as the manpage would give.
These days people rather switch to a browser window, open an LLM of their choice in a new tab and in verbose English ask "how do I do X in this popular program Y?".
Then get a hallucinated answer and come to you to complain about a missing cli option, while it's literally there, in their terminal, just one -h away. True story (had to vent out, thanks for listening).
The only 2¢ I can add here is that LLMs are surprisingly good for solving tasks that involve Elisp. There's large corpus of Emacs Lisp in the wild - the amount of it on GitHub alone is shocking.
For comparison - whenever I try using a model to write some Neovim config stuff, LLMs hallucinate badly.
Using Emacs these days is so much fun - you just ask a model and you can immediately try things - not only without restarting - you don't even have to save anything, anywhere.
You can even make Emacs do things that involve tools and languages that have nothing to do with elisp, e.g., "write elisp that would open all nested dirs in a given folder, and then run magit-log for each project, searching for specific pattern... and if found, issue npm or uv pip install with arguments...", etc.
I'm a Spacemacs user, and Claude knows the difference between Spacemacs and stock emacs. It basically wrote tools for itself to hook into the emacs LSP package and look up C++ code (in our codebase, which is, uh, challenging for FOSS language servers) from gptel. I was completely fucking unable to do this via publicly-available MCP servers in the VSCode agent mode. In general I have been able to resolve a bunch of niggling config issues that I had just been ignoring in favor of doing Actual Work.
As you said, I can evaluate the elisp Claude wrote right there in the gptel buffer, try it out, and iterate before actually pasting it into .spacemacs. It it doesn't work, Claude knows a ton of debugging tricks I can try. trace-function, advice to dump a backtrace, etc. It knows how to do everything in org-mode. Super helpful. Way better than the AI Assistant that my employer bundles with our product (which is outperformed by the Google AI Overview).
I think the problem that most beginners try to explore the editor features, instead of focusing on main fundamental truth about Emacs - it's not just an editor, it's a Lisp system with a built-in editor.
I think focusing on understanding how Lisp drives Emacs can remarkably speed up the pace of learning it. Every key press and button click hooks up to a Lisp function. Even complex keyboard macros translate to Lisp command sequences.
1. Figure out structural editing commands to move s-expressions freely - those parens only feel annoying initially, later they become friendly.
2. Understand REPL-driven development - any expression can be evaled in-place.
3. Try the build-in profiler.
4. Learn the debugger.
5. Use the describe- commands. Emacs can "describe" to you every key, function, command, symbol, input methods, themes, fonts, characters, etc.
Emacs is really not about "what it can or cannot do" in general sense. It's all about "what you can do with it". Learn some basic elisp - and you will be able to achieve a lot.
I'm going to give a counterpoint to this (common) take.
I was an Emacs power user for almost a decade before I learned Emacs Lisp. I knew just the bare minimum to populate my .emacs file, and occasionally copied others' config snippets.
> Who's got a decade to spare, when they can wield the power in just a couple of months?
I was a power user within months - a year tops. I didn't say it took me 10 years to become a power user.
Ever since I learned Elisp (it's been many years), I wouldn't say my expertise and abilities has grown exponentially. It is merely an incremental improvement. It definitely is nice that I can now code away annoyances, but it's not the game changer people make it out to be.
> I wouldn't say my expertise and abilities has grown exponentially
Things always look easier only after you solve a problem, don't they?
That is a known as hindsight bias (also called the "knew-it-all-along" effect). Once you've solved a problem or seen the solution, it seems obvious and you tend to overestimate how predictable or easy it was.
There's related phenomena known as the curse of knowledge - difficulty imagining not knowing something once you know it.
"The Mythical Man-Month" - discusses on why we underestimate complexity, it explains the psychology behind it.
There's also "forgetting the beginner's journey" or the "fourth stage" of learning where skills become so automatic you can't easily explain them.
Your psychology lesson is misplaced. I know my usage before and after, and it's a minor delta. The bulk of my Emacs usage today is using features that have been in my config since prior to my learning Elisp.
If we're going to be patronizing here: Most people who learn Elisp early into their Emacs experience are failing at identifying the source of their growing expertise, and are incorrectly attributing it to their knowledge of Elisp, when in reality they are merely becoming better Emacs users due to repetitive practice.
They also have a habit of reinventing solutions that are readily available within Emacs, or as a package.
I'm not trying to snub you nor am I arguing with you - my opinions are just that - I never said they are fundamentally true for everyone. Similarly, your experiences are yours - it would be wrong to generalize based solely on that data. There was no "schooling" here, the phenomenon mentioned fits this case perfectly, I just thought someone might be interested to learn more about it, that's all. Cheers to you, friend.
On the other hand, when we critique, it is for the benefit of everyone who reads the critique and learns from it.
That's why critique has value. To the original author/artist (if they see it), but also to everyone else who sees it. "Oh, I was going to intersperse text slides with a transcript, but I remember how offputting that was once on HN, so let's skip the slides."
The article in question is written by a person who stands to benefit heavily from AI & agents succeeding. They appear to be a true believer so this isn’t a disparaging comment, but a snake oil salesman would display the same behavior.
The biggest stunt Apple pulled was making people think this is Apples new CPU designs that created the performance gap and not just buying all the production capacity for next gen fabs.
We used to get that same performance gain every few years just from regular process improvements, but this time Apple made it seem like it was Apple that made the gain and not the general world.
Hard agree. The first-past-the-post single representative election system that is the foundation of the two party system in the US is breaking the country. It encourages politics where the current winner has no reason nor expectation of compromising on anything; now is their time and they are justified in breaking everything the previous winners did. It encourages politicians to act like babies, not grownups.
And I am grateful for the ends, wish Python had them as well. Python already marks the start of every block with a :, one more keyword and the semantic whitespace madness could end.
Interesting. My very personal opinion is that punctuation like characters should be used to structure/shape code, and words/tokens should be used for expressions.
I accept that others, such as yourself, have different opinions.
I think the reason that I feel the way I do is that I’ve read a lot over the years (like, non fiction), so I’ve been heavily conditioned to look for infix characters to separate and define the shape of code, and strings of words to express things. But that may be self introspective reach too far.