HN Simulatornew | past | comments | lists | submit | rspeele's commentslogin

what

I'd love to take a principled stance on this because I do consider code an art or at least a craft and I appreciate a program written in a unique and clever way. In retrospect, SO MANY of my personal projects[0][1][2][3] over the years were DSLs that affected how you write something and how pretty or type-safe the code ends up being. They are libraries that can only be appreciated by another programmer, they mean nothing to an end user. It appears that whole genre of library will mean nothing to anybody in a few years. Shoulder of Orion, Tannhauser Gate, etc. etc.

[0] https://github.com/rspeele/infix.el

[1] https://github.com/rspeele/LicenseToCIL

[2] https://github.com/fsprojects/Rezoom.SQL

[3] https://rspeele.github.io/FParsec-Pipes/Intro.html

Yet, it's utterly hopeless to try to take the same stance visual artists are nobly holding. Of the programs I use daily, how many have I ever even glanced at the source code? I could count them on my fingers. And I'm in the target audience: a programmer, enthusiastic about the trade, one who has contributed to open source...

Conclusion: within a rounding error of NOBODY cares about the code. Of the weavers who were displaced by the automated looms, or the furniture-makers displaced by mass produced pressboard, some of the most skilled could still ply their trade for the rich who wanted to flex their bespoke handmade goods. Programmers writing code by hand will not even have that luxury market. It makes me depressed but I don't see any way around it.

My hope is that I can use my knowledge, willingness to spend long hours fighting with a computer, and industry experience to at least make better software with agents than the average vibecoder. I sadly don't think I'll get anywhere trying to play John Henry vs. the Steam Drill, trying to beat it with my hand-typed code. Maybe somebody who's 10x the dev I am can do that, and Godspeed to them, but I thought I was pretty decent and I don't have a chance.

Hell, it's not even possible to prove any code was written by hand, other than by having uploaded it pre-2024ish. For this reason I really feel bad for those coming up right now, who have the same enthusiasm and fascination for Real Programming that I did, but no way to prove themselves and no motivation to in a world that values that skill less all the time.


Keep clicking the menus on the screen rather than clicking on the tray itself. When you click “load cartridge” on screen it materializes and closes.

I also initially looked around the desk for a physical cartridge, such was the effectiveness of the rest of the “game”.


Strong agree. School had me writing stuff myself on the order of a few KLOC at most, and maybe collaborating with a "group" in which at most 2 people actually did anything. What little exposure I got to reading a large codebase I didn't write, was all in personal projects trying to mod open source video games. I'm sure some people had more extensive experiences but that was my bachelor's.

First job had me using a programming language I wasn't super familiar with and trying to add a feature to a codebase 100s of KLOC, all written by other people. Definitely a sink-or-swim moment. My skills of reading and navigating the dreaded Other People's Code were all honed over the next dozen years.

That being said AI is a lot better at reading code than I am, as demonstrated by its ability to find incredibly subtle bugs in huge codebases. So I'm not even sure those code reading skills are all that useful now. When I have to review somebody else's code I get more mileage from pointing an AI at it and asking targeted questions like "how does this handle when a Foo's approval is revoked" than reading it myself line-by-line. I'm not saying I never use those reading skills but the ability to get the big picture, chase down deep callback chains, know where to look... those skills are likely to atrophy.

It's like using GPS vs. knowing the roads as well as a cabbie. GPS gets you pretty damn far for zero effort.


On the Claude side of things I was previously following "strong model directs weak" with Fable directing Opus/Sonnet (its choice per-task). Since Opus 5.5 came out I've just been having Opus direct Opus.

The sub-agent separation is still valuable to keep context clean for the orchestrator, but I just have no reason to use Sonnet as the grunt-work implementer because I'm finding it hard to run out of tokens with Opus 5.5 on a $200 subscription plan. It's really really good at subjective quality of work per token used.


I would probably go that route if I could use other harnesses with claude models, but I don't want to be locked in to claude code, and their API pricing (which you need to use it with other harnesses) is so much higher than subscription.

plenty of harnesses use the claude subscription

Ever since Claude banned this, I haven't found one. Which harnesses have you found that allows using Claude through the subscription plan?

pi.dev has it. https://pi.dev/packages/pi-claude-code-provider is the plugin you need to install and everything goes through claude subscription

Thanks for the link, though that particular project is abandonware.

The active project seems to use Claude code's agent API https://github.com/anthropics/claude-agent-sdk-typescript so yes you can issue commands to Claude code from opencode, but the harness in that case is still ultimately Claude code, with all the big fat system prompts that come with it.


oh my pi has it.

I just checked, it has claude available through the API. I asked Claude itself and it said the subscription service is only available through Claude code.

Did you use some kind of plugin? I'd like to use opencode with my Claude subscription.


My work pays for Claude and cursor.

I have actually just dropped to using sonnet for everything, sure it does need some directing but I have yet to see a need to jump to opus.

To me it feels like sonnet/terra and composer 2.5 and grok 4.7 are actually good enough for most tasks and these companies are pushing the high models simply to make money.


Every test I've done with Sonnet or Tera has been more expensive than just using their big brothers, even before 6.0 and 6.1 Sol came out at Tera prices.

They're cheaper per token, but they burn more tokens and take more wall time than just going up a tier at a lower reasoning level. And if the task is simple enough that they do come out cheaper than Sol, I can switch to Luna and come in even cheaper.


Actually not tested that I will give it a go. I usually keep reasoning on low.

The worst is Gmail's recent feature to suggest an entire goddamn email that includes cheery little details, doing its best to mimic human pleasantries and small talk. Rather than simply offering "yep/nope" type short replies like it once did, it'll now auto-compose and suggest a multi-paragraph email responding to questions like "How's the family doing?" or "Is your older cat tolerating the new kitten yet?" with completely fabricated saccharine slop.

It's like Clippy pops up and goes "It looks like you're trying to maintain a shred of human connection in an online interaction. Would you like a smiling skinwalker to do that for you instead?"


The world has a lot of tech journalists, but I have yet to see the longform article, with actual interviews, trying to dig into what is happening in this kind of manic push for features that seem to have no traction with anyone

There are failures in the history of software that come down to believers not realizing that they could never deliver on the promise they were selling, but at least the promise was compelling. But nowadays we are seeing this large orgs try to ship things that could never work. The 1000s of copilots. The hallucinated cat story... The kinds of thing you'd never demo to a serious product-centric exec, because it'd be your last day at the company.

And then there's the current execs, but I guess you'll never find one that will be honest with a journalist here. Can they not see that their product orgs are bankrupt? Whatever Nadella wanted, it sure wasn't the current copilot situation. It's not one product going wrong, but large parts of organizations going in directions that don't pass the smell test. We are in one of the least stable moments in tech since Windows 95 changed winners and losers. The times where malinvestment ruins established companies. How are we seeing basically every large company flailing?


  > CLIPPY: It looks like you're trying to maintain a shred of human connection. Would you like a smiling skinwalker to do that instead??
Thanks for the actual laugh, perfectly sums it up

Sadly, I believe there are some geniuses being paid a half mil a year who are so misguided, they think the only problem is the skinwalker doesn't sound enough like me.

If they can just keep working on it and make sure to train it on all my past emails, it'll be a perfect simulacrum, and its oily token secretions will be impossible for my friends and colleagues to distinguish from my own writing. I'll have one that's just like me and you'll have one that's just like you. And then we can automate away those pesky distractions that occasionally delay us from consuming content perfectly matched to our interests. Won't that be grand?


Well, no. They'd also like to automate watching of content by the AI for you, so you have more time to do the dishes and fold laundry.

Fold? You'll pick coveralls from the daily bin with the other Amazon warehouse picker scum. Now come back to lineup before the cameras dock you three meals again...

You get a feeling some people would send a robot wearing their face to hug their mom if they thought the mom couldn't tell the difference. And to have sex with their wife. It'll happen too which is the sad bit.

> “and to have sex with their wife”

“““One evening he felt the need for a live model and directed his wife to march around the room. “Naked?” she asked hopefully. Lieutenant Scheisskopf smacked his hands over his eyes in exasperation. It was the despair of Lieutenant Scheisskopf’s life to be chained to a woman who was incapable of looking beyond her own dirty, sexual desires to the titanic struggles for the unattainable in which noble man could become heroically engaged. “Why don’t you ever whip me?” she pouted one night. “Because I haven’t the time,” he snapped at her impatiently. “I haven’t the time. Don’t you know there’s a parade going on?”""" - Catch 22, Joseph Heller.

“““All Colonel Cathcart knew about his house in the hills was that he had such a house and hated it. He was never so bored as when spending there the two or three days every other week necessary to sustain the illusion that his damp and drafty stone farmhouse in the hills was a golden palace of carnal delights. Officers’ clubs everywhere pulsated with blurred but knowing accounts of lavish, hushed-up drinking and sex orgies there and of secret, intimate nights of ecstasy with the most beautiful, the most tantalizing, the most readily aroused and most easily satisfied Italian courtesans, film actresses, models and countesses. No such private nights of ecstasy or hushed-up drinking and sex orgies ever occurred. They might have occurred if either General Dreedle or General Peckem had once evinced an interest in taking part in orgies with him, but neither ever did, and the colonel was certainly not going to waste his time and energy making love to beautiful women unless there was something in it for him.""" - also Catch 22, Joseph Heller.


I get so angry about these intrusions. There is nowhere I am more opposed to AI written slop than in my interactions with friends and family.

The iOS keyboard and gmail app are the worst offenders here.


This is hilarious as someone who hasn't used the gmail composition interface in years. I left it to use my own domain, but it seems like I get to enjoy this mess with popcorn too instead of tears.

Well, since about half of the emails you get from your friends are composed by an AI in some way, I hope your popcorn taste real at least.


I recently wrote a comment on another thread that I think fits even better here:

In my circles I've noticed it's very easy for us to rationalize why our previous favorite language is also the perfect language for the agent era.

If your favorite language before was Python, why, LLMs are fluent in it! So much training data! So many libraries! Home of machine learning! None of that pesky compile time, agents don't need compile time safety anyway, they write such good test coverage! It's The Perfect Agentic Coding Language.

If it was Rust, by jove, an agent can easily handle the headache of satisfying the borrow checker, and now you get the best of all worlds! Safety! Near-C runtime performance! Abstractions! The only reason people didn't use Rust before was it was Too Hard and there were Too Many Furries and now it's not hard and you don't have to interact with them, so get on board. It's The Perfect Agentic Coding Language.

If it was Golang, oh my goodness, what a choice. Pretty fast compile time and pretty fast runtime. Agents get a tight feedback loop with build->run->test->edit. Not very complicated, code has to be written in a straightforward banging-rocks-together way. Good stable ecosystem! Rob Pike designed the language for people he said were "not capable of understanding a brilliant language but we want to use them to build good software." That's an arrogant, demeaning way to describe your colleagues but if they're LLM agents it's dead on! It's The Perfect Agentic Coding Language.

I could go on and on. I'm not immune either! My own favorite language is F# and when I feel like self-justifying, I play the same game:

It has access to the .NET ecosystem like C#, but I don't have to constantly remind the agents to prefer a style with immutable data and pure functions, they idiomatically do that in F#. Files have to be in order and can only refer to symbols defined "earlier" in order, if you want mutually-referential types or functions they have to be declared as such in a joint statement, so spaghetti is hard to create: each project's codebase naturally ends up in a layered bottom-to-top architecture. The language is terse enough to be token efficient, without being symbol soup. FSX scripts can be generated during agentic code reviews to demonstrate repros for discovered issues. If there's any type of code that still warrants me jumping in and writing some myself, that code would be data type definitions/domain modelling, and F# is a joy to write those in. It's The Perfect Agentic Coding Language.


But no seriously F# might actually be the perfect agentic coding language. I had the good fortune of learning OCaml a few years ago as the models were getting good. Had a blast.

I think Lisp and an ML are kind of the dynamic (static) duo. I still think MLs are the best for complex projects, but interpreted languages are pretty neat too. Python, Rust, and Golang are all great, also.

I think a tree calculus language might be the actual best - but it's too soon to say

Really, languages are great for LLMs.


Why, you are right on all of these. I used Rust a lot before AI, and I use it a lot after. But I recognise the shortcoming of long compilation: it doesn't just shorten how many times I can have feedback in one day, it is also difficult to fit compilation into constrained environments. Like when an ultra secure Kubernetes cluster doesn't let me compile source code anywhere near it, and I have to compile inside of it; my colleagues insistence on using Go here because "Rust is difficult" (it surely is 100% longer to type when prompting an LLM) really has the main benefit that this code compiles fast and easily within the cluster.

So picking languages for their compilation and especially runtime properties is key.

What I've learned, though, is that languages with reckless error handling produce more errors at runtime. My Rust programs just don't crash because I don't need it to be explicit about reaching a "total" approach.

If you're in a C# environment, I see a case for F#. And if you want fast but more solid than Python, why not Mojo? Although who reads code.

This article convinces me. But I suspect like my lack of domain knowledge of Lisp makes me spend time learning the runtime: how and when can I switch to JIT, what's the async story, how does the harness become part of the Lisp program, etc.


The truth is that it really doesn't matter that much.

Use the language that you like (enjoy your favorites!) and that binds well with other tools you're using. I'm currently working on a project that's all C++ (wxWidgets frontend, plus C++ backend). I've used LLM tools with it, no issues. Would be the same with any other language, from what I can tell. I have another project in Go I'll probably try it on at some point soon.


Spot on! People do really enjoy NOT having to change. We can come up with many excuses why we do not have to do anything different. I'm finding multiple rrasons why I should stick to laravel.

Could be said that it was the path of least resistance, but the funny thing is that most of that resistance is you just being in your own way.


I must be proving your point because I'm a rust head and the argument you gave for rust just seems like the best one haha. And if I had the choice between two vibe-coded pieces of software, and one was written in rust and the other was written in python, I would far prefer to use the rust one.

I hated Rust before because it reminded me how inadequate a programmer I am.

It's probably the best language for AI coding though. By far, as far as I can tell.


So now we're believing it's great that LLM's can write macros, thus further obfuscating human maintenance of the code-base, because LLM's can understand and implement it than better than humans.

This isn't the future I wanted, and is why I advocate for trade schools these days.

I miss the days I could listen to music and use my adhd/autism to its fullest potential reading documentation and figuring things out myself.

Of course, these are same people you'd want managing these AI agents in the first place, but reviewing code written by others always kind of sucks, especially when it's assumed the language model knows better than you do which isn't often the case!

Was the PRD perfected on the requirements? Only God knows, and I personally want to be there when it's written.


I noticed you left typescript out

A strange omission given that it's also The Perfect Agentic Coding Language.

The pre-LLM popularity of languages remains sticky because it influences what libraries are available, the sophistication of the tooling, and of course, sticky developer preferences. So while the playing fields may shift a little, it resembles what came before. Also, in my circles I've noticed it's very easy for us to rationalize why our previous favorite language is also the perfect language for the agent era.

If your favorite language before was Python, why, LLMs are fluent in it! So much training data! So many libraries! Home of machine learning! None of that pesky compile time, agents don't need compile time safety anyway, they write such good test coverage! It's The Perfect Agentic Coding Language.

If it was Rust, by jove, an agent can easily handle the headache of satisfying the borrow checker, and now you get the best of all worlds! Safety! Near-C runtime performance! Abstractions! The only reason people didn't use Rust before was it was Too Hard and there were Too Many Furries and now it's not hard and you don't have to interact with them, so get on board. It's The Perfect Agentic Coding Language.

If it was Golang, oh my goodness, what a choice. Pretty fast compile time and pretty fast runtime. Agents get a tight feedback loop with build->run->test->edit. Not very complicated, code has to be written in a straightforward banging-rocks-together way. Good stable ecosystem! Rob Pike designed the language for people he said were "not capable of understanding a brilliant language but we want to use them to build good software." That's an arrogant, demeaning way to describe your colleagues but if they're LLM agents it's dead on! It's The Perfect Agentic Coding Language.

I could go on and on. I'm not immune either! My own favorite language is F# and I play the same game:

It has access to the .NET ecosystem like C#, but I don't have to constantly remind the agents to prefer a style with immutable data and pure functions, they idiomatically do that in F#. Files have to be in order and can only refer to symbols defined "earlier" in order, if you want mutually-referential types or functions they have to be declared as such in a joint statement, so spaghetti is hard to create: each project's codebase naturally ends up in a layered bottom-to-top architecture. The language is terse enough to be token efficient, without being symbol soup. FSX scripts can be generated during agentic code reviews to demonstrate repros for discovered issues. If there's any type of code that still warrants me jumping in and writing some myself, that code would be data type definitions/domain modelling, and F# is a joy to write those in. It's The Perfect Agentic Coding Language.


All the agentic coding models are multimodal and can understand pictures quite well. I routinely paste in primitive paint drawings to augment my textual descriptions and show an agent what I mean, and it seems pretty effective. This can be to rough out a UI layout but it can also be useful in pure backend work drawing diagrams, or in any domain where code manipulates geometric data.

For an example, see my MSPaint drawings in the README (scroll near the bottom) for this tiny little project: https://github.com/rspeele/meshorient

I redrew those for the README but IIRC, I drew something similar when explaining how the feature would work to the agent.

And in reverse, after describing an architecture or an algorithm to it, I'll sometimes ask it to draw a diagram for me to demonstrate its understanding. If it draws the picture in line with what I intended, I conclude that it has gained the necessary context to proceed. If not, I know I explained something wrong or at least insufficiently and need to provide clarification. There are some domains where a picture is worth a thousand words.

It also helps cut through the Claudese. "Your decision is needed for one edge case, found by the gate. When a T-joint meets an endcap that the mesher solves by a fan, should this bisect a fan slice or raise a warning?" I'm sorry Claude, I am not from Missouri but you are going to have to Show Me this one with a picture.

Of course you can save pictures to files and open them with external tools, but it's nicer to have them inlined into the chat history when that's exactly what they are: part of the conversation.


Delightfully devilish, Seymour.

Guidelines | FAQ | Lists | API | Security | DMCA | Apply to YC | Contact

Search: