ClojureScript on HN front-page. Please upvote, but don't post direct link here. Visiting direct link gets penalized. If it's not on the front page anymore, please find the post "organically" using search on "clojurescript gets async/await"
https://mccue.dev/pages/5-8-26-ai-art I've gone back to posting
I know its poster's madness, but damn this reply gets me
so interesting, that username smells off and i wouldn't be surprised if that itself was ai-generated mass/casual astroturfing (or "PR") campaigns are certainly real
I posted it in r/aiwars - I think the there crowd is just like this
which is just so funny
I fully acknowledge that AI is causing problems. But that YouTube video you linked to isn't exactly making your point. Look at the ratio of likes to views.
I don't think AI hate is as "mainstream" as your post makes it out to be.
I don't think AI hate is as "mainstream" as your post makes it out to be.Someone pointed this out in the hackernews thread: consider that the language evolved the term "slop" to describe "bad" AI by-product. There is no corresponding term for "good" AI by-products. It is something people in the tech world seem to be in a bit of a bubble on, for whatever reason. Everyone else (at least in my life + in the spheres I am aware of) is either neutral or negative.
> that YouTube video you linked to isn't exactly making your point. Eh, I definitely could have picked a better one. But its almost a word association game. People associate "things identifiably AI" with stuff like "data centers bad" or any number of the ways in which AI is causing problems.
Fanboys (yes, most of them are men) think AI is some sort of delphic oracle, when in reality, itโs the result of brute force and cheap manual labor (thousands of people annotating data). I wonder if they consume AI-generated porn as well.
uhh
i mean sure probably
weird direction to take the convo though
I've experienced both the benefits and the drawbacks of AI. I've been significantly helped by it and other times driven absolutely mad by it. I would love to see more empirical sentiment data instead of leaning on our immediate circles. They tend to be polarizing.
Due to AI the quality of stuff we produce is worse, average in the best case. Due to AI lots of people are losing their jobs, in every sector, everywhere. Business dynamism is in decline. I donโt see any benefits apart from asking the machine to do stuff in English instead of Clojure or using a GUI, which imho is a terrible idea.
Having a voice is important for doing any creative job, and AI takes that away from you.
> I would love to see more empirical sentiment data That is fair. For me it was just shouting at the sky.
Part of me totally empathizes with the sentiment. I feel like I'm having to increasingly filter out social sources that sacrifice their own care, effort and taste for slop. If I want to consume machine gen'd content, I'll gen it myself, TYVM. You just proved I don't need you. But at the same, I can see it breaking down barriers and gate-keeping, democratizing knowledge and power. I think it's good for us to keep finding the pain points and keep pointing them out and showing people where this is going off the rails. But at the same time, I think there is some cause for celebration here. So far, this is going tremendously better than anyone ever expected. Just as a thought experiment... Can you imagine a near future where you actually find yourself missing the old, "cute slop from the mid 2020s," as if it was an era from the 80s? In some near future where the outputs are far less questionable and far more exact and within everyone's morally acceptable distribution?
"cute slop"? - are you serious? The underlying technology is probabilistic, right? it would be impossible to get rid of errors with the current approach. Dating apps were popular a few years ago, but now everyone hates them (the user experience is terrible and no one is getting laid). Gen AI may face the same future.
Not super serious, no lol
I could def imagine that too
Interesting thought experiment. Kinda like how I miss the memes from the early internet.
@asier.galdos But we're not all strictly using AI where the end result is the content they generate. For example, my desktop machine was having internet connectivity issues and despite my best efforts I could not identify the problem. Gave up and left it alone for a year. Down the road, one all night troubleshooting session with AI helped fix it. I had a rogue DHCP server on my LAN (solar panels) and didn't even know it.
I'm very tech savvy but I'm not a networking or solar expert. Without help I wasn't figuring that out.
I'll take a look at that. Looks really promising based on the slide in the thumbnail.
Some of you are creating open source AI-first libs using Claude, unmaintainable by humans. So in order to contribute to these libs you need to use Claude. It would be messy, to say the least. I also see https://github.com/day8/re-frame2 impressive specification to create the next re-frame version. I assume that the code that this specification produces will only be possible to maintain with Claude. If this AI-first approach works, and we stop caring about code, whatโs the point of creating libraries? you simply write specifications of your desired software and let Claude do the magic in Claudeโs preferred programming language.
My impression is that most of this stuff is model-agnostic. Are there projects out there which only work for claude? Or are you concerned about codebases that can only be maintained with AI tools? They all understand english (or obscure metamathics, if you prefer). And it seems like whatever problem we think we need to "optimize" for becomes irrelevant after about a week.
Yes, I am concerned about code produced by AI tools. Code will always be different, like the answers of prompts given by AI models is always different. re-frame2 spec is, I believe, co-authored by Claude, so I assume it is somehow dependent on Claude. According to experts, AI's don't have understanding nor abstract reasoning, so I don't know what you mean by "They all understand english (or obscure metamathics, if you prefer).".
A lot of the value of software comes from pre-explored paths and ironed-out edge cases - this has always been the selling point for OSS: more eyeballs vetting the codebase. If I generate my own reframe2, how can I trust it not to break somewhere down the line? All verification is on me and weโre losing this kind of herd immunity we had with trad software. IMHO not shipping a concrete and vetted implementation is a value regression compared to v1.
This (from re-frame2): "One-shot-able. The pattern specification in this repo is intended to be sufficiently complete that an AI can one-shot the implementation โ and maybe even in a variety of host languages. The implication: if you don't like this specification, change it, and one-shot your own framework. Roll your own. The spec is the artefact; the implementation is downstream. Historically, frameworks ship the implementation as the deliverable and treat the spec (if it exists) as documentation; re-frame2 inverts that. The further implication is that value has moved up the chain. The value of code is now $0 and it is disposable. All the value is in the specification."
1. The answer to our anxiety sometimes isn't the answer we are asking for, it could be the answer of why we ask this question. 2. The answer of our anxiety doesn't come from other's experience, but comes from our own experiences. 3. In the place I work, many engineers like me havn't created any PR ourselves in the past 6 months, I donโt think we are all irrational and I think the generated code can represent my thought. Actually, I observed that the more senior you are, the more lift you get from LLM. 4. I tried to "vibe" things at home, which worked, but I have no idea about the maintainability, because I have no understanding of them. 5. What I learnt from 3 + 4: a. We need to understand our work, because we have the responsibility. b. We need our understanding for our work until no work need us. c. The ceil of our understanding decides how much we can leverage from LLM. d. Understanding / judgment comes from the tacit knowledge built during the โhttps://pages.cs.wisc.edu/~remzi/Naur.pdfโ.So maybe you wanna try those two things too, writing code with LLM seriously and โvibingโ a toy without knowing the details. These โunambitious acitivtiesโ help build the theory of the relationship with LLM. 6. โThe value of code is now $0 and it is disposableโ might be exaggerated, at least IMO. I think we might agree on โCode never holds the whole value, because it doesnโt carry and reflect well all piece of necessary information. So does specification.โ 7. Nowadays, I start to see a good writing skill as the universal programming skill, and am jealous of native speakersโ advantages. (https://griffin.com/how-we-write, I am curious about how griffin continue their practices in LLM era.)
Most of the unmaintainable code I've seen in my 30 years of coding has been made and reviewed by humans.
@slipset, no shit Sherlock. What's the percentage of AI code you have reviewed in your 30 year career?
Spec-driven development looks so boring, and I predict, it will be a huge mess.
Wow, it's fascinating how Griffin encoded that into their motto. (As a fellow good writing lover - although English isn't my native language.) As for the main topic, man, what can I add... it's only been something like 6 months we've started using LLM-focused coding, and it's already popping up everywhere, even here. I guess we can only guess the trend and import of what's happening to our practices. In other words, how do we think things will be in 2030, and 2040? ๐คฏ
We know it will be a mess. Just look at how well off-shoring worked out.
A bit more useful though. It's my impression that the agents are so willing to please that they'll jump through any hoop to get there. So you not only need to spec what you want, but also all the possible adjacent things you don't want. It's like dealing with a computer. With no intention of understanding intent.
I don't know how 2040 will look like. I just know that general population's IQ levels have dropped.
just sayin...
Clojure > English.
And for the record. I use agents every day these days. Don't write much code by hand.
@slipset, you are senior, competent guy. What about the junior talent pipeline?
That is a real problem. Haven't quite figured it out yet.
Imagine life in a world in which everyone, when they become 5 years old, is assigned an expert-twin-for-life. Each kid goes to school with their expert-twin who sits at the same desk and often holds the pencil to do the work and pass the tests. These people eventually reach the age of being new workers. How do they work? What kind of output do they produce? How can we describe them, their IQ, their other essential "features"? (Asking an AI this question might be funny. It's Friday, isn't it?) And how do our own habits resemble this now? And how will our own habits resemble this in 1 year? ... I hope we're going to fluctuate, triangulate our way in and out of this mess.
As for e.g. re-frame2... we all know how we've often felt limited by this software, that tool, etc., and evaluated whether the hassle of forking (and maintaining the fork) was worth it. With AI in the loop, we're going to see a mess, a soup of software-like-how-I-like-it packages. It's going to be such a mess. It's already sometimes difficult (for some of us) to make decisions between some good options. Spec or Malli? Component or Integrant or one of the 8 alternatives? Now, if there's 150 variants of Malli, all with READMEs convincing you they're the best, and if every category is like that, isn't @asier.galdosโs question about maintainability becoming that much more relevant? You stop working at this company or on this project and start working on this other one - and there, they've made different choices for each of the 30 dependencies they use. You have no "stable" intuition about any of them - you say to yourself : well, OK, let's... let the AI figure it out, I can't be expected to learn the ropes through all of them. Heck, at this company we've got 10 projects, and each one made entirely different choices for each dependency!
So many things going on these days. It's fascinating and exhausting at the same time.
Historically, haven't we always faced this issue via the lisp curse? Yes, overly bespoke "how-I-like-it" libs are burgeoning, but I don't see how much harder that really makes it for us to converge on social solutions. Does the severity of our collective lisp curse scale with the number of cursed libs? I feel maybe it levels off at some point. For example, I'd consider re-frame (v1) to be foremost a social solution. The philosophy tended to carry through, regardless of whose particular fork or silly macro-sugar you might find in the wild. The design choices are simple enough that you often don't need a gold-standard impl - you can just deal with any code intricacies imposed by re-frame's source code as you iterate on your userland app. Re-frame2 having a "roll-your-own" aspect seems to embrace this perspective.
I see a problem with the "roll-your-own" aspect of re-frame 2. English is not a formal language, the LLM compiler can create different code each time you run the specs. Also, is the spec "optimized" for Claude or will it work with other AI models?
Can Wan 2.7 create epic scenes like John Ford did in The Searchers 70 years ago?
Baby steps. I am still working on a dog turning in a tight spiral to lie down. ๐ถ
We built a custom image-generation platform using OpenAI and Mistral models to assist therapists to reinforce positive memories for their patients based on their history. The generated images were accurate many times but soulless all the time.
It is def a fine line. I had Qwen edit pix of our childhood dog, Duchess. Very rarely could a clone grab my heartstrings as did the original.
Dancing bears impress not by how well they dance, rather by their dancing at all. Not sure my point. But I just fired up Wan 2.7 img to video and it blows away 2,6, Given electricity, predict GPUs running transforms solving NL translation. Not me. Doom and gloom? No nuke hase dropped since Nagasaki...I will see what ChatGPTthinks...
I think it's actually going to be exactly the opposite โ we are going to see less variety, not more. There is zero reason to create a better "Malli" or "React" or whatever else if you don't write any code for it yourself. The chatbot doesn't care, it doesn't have taste (yet), judgment (yet), boredom (yet). When you lack those things, you are fine writing the same React till the Big Freeze.
> I assume that the code that this specification produces will only be possible to maintain with Claude. why do you assume that?
So far, all the code I've committed to my open source libs (and at work), that was written by LLMs, has been maintainable (and fairly idiomatic). Just because the code is generated by Claude etc does not mean it is unmaintainable.
But your libraries aren't created AI-first ๐คท > Some of you are creating open source AI-first libs using Claude
I don't want to embarrass anyone, some libs have code that is impossible to manage,
@gar, what do you mean?
Oh, sorry, I was referring to Sean's comments about his own libs. They are not AI first - very much unlike the example of Reframe2 that you mentioned.
Exactly, And very much like some libs I've seen lately,
@foo, right, let's see the result.
I think it's wild to use an LLM to generate large amounts of code in a language of which there is comparatively little in the wild and about which you can't formally reason (either would compensate for the other). I use LLMs, but my last experience using one to write Clojure at any scale was not positive.
PhDs are also expensive machines for generating write-only code
> my last experience using one to write Clojure at any scale was not positive I'm curious when that was, given how fast LLMs are improving?
it was before this most recent wave of models, around the middle/end of last year. it sounds like you've had good experiences
Yeah, every new round of model releases improves things, and the tooling around Clojure and LLMs is also improving rapidly.
My "daily driver" is VS Code + Calva + Backseat Driver (REPL access) + Copilot Chat (in auto mode, so it selects different models based on what it is trying to do).
@seancorfield Pleasantly surprised after revisiting Clojure with Opus
AI is such a moving target that it is hard to discuss coherently. I was really despairing, then Codex came along. Now it is doing well at using my tricky Flutter/MX library, and I am having it document its hard-won (its term!) lessons for future itself. Documenting that for itself was my idea -- the kid had not thought to do that. ๐ Returning to my topic sentence, maybe we should have this discussion after AI stops improving? ๐คฃ
Currently the underlying technology has inherent flaws. Itโs incapable of abstraction and it does not generalize. It needs manual labeling (thousands of people doing this work cheaply, even PhD graduates), millions of mobile phone apps doing the scrapping from the internet, and huge data centers that consume a lot of energy (i.e. consuming 6% of electricity in the UK and US). All that effort for creating average (I am being generous) output. If AI improves, the barrier of entry will be very low. And if it does not improve, companies will have to manage the unmanageable, and with no margins (prices will go up too). The reality is that creating software is already fast without AI (specially with tools like Clojure), the problem is maintenance, reliability, evolution, backwards compatibility and all those things we care about. I really donโt see a point going all in on AI. Itโs useful, but it has important tradeoffs.