He's just an idiot doing it in public, because there are people generating hundreds of posts a day for years now without committing it on github under their real name.
This post is added because it's so easy and to show that it's being done in real life. That we can't have nice things, because of mindless people like Nawaz Dhandala.
I'm quite sure in every passing second people are pumping more AI slop to the internet. I just don't see why this is something special (unless it's a well-known project among HN users that I'm not aware of.)
>The economy of the State of California is the largest in the United States, with a $4.048 trillion gross state product (GSP) as of 2024.[2] It is the largest sub-national economy in the world. If California were an independent nation, it would rank as the fourth largest economy in the world in nominal terms, behind Germany and ahead of Japan.
I mean, today it's possible to generate it in Tcl, Elisp, Windows BAT, Powershell.
The effort is just 1 prompt.
The WHY question is much more important today -- "because I can" no longer makes sense, because we all can do much, much more with minimum effort today than before LLMs.
Yes, c89cc.sh was definitely AI-assisted. However, I do carry extensive knowledge of the portable shell that was essential for the AI to complete it.
You'll find tricks inside c89cc.sh that don't exist anywhere, except in other code from me (like the ksh93 fix for local dynamic scoping or the alias/macro read -n1 polyfill).
The WHY is pretty obvious: I want to show that the portable shell is not a toy.
>The WHY is pretty obvious: I want to show that the portable shell is not a toy.
What does that mean? You sat down with the goal of showing that a decades old scripting environment can be used for large projects in production, with all its obscure hacks? I'd say it's more a novelty project made for the fun of it - and that's fine, it's a cool project.
It would be pretty interesting to read a blog post about the making-of: How to write a compiler in portable shell, what parts could be automated and where LLM-coding fell short, what rare tricks were applied, etc...
Most people think shell is just bash, and portability is impossible.
It is also common sense that shell scripts are just glue code, and it's impossible to do anything else with it.
I think they're wrong. Never said one should use this to write large production programs though.
The hacks I'm using are no different than JavaScript polyfills (set once, makes a feature more uniform). It's actually a clean design, the bulk of the program is POSIX shell.
I dont. I use this as my coding harness (replacement of gemini-cli/claudecode etc). I dont want to sandbox it because I expect it to be used only for coding on projects. I dont want to over complicate it.
I am building my own assistant as an AI harness - that is definitely getting sandboxed to run only as a VM on my Mac.
I use a sandbox example extension with comes with Pi, it uses the anthropic sandbox runtime (bubblewrap on linux). The runtime has one bug and needs one improvement (I've made PRs, no response yet). Pi's sandbox example extension does not block internal tools (read/write) according to rules, I've created a PR but can't submit because of Pi's OSS vacation BS... https://github.com/badlogic/pi-mono/compare/main...k3a:pi-mo... I am quite happy with my patched forks for now
I just told PI to generate itself a permissioned_* equivalents of read,write,bash,edit. Now, permissioned_read,permissioned_write,permissioned_edit have full access to anything from current dir and deeper, and permissioned_bash is always permission-gated.
Default read,edit,write,bash are disabled.
It seems to work really good.
Generally, I'm in awe. I think I've already changed the way I work.
reply