We've been saying this stuff since 2016, and it feels like some autotherapeutic, self-convincing gibberish that a victim chained in the basement whispers over and over. And when the rapist comes kicking in the door, they be like "but, but... this ain't right..."
We should stop hypothesizing and assume he'd do the worst, because as the (recent) history shows, he'd do much worse than anyone ever expected. Because the guy is a psychopath. He doesn't care about laws, words, or ethical norms.
Hypothesizing? He has failed to pardon people convicted in state courts already, because he doesn't have the power to do it. This isn't some untested hypothetical. He issued a pardon for Peters in Colorado and it didn't stand. Why? Because she was convicted in a state court.
dafuk you're saying? We have a nonsensical president in office and I'm pretty sure the way the midterms are seemingly going, he's not going to accept the results. You don't need to have a wild imagination, at this point it's the most sense-making assumption. We have a guy who broke the law before, breaking the law as we speak, and guaranteed to break the law again. That is not nonsense - that is at this point common sense.
What I wrote in my first comment (restated for clarity):
> Trump cannot pardon people for state crimes.
You responded suggesting that I'm just hypothesizing. Suggesting that you believe he can pardon people for state crimes.
I responded with a comment pointing out that he has tried to pardon people for state, not federal, crimes and failed. That's dafuk I'm saying. I'm not hypothesizing, he has tried to do it, and failed to do it. You're the one hypothesizing about things that are the opposite of what has happened in reality.
He does not have absolute power. Is he a terrible president? Yes. Has he committed crimes? Certainly. Is his power absolute? Again, no. You're not operating in reality if you think it is. He has been checked on numerous things during this term. Enough things? No, but he does not have absolute power. So stop acting like he does.
Checks and balances are working. He hasn't been able to achieve nearly close to everything that he would achieve if he was actually unrestrained. For example, the system didn't let him become President in 2021, since the system believed that he had not been elected. There isn't much reason to think that Trump will suddenly figure out how to get past the system.
What the fuck are you guys even talking about? Have you not following the news of the past (not even years, months and weeks)?
He's been routinely breaking the rules.
- Two impeachments landed nowhere.
- Mueller report - at least 10 episodes of obstruction of justice, DOJ gave him not even a slap on the wrist.
- Border wall national emergency declaration.
- Executive actions and shuttering agencies. USAID, the Department of Education, CFPB, USAGM/Voice of America. Several courts ruled these actions unlawful, and what? Where's USAID today?
- Challenging election results. He openly pressured Pence to reject certified electors.
- Illegally kidnapping sitting president.
- Illegal war.
- Illegal deportations.
- National Guard deployment in Los Angeles.
- cutting Harvard's funding.
- January 6 pardons and other pardons of allies.
- Firing sitting FBI director.
This isn't even a comprehensive list. Imagining just about any other president doing any of that, walking free and keeping the power seemed inconceivable before. Check and balances clearly not fucking working! Not with this motherfucker.
I don't like many of those things, but many of those things are not illegal. Many were done by previous Presidents as well (that doesn't mean they're good, but it does mean they're not without President). None of them mean that Trump has escaped checks and balances in a way that seriously endangers the system.
For example, as far as I know the war is not technically illegal. And wars of this nature have been done by many previous Presidents.
I don't know why firing the FBI director would constitute getting past the system. Trump's the head of the executive branch after all.
Executive actions have been widely used by previous Presidents. Should they be more limited? I think so, if it was up to me I'd probably reduce the power of the Presidency in general. But Trump wouldn't be able to, for example, use an executive action to allow himself to run for a third term. If he tried, people would just laugh at him.
National Guard deployment in Los Angeles is within the President's normally agreed-on authority and did not lead to any sort of danger to democracy.
Well, forced deportation of Jews into camps was "legal" too. The Enabling Act of 1933 let the executive make laws without the Reichstag. After that, legality measured nothing. So the test for checks and balances is not "was it legal?" The test is "can courts, Congress, and watchdogs still stop the executive?"
If you're not seeing "any sort of danger to democracy", you're either deliberately blind to what's going on, or you're simply supporting the regime, in which case I see no difference.
>Well, forced deportation of Jews into camps was "legal" too.
Yes, but Nazi atrocities would not be legal in our system. And Trump does not have enough hard-core supporters to make it legal to send his political opponents to concentration camps.
>If you're not seeing "any sort of danger to democracy", you're either deliberately blind to what's going on, or you're simply supporting the regime, in which case I see no difference.
I see potential dangers to democracy coming from the Trump administration, but no serious ones. That doesn't mean we shouldn't try to fight against the potential dangers, it just means that the chance that Trump will actually end democracy in the US is very low.
I'm not a Trump supporter, I just don't believe that the system is at any serious risk from Trump.
> Yes, but Nazi atrocities would not be legal in our system.
As I already pointed out, shit doesn't have to be "legal" (or otherwise) to be bad or immoral. Separating migrant kids (just one of the many examples) from their parents is not "legal", yet it has happened, it is happening now, and will continue - that's the deliberate plan for this admin.
> I just don't believe that the system is at any serious risk
I assure you, US citizens who were deported and got separated from their kids do have a completely different perspective. Democracy is essentially and practically dead in the US, at least for some categories of Americans.
It is bad that some US citizens have been wrongly deported, but it does not mean that democracy is dead in general or for some categories of Americans, unless maybe you mean specifically the category of Americans who are US citizens and have been falsely deported. Which is a very small category. I am not claiming that US democracy is perfect. I am claiming that Trump is very unlikely to topple US democracy over.
Has Trump done things that are questionably legal or flat-out illegal? Yes. Has Trump ever managed to come close to overthrowing US democracy? No. None of his partial or full violations of the law have come anywhere close to overthrowing US democracy.
> Is this really a problem with agentic programming?
State management is generally considered a difficult and complex problem. When you give a way for the agent (or a human programmer) to iterate on stuff without having to reset the state, without having to restart anything, without any (manifestly impractical) rituals, the programmer/agent stops guessing and starts empirically assessing the current state of things and reasoning about the problem space in a much tighter loop, procuring solutions that cost fewer tokens, time and effort.
Imagine building something like a Flappy Bird game, and having to recompile whenever you tweak a moving object's trajectory calculation. What would be simpler - having the programmer mess around with values live, or having to re-compile, restart, reset the state to that point, and check where things stand?
Programming with a Lisp REPL often feels like playing a video game. It's not just fun, it makes far better sense (in comparison)
I like Lisp, I was not generally disregarding REPLs. But
> programmer/agent stops guessing
I think programmers and agents are fundamentally different, and require different approaches. I don't see the benefits to an agent avoiding recompilation when they may take 30+ minutes on a couple prompts. I don't think compilation time even accounts for 1% of what my agents do, but I could be wrong (again, I'm not working on something massive).
I also don't think I want them to assume they solved something because the current image is working as intended. I don't really trust them to know if they have a working solution, or if they have built up a very specific state that works, but can't get the same solution from scratch.
Also I feel more comfortable doing localized tests through the REPL than letting an agent do it. I would need some kind of test suite or harness to check a bigger trail of behavior than let it assume a problem was fixed. But I doubt this will be a problem for long
It's not so much about time, I think you're missing the point. It's more about "staying in the flow" and in this regard, humans and agents are not much different.
Besides, you're just ignoring the main talking point of my comment - the state. Have you ever had to restore the exact state of things in an app, when you're manipulating and changing certain behavior of it, in a specific moment and a specific combination of values? When you need to re-compile and re-load things, you inevitably end up building some elaborate scripting scaffold, just to deal with these kinds of scenarios. Live image REPLs remove that problem as a class. Immutability by default simplifies it even further.
> I don't really trust them to know if they have a working solution
Well, the agent can prove it by simply evaluating things live. But of course, it's never guaranteed to work the same way when started from scratch, but I'm not saying the behavior shouldn't be tested either way.
> Have you ever had to restore the exact state of things in an app, when you're manipulating and changing certain behavior of it, in a specific moment and a specific combination of values?
In my own Clojure projects I now even included that as part of the app. I literally have a header (I'm working on webapps, with Datastar btw) with buttons to pause/rewind/forward/fast-forward through my application's states (and I can also move back/forward in time from the REPL ofc). And I can then resume from any past state/inspect any past state from the REPL, save any state, etc.
I used to do it in the past with re-frame and events replayed but it was, IMO, a bit complicated for my needs. I now much prefer to have it all on the server-side and I simplified everything by using SSE / datastar (YMMV: for more complex needs, SSE may be insufficient).
Everything is immutable/functional except for one atom that contains the app's state. And that one is basically both a DB and a DB of all previous states.
I haven't done the full undo/redo as a tree yet (say like Emacs' undo/redo does) but it's been modeled to allow it. So I'll add that "navigation into past app state as a tree" (i.e. when I when backward then forked the state) visualization at some point.
Immutability / functional code / determinism / the passage of time are all fascinating things to me.
And once you've got the ability to walk through time as part of you language/REPL/app, testing and debugging becomes oh-so-much easier.
P.S: and the LLM is surprisingly good at making sense of out how I modeled the passage of time and the ability to walk through time as part of the app.
> It's more about "staying in the flow" and in this regard, humans and agents are not much different.
They are absolutely different. An LLM can be paused and pick back up in the exact same place. It makes no difference if compilation take a second or an hour. A human has to remember what they were doing. That's what people talk about when they mention flow state.
> Besides, you're just ignoring the main talking point of my comment - the state
I don't think I ignored that, I talk about it directly. I said it could conceivably lead to more problems because the LLM could overly lean on live evaluation as context degrades. I would feel more comfortable with it in an immutable language.
This is mildly disconcerting in a nuanced way and I can't figure out if there's a joke I'm meant to be in on.
This is 4K uncut, AI-free video, presumably taken by the channel owner on a camera on a gimbal, walking around Tokyo/Japan.
Except in the live chat on one of them, he talks about magic, and they refer to him as a wizard, and he warns "in a minute, the magic makes a cyclist turn into a car", and sure enough about 30 seconds later a cyclist "changes" into a car. Another video opens with a scene that looks CGI for a moment, then doesn't.
I'm presuming this is all real video with some post-production edits to make it "feel" uncut, and then streamed as "live". Is that right?
Beautiful video, I'm curious about the production as I'm tempted to do something similar but around London and walking locations in England - I'm a keen walker and been thinking about making videos for a while.
I got a very realistic one a while ago. It automatically activates when I open my front door. Very high resolution, multiplayer game play needs improvement.
You sound like you're anthropomorphizing it. A hammer is a tool, yes, but a complex conveyor belt of "smart" hammers is still a tool. It's not a "sub-contractor" - you can't blame the belt when it starts hammering things the wrong way; you can't sue it; you can't reason with it; you can't punish it. You're still responsible for the outcome, thus it is a tool, because you're the one wielding it, using and operating it. But then you have to draw the line between a "tool" and "automation", that's what Rich is doing here. But that line is also, soooo debatable. My own usage of my harness changes from task to task, multiple times a day. Sometimes it's pure automation, sometimes it is absolutely a tool.
Both belong to Microsoft anyway. They should know how to optimally get their shit together - it's not our problem. People be spreading shit all over - that's the general idea of the Internet.
I had a chance to ask Rich about the subject at the latest Conj. I admit, my question was too vague, I asked him: "what are your thoughts on how AI is reshaping our industry?", to which he vaguely replied that he's "not participating in this [experiment]", he admitted that he hasn't explored LLMs too deeply and he simply thinks they are not good, not to mention tons of other concerns - moral, economic, etc. I said, "well, I wish I had the luxury to choose, but many of us have no choice here, we're simply forced to use the darn thing..."
It is very difficult to disagree with anyone of the caliber such as this man, but I wanted to steer the conversation away from the generative aspect of LLMs and focus on the consumption side, because frankly, these "tools", and I think even though I might agree with Rich that LLMs by themselves are not tools, the harness I built to work with them definitely is one. I think there's an immense value there, way before you even start talking about code-generation, or code at all. I think I have failed to explain my points, because a talk we both wanted to see was about to start.
I think I get where you're coming from. Both the immense respect for Rich Hickey and the disagreement with him. I hopefully don't have to say much for the respect part - he has repeatedly changed how I think about my craft for the better. As I've mentored others, I've often pointed them to talks of his that were relevant to what they were missing. And that's all without using Clojure. But I definitely use ideas from Clojure in other languages where it fits.
On the LLM front, it's been a fascinating journey for me. I started with the private beta of Github Copilot. I was an instant convert for the "better code completion" aspect. But my first attempts with coding agents were rough enough that I stayed away.
I'm now retired, but I want to understand how things are evolving. So two months ago I volunteered to automate a cartography data pipeline for an educator. I have a background in all aspects of the project. It's not simple - there are several data sources from governmental and corporate sources that need to be integrated together, and most of them are updated every few minutes. New maps need to be available within ~5 minutes of a data source updating. All this with many GB of data and running on a low powered machine, taking less than 2GB of RAM.
I bought some DeepSeek tokens and went to work. A few weeks later a mentee went to work at OpenAI and gave me a "friends and family" Pro level plan. I'm converted, and I absolutely see it as a tool in the sense Rich describes. I even question whether any "software engineers" using it, but not as a tool, are doing it right (I'd love to be educated if I'm wrong!).
I'm still learning, but that's part of the disagreement I have with Rich's take. He mentioned feedback. I often watch the "reasoning" process the agent goes through to see the approach it's taking. It's not at all unusual for me to steer it when I see it going in a direction I don't like. I've also found an incredibly powerful pattern where I can explore the approach I want to take for a part of the system with the agent. I have it create prototypes with different strategies (streaming vs. in-memory, different data structures, relying on various libraries, etc.) and then I have it characterize trade-offs between the prototypes (performance, memory usage, conceptual simplicity, code simplicity, etc.). This allows me to make informed decisions about which approaches to pursue further, and my decades of experience in software engineering constantly go to good use here.
It's also given me the time to go far deeper into things I never could have justified. Of course the project has 100% code coverage and branch coverage. It also has hundreds of property-based tests. And thousands of Lean proofs of the behavior of the algorithms, along with conformance tests that the code and the Lean adaptation of that code behave the same way. And lots of TLA+ verification of the overall flow of the system. None of that proves there are no bugs or that this is the right system, that's all on me. A month in I would have said I was fairly happy with the quality. Now I'm proud of the quality.
As I've gone through this process, I've dug into the code for patterns I don't like, and had the agent clean them up, all the while distilling guidance. I've had a lot of luck with that guidance being followed once I figured out the right place to put it and to reference it. I've spent entire days doing nothing but giving prompts to do specific refactoring. The beauty is that large refactorings don't involve the same boredom interrupted by anxiety they used to for me.
English prose (documentation, comments in the code, etc.) is what I've been the least happy with. An hour ago I had the idea to give it ~1,000 lines of my HN comments and ask it to characterize the style and tone of the technical parts. Then I told it to turn that into guidance. Then I told it to rephrase that same guidance in a way that follows the guidance. I would never mistake the result as my own, but it's much, much better than what it was producing before. While I've been writing this comment, it's been applying it to all prose in the project.
This very much feels like a tool that is letting me shape the project (and shape the tool itself). But it's letting me do it at a higher level. It handles the code so I can fully focus on the architecture, algorithms, and quality. This alone makes me think that the best simple guidance for quality results is dozens of prompts per day, not a handful (when a day is 100% focused on development). When you can't think of dozens of prompts, think and explore more (the agent can help with that!). That does require you know what quality is and how that can be achieved.
To reconcile this with what Rich is saying. I suppose he's right that it's not a tool for writing code. But it very much feels like a tool I'm wielding to do software engineering at a far more powerful level than I could have done without it. The resulting project has "me" everywhere in it. The people who know my work the best would look at this project and know that it's mine. Perhaps not the code, but the algorithms, the data flow, the approach to documentation and testing, etc.
For anyone curious, the project is getting close to 200K lines. About 25% of that is the code that is the data pipeline. About 25% is documentation. About 50% is testing and verification. One reason this is possible is that I'm working alone and have full control over the process (what I spend before it became free, how it's built, what my process is, and even the product definition within the constraints of what's valuable to the intended user). All told, it has been about 6 weeks of full time work worth of my time.
The next experiment... a web front-end to this system for the general public. This is not at all in my wheelhouse, so it should be interesting to see how much my blind spots cost me.
> I suppose he's right that it's not a tool for writing code.
I think that's exactly what he means.
> But it very much feels like a tool I'm wielding to do software engineering at a far more powerful level than I could have done without it.
Ya, I'm not sure if he heeds a warning that AI is slowly moving to automate all that as well. Only 2 years ago it couldn't automate writing all of the code for example, it's possible in 2 years it has automated most of that higher level as well, and therefore software making becomes same as ordering a sandwich, just tell it the app you want and you get it. Or if he's just trying to make the reader realize they've given up coding and are losing that skill (or if new to coding are not learning it by using AI), and for better or worse is on the reader to decide.
It reads to me that your main focus is still on the composition side - the generative aspect of LLMs, which is where Rich's skepticism leans. I'm currently building massive ETL pipelines that involve sifting through tons of heterogeneous types of data. That's the consumption side I'm talking about. Being able to extract semantic value from dissimilar sources and deductively and inductively draw conclusions about all sorts of things - the shape of data, behaviors, payloads, endpoint constraints, etc. - is enormously useful. Before LLMs, painstakingly analyzing every corner case was awfully time-consuming yet unavoidable. It's like looking for a bunch of needles in a random-sized pack of haystacks where the shape, color, density, or magnitude of each needle and haystack can't be easily predicted. It's like using human labor vs. machines to collect, I dunno, cotton. It almost makes no sense not to use machines, except maybe for specific cases where the type of cotton is too fragile or expensive. Of course, machines can miss, but in general, humans would be still sloppier, just because humans do get tired, get hungry, get distracted, etc.
That is the side of LLMs that often gets ignored, with the main focus being on the composition, which still raises some questions and skepticism, and for good reasons too. But I can absolutely vouch for LLMs being enormously useful on the other side.
Hello rented_mule! I’m also working on a cartography pipeline using public data sources, I’d love to hear more and to share ideas, my email is my HN username at duck dot com
Or really? I can ask you the same question about your very comment. How often do you travel to a conference that's been held for almost 20 years, face the person founded the entire "ethos" - the whole reason for that conference, stand in a circle of people highly respecting that person and try to debate and argue? I guess, judging by your comment, I'd say you just might. Well, I couldn't do it so easily.
Afaik, Planck didn't use the exact wording (someone simplified it into that, but it's not the literal quote), and it would be huffy of me to even categorize my brief conversation with Rich in that way. Who knows, if I had more time, I could maybe convince him to try to be less skeptical about LLMs. He's not a dogmatist; he's very practical, and things explained pragmatically can change his stance about anything.
Oh, grow the F up. I can't believe I have to explain the basic tenets of human communication here - stuff that children learn before they turn eight. Once again, I wasn't chatting with the guy at a random bus stop, at an airport, or on my personal podcast - we were at a Clojure conference, surrounded by people who flew all the way to Charlotte from places like Sydney and São Paulo. Of course, basic human decency dictates letting him talk instead of constantly interrupting him and vigorously arguing. Not only out of respect for the person, but for other people too. There's a time and a place - you need to know when to "evaluate critically" and when to STFU. It has nothing to do with the so-called "worshiping" you're implying.
Even if it was said in the general sense, I still don't get this fetish of catching someone in an adulatory vibe streak. One can't even express genuine respect feelings about anyone in the industry without someone jumping in with "take it back" shit.
I don't get it, why people often act like some fucking kindergarteners, don't they understand that humans are complex creatures - they might have done something genuinely good (for which respect is due) and then years later turned into a jerk. That doesn't erase their prior work. I see that often with figures like RMS. Someone told me once: "Emacs would be great if not for that guy..." So, imagine a person plants a tree and then people come and plant more trees around it, turning the entire area into a beautiful forest of trees, and then that first guy turns out to be a villain. Do we now just destroy the forest that everyone still enjoys, and try to erase that villain's work, or do we still say: "Thank you Mr. Villain for planting that first tree..."?
On Rich Hickey specifically, sure the guy might have been wrong on some things, yet we can't completely ignore his bona fide contributions in the field just because we disagree on some things, that ain't right. You can't just ignore the fact that he did change many people's lives for the better.
The clojure community (what remains of it, as you say) is extremely guilty of this. They love repeating everything he says like it's the word of god. Try to explain the benefits of static typing to them and they just drop into an infinite loop of quoting Hickey.
I can't believe you're doubling down on your senseless take even after my explanation and downvotes of your initial comment. Congratulations, you just made everyone reading this exchange a little bit more stupid.
I don't get it, are you unaware of the basic norms of actual human communication or something? Please explain to me how you envision arguing with someone, anyone, in a place and time like that. Or are you suggesting I should have been heckling him about static typing right there, on the spot, in front of other people? Otherwise, I suppose I'm worshiping and I should admit I'm in a cult?
My comment is not blind hero worship without actually addressing any of the arguments made by the person in question.
Hickey's article is terrible. He's arguing semantics and then patting himself on the back. Anyone who can't see that is willfully blind.
This also isn't the first time Hickey engenders this kind of blind hero worship. He has been spouting nonsense about Haskell for years, for example. Clojurists don't understand enough of it to understand how silly the things are that he's saying, but they sure as hell will repeat it everywhere.
Au contraire. Many Lispers are well-versed in Haskell and different kinds of type systems. Coalton, core.typed, Typed Racket, Malli - these don't exist just for the sake of it. And many constantly disagree with Rich, with Halloway and other clojure.core members about all sorts of things. The "Maybe Not" talk got a lot of pushback, and most of it came from clojurists. The majority of them are pragmatists - they use whatever makes sense. In many cases, the specific dynamism of Lisp fits much better than the rigidity of Haskell-like type systems. They use static types where the invariants are stable and dynamic data where the shape is open or changes often. Many work that way, often by validating with Malli at the edges and keeping the core loose. It appears to me that you're blindly "worshiping" whatever or whomever. I gave you the exact example where I was [respectfully] disagreeing with Rich, and you decided to turn it inside-out, just to make it fit your own, totally imagined narrative - now who's blind here?
If Python, Golang and Rust were such great languages, humans would've discovered them sooner.
Da fuk you're even talking about? People ARE using Lisp dialects. The biggest digital bank in the world runs on Lisp. The oldest known text manipulation system is built on Lisp. Have you ever checked GitHub language stats to see where Elisp stands? Apple, Cisco, Netflix, Amazon, even NASA - they all use Lisp. It works for them. What do you mean "more"? Just because McDonald's is the most popular restaurant in the world, it doesn't make it Michelin star worthy.
> Lisp has existed more than 50 years
Exactly! Pascal, COBOL, Fortran, Ada, Smalltalk, Prolog, Perl, Delphi, VB, ActionScript, ColdFusion, dBase/Clipper - these all were quite popular at some point in time. When was the last time have you've seen any discussion here or anywhere else on e.g. Ada? I just performed HN search directly from the Lisp-based Emacs, last story on Lisp was posted two hours ago. Before that - 18hrs ago, and then 22hrs - there's Lisp-themed post every single day.
Are you effing blind or something? What "more" of are you demanding here?
We've been saying this stuff since 2016, and it feels like some autotherapeutic, self-convincing gibberish that a victim chained in the basement whispers over and over. And when the rapist comes kicking in the door, they be like "but, but... this ain't right..."
We should stop hypothesizing and assume he'd do the worst, because as the (recent) history shows, he'd do much worse than anyone ever expected. Because the guy is a psychopath. He doesn't care about laws, words, or ethical norms.
reply