5 ms·
I wouldn't call these flawless but here you go: - https://github.com/simonw/denobox https://github.com/simonw/denobox is a new Python library that gives you th
by simonw 10mo ago
I wouldn't call these flawless but here you go:
- https://github.com/simonw/denobox https://github.com/simonw/denobox is a new Python library that gives you the ability to run arbitrary JavaScript and WASM in a sandbox provided by Deno, because it turns out a Python library can depend on deno these days. I built that on my phone in bed yesterday morning.
- https://github.com/simonw/pwasm https://github.com/simonw/pwasm is a WebAssembly runtime written in pure Python with no dependencies, built by feeding Claude Code the official WASM specification along with its conformance test suite and having it hack away at that (again via my phone) to get as many of the tests to pass as possible. It's pretty slow and not really useful yet but it's certainly interesting.
- https://github.com/datasette/datasette-transactions https://github.com/datasette/datasette-transactions is a Datasette plugin which provides a JSON API for starting a SQLite transaction, running multiple queries within it and then executing or rolling back that transaction. I built that one on my phone on a BART (SF Bay Area metro) trip.
- https://github.com/simonw/micro-javascript https://github.com/simonw/micro-javascript is a pure Python, no dependency JavaScript interpreter which started as a port of MicroQuickJS. Here's a demo of that one running in a browser https://simonw.github.io/micro-javascript/playground.html https://simonw.github.io/micro-javascript/playground.html - that's my JavaScript interpreter running inside Python running in Pyodide in WebAssembly in your browser of choice, which I find inherently amusing.
All of those are from the past three weeks. Most of them were built on my phone while I was doing other things.
- CjHuber 10mo agoBased on those, it seems you are not actually using them to create big codebases from scratch, but rather for problems that would normally take quite a while, not because they are inherently difficult to implement, but because you would normally have to spend considerable time on the finicky implementation details. I think that's the reason why LLMs work so well for some like you, and generate slop for others, because if you let them alone with projects that require opinionated code and actual decision making they most often don't grasp the users intention well or worse misinterpret it so confidently that you end up with something with all the wrong opinions and decisions compounding path-dependently into the strangest and most useless slop.
- simonw 10mo ago"for problems that would normally take quite a while, not because they are inherently difficult to implement, but because you would normally have to spend considerable time on the finicky implementation details" Yes, exactly! How amazing is it that we have technology now that lets us quickly build projects where we would normally have to spend considerable time on the finicky implementation details?
- nothrabannosir 10mo agoPretty nice I guess. Cool even. Impressive! And I only say this , just in case, for someone else maybe, ehh—is that it? Because that’s totally fine with me, same experience actually funny that, really impressive tech btw! Very nice. Just, maybe, do the CEOs know that? When people talk of “not having to code anymore”—do they know that this is how it’s described by one of its most prominent champions today? Not that I mind, of course. As you said: amazing! Maybe someone just check in with the CEOs who were in the news recently talking about their work force…
- theshrike79 10mo agoAutomate tools, not jobs. Every single tool or utility you have in the back of your head, you can just make it in a few hours of wall-clock time, minutes of your personal active time. Like I wanted a tool that can summarise different sources quickly, took me ~3 hours to build it using llm + fragments + OpenAI API. Now I can just go `q <url>` in my terminal and it'll summarise just about anything. Then I built a similar tool that can download almost anything `dl <url>` will use yt-dlp, curl and various other tools depending on the domain to download the content.
- simonw 10mo ago> When people talk of “not having to code anymore” You should reinterpret that as "not having to type the code out be hand any more". You still need a significant depth of coding knowledge and experience to get good results out of these things. You just don't need to type out every variable declaration and for loop yourself any more.
- Cyph0n 10mo agoI am not at all an AI sceptic, but probably less impressed by what LLMs are capable of. Looking at these projects, I have a few questions: 1. These seem to be fairly self-contained and well specified problems, which is the best case scenario for “vibe coding”. Do you have any examples of projects where the solution was somewhat vague and open-ended? If not, how do you think Claude Code or similar would perform? 2. Did you feel excited or energized by having an LLM implement these projects end-to-end? Personally, I find LLMs useful as a closely guided assistant, particularly to interactively explore the space of solutions. I also don’t feel energized at all by having it implement anything non-trivial end to end, outside of writing tests (and even then, not all types of tests!). 3. Do you think others would find these projects useful? In particular, if you vibe coded them, why couldn’t someone else do the same thing? And once these projects are picked up by future model training runs, they’ll probably be even easier to one shot, reducing the value even further. Let me provide an example of what I mean by (2), at least in the context of hobbyist dev. I could have Claude Code vibe code a Gameboy emulator and it would probably do a fine job given that it’s a well specified problem that is likely well represented in its training data. But the process would neither be exciting nor energizing. I would rather spend hours gradually getting more and more working and experience the fruits of my labor (I did this already btw). At $DAYJOB, I simply do not have confidence in an LLM doing anything non-trivial end to end. Besides, the complexity remains in defining the requirements and constraints, designing the solution, gaining consensus, and devising a plan for implementation. The goal would be for the LLM to pick up discrete, well defined chunks of work.
- simonw 10mo ago"Do you have any examples of projects where the solution was somewhat vague and open-ended" This one is pretty open ended, and I'm having a ton of fun designing and iterating on it: https://github.com/simonw/claude-code-transcripts https://github.com/simonw/claude-code-transcripts - it's also attracting quite a few happy users now. I have another project in the works in Go which is proving to be a ton of fun from a software design perspective, but it's not ready for outside eyes just yet. "Did you feel excited or energized by having an LLM implement these projects end-to-end" I'm enjoying myself so much right now. My BART rides have never been this entertaining before! "Do you think others would find these projects useful? In particular, if you vibe coded them, why couldn’t someone else do the same thing?" I don't think many developers have the combined taste and knowledge necessary to spin up Denobox or django-transactions. They both solve problems that I'm very confident need solving, but I expect to have to explain why those matter in some detail to all but a very small group of people who share my particular interests. The other two are pretty standard - I suggest anyone who wants to learn more about JavaScript interpreters or WASM runtimes try something similar in the language of choice as a learning exercise.
- arcanemachiner 10mo agoHow much do you pay per month for AI services?
- simonw 10mo ago$200 to Anthropic, $20 to OpenAI, ~$10 in API fees for various other services, and I get GitHub Copilot in VS Code for free as an open source developer.
- GreenWatermelon 10mo agolmaoo that's more than half of my salary and I'm pretty well-paid in my country.
- klustregrif 10mo agoDid you misread the numbers or are you a “well paid” junior programmer working in Nigeria? Because here In northern Europe you couldn’t even have a completely untrained teenager working 4 hours a week at minimum wage at that level.
- GreenWatermelon 10mo agoMid-Senior in MENA. My monthly Salary is around 740 USD (Converted), and while I exaggerated that more than 50% figure, 200 USD/m is still a gigantic chunk of money to spend on something with dubious return on investment.
- klustregrif 10mo ago> gigantic chunk of money to spend on something with dubious return on investment. There is nothing dubious about it. It’s providing verifiable value. Tasks that we would have set for developers or UX’ers last year are solved by it. At 1/50 of the cost, and with great scaling because the tasks are solved faster than you would even be able to explain them to a human and we can initiate 5-10 parallel tracks without having to onboard new people. And sure it might not make sense to give a 200$/m AI tool to a worker you are paying 800$ but when we have devs that are paid 8000$/m then it’s great return on value to have one person being 10 times as productive at 8200$ instead of spending 80000$/m on ten developers just to be able to say we are doing authentic AI free artisanal software development.
- AnthonyCalandra 10mo agoYou keep saying you "built" this or that, but did you really? Of course I don't know for sure if you had any substantial input other than writing a few paragraphs of prompt text and sending Claude some links, because I didn't witness your workflow there. But I think this is kind of what irks some people including myself. What's stopping me from "building" something similar also? Maybe I won't be as fast as you since you seem to be more experienced with these tools, but at the end of the day, would you be able to describe in detail what got built without you asking Claude about it? If you don't know anything about what you built other than just prompting an AI, in my opinion you didn't actually "build" anything -- Claude did.
- simonw 10mo agoThere's an ongoing conversation among coding agent enthusiasts right now about the correct verb to use. One of my favorite options is "directed" - "I directed this". It's not quite obvious enough for me to use it in comments on threads like this though. I've also experimented with "We built" but that feels uncomfortably like anthropomorphizing the model. One of the reasons I publish almost all of my prompts and transcripts is that I don't believe in gatekeeping this stuff and I want other people to be able to learn how to do what I can do. Here are the transcripts for me Denobox project, for example: https://github.com/simonw/denobox/tree/transcripts https://github.com/simonw/denobox/tree/transcripts - you can view those with my new https://orphanhost.github.io/ https://orphanhost.github.io/ tool like this: https://orphanhost.github.io/?simonw/denobox/transcripts/session_01YPjfqhEwVGZ6foGxdKZC7H/index.html https://orphanhost.github.io/?simonw/denobox/transcripts/ses...
- AnthonyCalandra 10mo agoThanks for sharing, I'll take a look!
- kaydub 10mo agoI don't think it's wise to bend to those with FUD. I don't say "my tablesaw and I built this table" I say "I built this table"