The Emacsification of Software

(sockpuppet.org)

81 points | by rdslw 12 hours ago

14 comments

  • morpheuskafka 7 minutes ago
    This article hints at what I feel is one of the not-yet-realized transformations that LLM coding brings: can we finally drop Electron/React Native and just have LLMs automate the work of transforming Figma/wireframes and behavior specs into truly native apps for each platform?

    For CRUD apps, the API spec and UI mockups -- or even a photo of how it looks on the already coded platform -- would go a long way. That's exactly the kind of well defined task work LLMs do well with. It should be possible to automate a lot of the equivalence testing too.

    Is there still an excuse for "maybe we'll add Android someday" or "not enough Mac/Linux users"? And is there still a justification for not building those less-used flows like password reset into the iOS app instead of throwing up random WebViews?

    For those apps that do have non-trivial logic on device, LLMs have shown a lot of promise at rewriting to cross-compiling-is-easy languages like Go or Rust.

    • tptacek 2 minutes ago
      Yes. You can do that. It works right now. It works really well.

      My original spicy take is: why learn SwiftUI at all at this point? It's a skill that, for most tasks, falls into the same kind of bucket as "learning Microsoft Word really, really well". I appreciate people who take the time to do that, but the outcomes are within millimeters of each other whether or not we do that.

      I don't think that's true of programming generally. But I think there are languages now where the rationale in specializing in them has gotten, hrm, more complicated.

  • shaokind 1 hour ago
    I've absolutely engaged in making personal software [0] thanks to the age of LLMs.

    But to be honest, my time using Emacs didn't teach me to "build personal software". My Emacs set up was extremely brittle, and it was a nightmare when I tried to use it across Windows & macOS. My university project was written using an unholy combination of org-mode & some workflow to create a beautiful LaTeX file, and I couldn't tell you how to recompile it (if I were to try, I'd probably get an LLM to literally translate it to LaTeX).

    I want my life to have as little maintenance as possible, and making my own software for everything isn't always compatible with that.

    [0]: A rewrite of a NETFX application in Rust, simply because the 20 minute installation time irked me: https://github.com/bevan-philip/wlan-optimizer

    • bm3719 26 minutes ago
      Org natively supports embedded LaTeX, so not sure why this combo would be unholy. You just write Org-formatted markup, reach for LaTeX when you need it, and export it via org-export-dispatch. It also just does what you'd expect if you org-publish to HTML (if you setup a publish project). I pretty much never write anything in plain .tex files anymore as a result of how convenient this is, and have long since forgotten a lot of LaTeX syntax for things Org covers (which is usually all of the prose in a paper). The preview feature also saves a lot of cycles.

      For sharing an init.el file across OSes, just have your OS-specific expressions conditionally check the system-type variable. For most setups, there should only be a few of these.

  • SoftTalker 1 hour ago
    "Personal Software" i.e. programs that one writes for oneself, was the original vision of home computing back in the 1960s. The PC wasn't really anticipated, but the thought was that everyone would have a computer terminal at home, and write programs to do whatever was needed. It was imagined that programming would become easy enough that anyone could learn to do it. We're not there yet but with LLMs we're getting closer.
    • edbaskerville 18 minutes ago
      The road not (yet?) taken is the full flowering of the HyperCards, the Visual Basics, the Macromind Directors and Flashes...

      That is, the idea that a non-expert might create interesting software in an authoring environment with good, well-thought-out building blocks and easy-to-grasp metaphors, shorn of layers of accidental or over-engineered complexity.

      In this vision software still requires careful logical thinking, but it makes it much less cumbersome to translate that thinking into running code, with no tooling and build system nightmares.

      Instead, we've invented such powerful models that they can regurgitate and recombine complex incantations on our behalf. The complexity is still there, though, and it's still inscrutable to non-experts.

      But maybe they can help us eliminate some of it?

      I think that path is still possible, and it may even nicely complement the LLM world, where LLMs help generate software that individual humans can still easily comprehend and manually modify.

    • munk-a 27 minutes ago
      LLMs are great for problem exploration. Especially with the decline of Google I think we're at a point where it's less difficult to get an LLM to spit out something that'll accomplish a task sorta compared to actually finding that on the internet. But if the task is going to be repeated or modified then I think LLMs are at a permanent disadvantage to prebuilt software. Even if that prebuilt software is just someone else running an LLM and then passing the output through acceptance testing most people just don't want the headache of debugging weird edge cases and the novelty of "I'm a developer too!" wears off pretty quickly.

      I'm excited that the weird grey-zone of excel sheets with business critical logic is likely going to disappear as LLMs slowly make the logic driving those too complex to be comprehended and managed and those get foisted off onto actual engineering resources. It'll be painful but probably for the best... but for actual tools people need to use day-to-day I think the assurance that the tool will work has a lot more value than the AI hype has comprehended.

      • TFNA 11 minutes ago
        > Especially with the decline of Google

        Oddly enough, Google’s LLM is the only one that has been answering my questions well on a research project these last weeks. I’m getting information from scanned text files that exist on the internet but were never adequately OCRed by other LLM companies (i.e. both OCRed at all, and moreover OCRed as the specific language in question that picks up all the diacritics). Google search results may be disappointing and polluted for years, but the company is still offering a useful product in another tab of its interface.

    • ErroneousBosh 7 minutes ago
      > It was imagined that programming would become easy enough that anyone could learn to do it.

      Arguably LLMs take us further away from that than we've ever been. All they do is automate copying and pasting in shit from StackOverflow.

      We were closer to everyone being able to learn how to program computers in the mid-80s when everyone had one and they started up with a BASIC prompt.

    • lobf 44 minutes ago
      It’s exactly what I use LLMs for as a non-computer professional.
  • j2kun 55 minutes ago
    > You want a good Markdown viewer more than you think you do.

    > monospaced and thus fatiguing to read.

    Monospaced text is fine. I don't see how people who read code (and code comments) all day care that strongly about this. Plaintext is king

    • layer8 44 minutes ago
      Turn off syntax highlighting for your code, translate it to COBOL, and pass it through a formatter that converts it to continuous word-wrapped text. Then we’ll talk again.
    • jsw97 53 minutes ago
      There is a real use case for a viewer if you have a lot of formulas. Yes you can read the raw latex but you go cross-eyed after a while. Maybe I am a softie though.
    • tptacek 49 minutes ago
      There's a reason we're not reading monospaced here, and a reason we do read monospaced code.

      But the beauty of this moment is that if you want a really good SwiftUI monospaced Markdown reader, you can have it before dinner. This is exactly what I'm talking about. You have an idiosyncratic personal preference, and it's now reasonable to expect software to shrink-wrap around that preference.

      • applfanboysbgon 46 minutes ago
        > a reason we're not reading monospaced here

        Legacy decisions as a remnant from a time when taking more space on paper cost pages and therefore resources, remaining as a default from centuries of inertia in how text is printed?

        • tptacek 43 minutes ago
          No, prose set in monospace is harder to read. The "legacy" is monospace! We went way out of our way to to get proportional typesetting working.

          But seriously: you do you. There are people who code in proportional typefaces and they're as baffling to me as you are right now. Let a thousand Markdown viewers bloom.

          • applfanboysbgon 37 minutes ago
            > The "legacy" is monospace! We went way out of our way to to get proportional typesetting working.

            The legacy is proportional, at least in Latin script and its ancestors. Handwriting was proportional, of course, and so was Gutenberg's printing press. Books and newspapers have virtually always been printed in proportional type.

            In Chinese and Japanese, monospace is legacy in both handwriting and print... and also still universally used today. All Chinese and Japanese text is monospaced by default. Billions of people are getting by just fine reading monospaced prose.

            I don't really know where this conception that monospaced is somehow objectively harder to read is coming from. Actually, this is the first I've ever heard of the complaint. I can't help but wonder if you've been subjected to some very bad monospaced fonts in prose or something.

            • mrob 32 minutes ago
              Monospace text is objectively less dense, which means you have to move your eyes more. Every eye movement is an opportunity for error. Monospace text only makes sense when seeing exact character counts matters (which it often does in computer code).
              • applfanboysbgon 30 minutes ago
                One could argue that less density, as well as standardised widths, significantly reduces opportunity for error compared to cluttered text that is constantly varying how it is displayed. Perhaps moving your eyes more increases opportunity for error by 10% but easier-to-parse characters decreases the opportunity for error by 20%?
    • il-b 13 minutes ago
      The dislike of code per se is what drives these people to use agents in the first place.
  • applfanboysbgon 1 hour ago
    I feel as though the author really missed an opportunity here: "The Emacsulation of Software"
  • simoesd 5 hours ago
    I know the article is mostly about making stand-alone software, but this type of thing is why one of the things I value most when looking workflow tools I will be using heavily is extensibility. I can try put someone's neovim plugin for a second, figure out if it's something I actually need, and if so make my own personal version that matches my mental model perfectly, adds all the dumb little bells I want, and removes all the useful features I don't personally care about. Plus I no longer need to worry nearly as much about supply chain issues.

    Over the years I've replaced 90% of the plugins I used when I started. Plus I get a nice outlet from any pesky NIH symptoms.

    • disinterred 51 minutes ago
      I'm the same.

      In all honesty, when you start up emacs for the first time with a blank config, it looks terrible. But then you start building it up with plugins and adding code to support your own quirky workflows and slowly it becomes too powerful in your life to ignore. I have not been able to drop it for 13 straight years. With AI taking over the development experience, emacs and neovim have only become even better, because now you can get AI to bake your custom workflows into the config for you.

      Emacs/neovim should be the gold standard for all workflow tools.

      • phyzix5761 47 minutes ago
        I did the same. I started with Doom Emacs and then a year later decided to start from scratch and build the computing environment I wanted. But I think the experience of Doom showed me what was possible, what I liked, and what I really had no need for.

        I make small config changes every day and its super fun to use my computer this way. I wish everything was configurable like Emacs.

        • tptacek 42 minutes ago
          It is! That's the post!
  • aledem 46 minutes ago
    I remember how just 5 years ago the majority of speakers were saying how absolutely everyone should learn computer programming. Already many years ago VBA was built to bridge the gap between engineers and other professions. Well, the gap is completely closed now, everyone can do what has been talked about for decades: programming computers. And I suspect even markdown will become obsolete very soon, eliminating this very last remnant of what programming used to be.
  • malicka 25 minutes ago
    Speaking of which, Emacs’es markdown-mode is pretty good. :^)
    • tptacek 23 minutes ago
      Emacs is an editor! God help you if you do something to my computer where when I click on a Markdown file something changes in my Emacs window setup.
  • tuo-lei 32 minutes ago
    i've made maybe 20 personal LLM tools this year. 3 survived past the first week. not because the rest weren't useful, just wasn't willing to debug them when something broke.
    • tptacek 30 minutes ago
      What were the three?
      • ctrl4 10 minutes ago
        Not OP: - One shotted script that I schedule through cron that sends me a message when a new one piece manga chapter releases. - Also a simple script that moves my cursor one pixel every 30 seconds. Cannot disclose why I need this.
  • RickS 41 minutes ago
    I agree, experience this, love it, etc.

    The "0% product hunt, 100% show and tell" bit is one of the benefits of an ecosystem with painfully high upfront entry costs.

    Does anyone know of an active forum of any kind (discord, reddit, phpbb, mailing list, whatever) for people who are building personal applications like this for love of the game, which takes hardline stances about desirable vs undesirable motives and behaviors, and enforces high entry/participation costs in exchange for unusually low quantities of transient grifters and self-interested status seeking by day-old accounts?

  • dogleash 33 minutes ago
    > Suddenly, I realized: a good Markdown viewer was a dumb thing to waste time looking for. It’s 2026. I can just have one extruded for me.

    If this is the starting thought, I don't know how you wrap back around to publishing and advertising the generated code.

    Either you create the best possible mac markdown viewer and should share it as that, orthogonal to any statement of AI use. Or you're just adding to the noise of tools available online. Where other people should ignore your work, and go slopcode their own markdown viewer.

    • tptacek 30 minutes ago
      The post talks about this.
  • empath75 1 hour ago
    I love this and I have a handful of tools like this that I built for myself (I had claude write me a TUI crossplane kcl function renderer, for example -- something whose total addressable audience in the world is probably 20 people).

    "Content creation for an audience of one" is really the revolutionary change that is happening right now because of AI. Disposable apps, disposable books, disposable movies, disposable music. Things that are made for a single person, used once or a handful of times and then thrown away. The entire economic model of content creation and distribution is going to explode in the next 3 or 4 years, and very few people are prepared for it.

    • applfanboysbgon 1 hour ago
      Setting aside the fact that good content is more enjoyable than bad content, experiences are meant to be shared. Humans are a social species, and a very large part of media consumption goes beyond the actual consumption and into sharing that experience with other people. People build communities around the media they like, and even integrate their favorites as part of their identity, wearing branded clothes or cosplay, decorating their rooms with merch, setting wallpapers, and so many other ways to signal what they enjoy to others. "Content creation for one" rather misses how humans work. Heck, not only media but even tools are subject to this -- people legitimately make emacs or vi part of their personality.

      > The entire economic model of content creation and distribution is going to explode in the next 3 or 4 years

      I think this is also inherently self-contradictory. What's the point of distributing content made for one? This gets into the same fallacy that people engage in w.r.t. "applications for one" displacing software developers. Yes, LLMs can pump out buggy software that suits one person's needs, and it doesn't need to be reliable enough to deploy at scale. It serves real utility here, because there was a gap between "the value of such software" and "what software developers are willing to work for", which meant that this software wasn't being created because there wasn't economic value in it. But then, how does one suppose software that has no economic value is going to replace all the professional software developers who were being paid to produce software that has economic value? LLMs filled a gap software developers weren't being paid to do, but given that they were not paid to do it, their jobs are not contingent on the existence of this niche. It simply doesn't follow that being able to produce content with zero economic value, whether that's applications or content for one, will cause an 'explosion' in the existing economic models.

    • ElevenLathe 1 hour ago
      I'm with you on purpose-built disposable tools, but who wants to read a disposable book, or watch a disposable movie?
      • tptacek 36 minutes ago
        Not me. I'm enthralled by what this moment promises for building software, but I'm yicked out the same way everyone else is by generative art.
  • selectively 55 minutes ago
    No, I don't. I don't want anything that has to do with John Gruber, ever.
  • KaiShips 16 minutes ago
    [flagged]