Long-form comments in the code are AI-written too, so I assume the whole thing is vibecoded. I guess my question is why. This is obviously not a piece of software anyone will ever use. If the author didn't do this for themselves - to learn, to show off their skills - then why bring it to life while concealing how it was created?
The only reasons I can think of are not very charitable.
I think all AI projects should die, but if your question is aimed as to "why to publish it on github", then why not? Others could look at the code and learn from it (perhaps); and it is easier to distribute it that way too, in many cases. So I don't fully agree with the assumption that it would be automatically useless. Personally I won't use AI slop projects. It already annoys me to no ends that AI skynet successfully took over ruby development. I don't feel like even giving any feedback, as a few ruby devs such as Hiroshi Shibata, only interact with other beings via AI slop spam via claude; suddenly newly gained "perfect english language skills". It is all so fake now when AI infiltrates projects.
Not all AI-assisted projects are AI-slop. The fact that you think so only tells me that you’re deeply insecure about your knowledge of a subject that you’re interested in.
The default state is that things don't get done unless we have a reason. So there is a motivation at play and it's OK to inquire about it, especially if the author appears to be cagey about how the project came to be.
I can intuitively understand the motivation for doing it if it helps you (learn, grow, make money, etc). I can also understand the motivation for doing it if it helps others. But on the face of it, neither applies to asking an LLM to build something completely abstract like this.
If your answer is "it was the author's childhood dream", fair.
> The default state is that things don't get done unless we have a reason.
What about art? People make art and inventions just for the hell of it and to satisfy come itch. Whether or not other people then like it or find it useful is subjective and up to the individual. IMO taking away peoples right to make stuff for no reason and enjoy doing it is to take away our humanity.
I upvoted the article because it brought me some nostalgia and entertained me for a bit while I played with it and knowing how to code a spectrum myself, marvelled at the complexity of the code and the project itself. Maybe people have more reasons to enjoy things than your narrow viewpoint allows for?
> But that brings me to the second half of the argument: I think we upvote this article in large part because of the historical association of a "crazy 8-bit software project" with "something that took perseverance and skill and our community should reward it". That link is severed now.
There’s the problem: you are assuming everyone else thinks in elitist terms like you. It still is a crazy 8-bit software project. It still rather impressive and fun to see.
Your “historical reason” reads a lot more like whining than anything else and it does come across as a display of insecurity.
AI is just a freaking tool. The dev used to tool to bring his vision to life. That’s the extent of it. Stop making such a fuss over something that quite literally was just made for fun.
Let people have fun in peace. Let people enjoy things in peace.
If you’re familiar with the way in which documentation artifacts like this fall out of a Claude project, you will recognize that every place where Claude says ‘this changes everything’ or ‘this is the load bearing insight’ most likely resulted from a human looking at what Claude had done, and redirecting it towards a more fruitful line of inquiry. When Claude gets ‘excited’ about a thing like ‘we figured out which clock measurement approach helps us actually optimize performance’ - excited enough to explain it in this level of detail - it usually results from the user pulling Claude out of a rabbit hole where it was going about things the wrong way.
> I guess my question is why. This is obviously not a piece of software anyone will ever use.
My best theory would be it's something that was built as like a novelty/proof of concept, that a current state of the art LLM can do tedious tasks like assembly on a ridiculously old/low resource platform and turn out something that actually looks coherent. I don't personally know a lot of people who enjoy building large things in assembly but LLMs aren't bothered by doing tedious tasks. Due to the tiny size of the thing it can probably very rapidly iterate on "this doesn't work, change a thing, run it again" thousands of times.
> If the author didn't do this for themselves - to learn, to show off their skills - then why bring it to life?
Why not?
What if the person just wanted to see if it could be done and how it would look like, but wasn’t interested in the nitty-gritty bits in between?
There’s so much elitism and “you can’t sit with us” energy here that I feel like I just lost 4 decades of my life just reading this—and not in a good way.
Yeah, there certainly is AI slop. But there’s also very good uses of AI. So how about we stop shaming people for just building things they wanted to build using the tools at their disposal?
> But now, it isn't, so is it still something we ought to celebrate?
Why isn’t it? Don’t “having an idea and acting on it” count anymore? You guys seem so utterly insecure it’s depressing.
Like many things in life, the answer is just "because I want to" and "because I can". Not everything has to be a linear progression or a level-up mechanic like mmorpg.
Sometimes you want to create something out of creativity and you like seeing it done. The same way a painter wants to create something, not to show off skills, not to linearly progress onto something, but because they like making something out of nothing.
I wonder: was there a time when using a compiler was considered cheating? "Real men" code everything in ASM!
I do recall a whole era when using a GUI was considered cheating and denigrated as a "point and drool" interface (a play on "point and click").
Is using a combine cheating in farming? Is a nail gun or using prefab wall sections cheating in home construction? Is a 3D printer cheating in fabrication? If someone prints something with a 3D printer, do we say "you didn't make that, the printer did!"
I find it weird for people who like technology to be so averse to tools that automate labor since that is literally what all technology is, and a tool to automate intellectual labor is literally what a computer is. A machine is a thing whose purpose is to provide leverage to amplify human effort and more rapidly realize human intent in some domain.
Maybe it comes from a category error. AI is kind of a hand-wavey term, since most people think it means the thing is sentient. It's not. It has zero intent, zero motivation, zero ability to choose anything not already in its training data, and it will go precisely where its context window (and training data) guide it. It's a tool, a machine, and like any other machine it is set in motion by the user and guided by the user. The "choices" it makes are latent in its data or structure, or implied by its prompt. (Yes sometimes they can be surprising, but that's true of all complex machines.)
Actual sentient AI does not exist. It might someday but it does not today. I suspect it requires a very different kind of system with continuous learning, dynamical state, and feedback, and a goal function tied somehow to thermodynamics in the real physical world the way ours is, but that's pure hypothesis on my part. We don't even have rigorous definitions for such things.
For me the red line is obviously AI generated readmes. If the author can't even be arsed to write obviously human facing text by himself I immediately lose all interest too.
Thinking of and expressing the functionality of the thing might be the labor of love for this person. Their definition of labor doesn't have to be yours.
Can anyone suggest a simple high-level graphical desktop (perhaps written in a mix of assembly and C) that comes with good documentation, or even an associated textbook?
It’s Claude’s earnestness that’s so disingenuous in this kind of write up. This voice Claude has where it believes the work is important and deserves to be taken seriously, and where it takes ever part of the process where it has to adjust its approach because of a thing it figured out as a great insight which is incredibly valuable and that people should be made aware of…
I feel like vibecoded projects need Claude to pick up on a sense of ‘this is just me messing around’, and a project like this where there does appear to be genuine digging into the art of performance tuning Z80 assembly needs Claude to understand ‘this is impractical hacking for hacking’s sake not groundbreaking research’
I don’t have a problem with projects which are, essentially ‘Claude and I burned a lot of tokens for giggles to see just how far you can push something’. But the write up needs to reflect that spirit.
That's an excellent way of putting it. It's like an enthusiastic student who points out all the really smart stuff it did so that the teacher will be impressed and give it a gold star...which is basically what its RL environments were.
Wow I did so many of those when i was 12 or around that age. Mostly I tried copying the Amiga Workbench on my +2A (the gray one).
Obviously at that age my knowledge of coding and window managers wasn't exactly deep and i mostly only had seen other OS from magazines. I don't think I even knew what 'drag-n-drop' was and was a bit confused at what the Trash bin should do (i loaded code from tapes).
I don't understand the negativity. Someone had great time. Why being so negative. Of course no one would have invested time, if not llm's - that wouldn't even exist.
> Instead I hear about the great time Claude had being prompted to do it.
I don’t think anyone is talking or even considering how much fun Claude had coming up with the code for this.
Fun is subjective. “A great time” is subjective. The author could have had bucket loads of fun discussing, architecting, rethinking, planning and bringing the project to life through Claude. Or they could have had a miserable time with Claude but just wanted to see the thing working. Maybe both? Maybe neither?
The point is: chill. AI is nothing more than a tool. A tool that requires an operator. And like every other tool in human history, it can produce bad results or wonderful results, it all depends on who’s operating it and how much domain knowledge they have.
Things aren’t so black and white. Open up your mind a little (crazy concept, I know) and just let people enjoy things.
For an 8 bit Z80 based hardware project like this, assembly is a valid choice. The reason is performance. You'll lose significant performance with a compiler or interpreter.
There is practically no other choice on a Z80. C compilers really don't like the Z80 ISA and create both slow and bloated output, at least compared to manually written asm. And on top, you can do many optimization tricks in assembly that simply are not possible in a high level language (self-modifying code, jumping into the middle of an instruction, etc...).
Forth might work better than C, but tbh, assembly code is more straightforward and easier to read than Forth ;)
I believe most of the 8bit microcontrollers from this era have no good optimizing compilers that get close to what competent practitioners achieve with assembly. I think it has to do with having complex addressing modes making the C stack fairly inefficient.
maybe they have a day job in a jurisdiction where their employer could claim ownership of the code if work was done during hours they paid for. it would be safer to scrub commit times if you’re worried about an aggressive employer.
I had fun playing around in Claude getting it to write 6502 assembler for the BBC Micro. It is fun to imagine what we could have built on those old machines with these new coding agents! But it is kind of hollow isn't it.
> If you've never done anything for yourself, usually with your own hands, you don't understand the pleasure and satisfaction that comes from doing it.
That’s an absurd thing to say.
Doesn’t matter what “AI” feels or doesn’t feel. AI is a tool. You can derive as much pleasure from having an ideia, planning it, working on it from a higher level, and seeing it come to life as you do when you get down and dirty with it and do it from the low level up.
You are arguing against a very well known phenomenon. Technical people often avoid getting promoted to management precisely because they love doing the thing themselves. Despite the higher potential for impact in a management position, losing the detailed view of a practitioner is a real loss. This phenomenon is less obvious in big tech because there are so many people who really wanted to be managers the whole time, but had to be engineers first or never really cared about the work, but want a promotion for the better pay.
Designing a table and letting somebody else build it can be enjoyable, too.
There are plenty of people enjoying designing, for example people who 3D print objects they design, or people designing PCBs or even entire gadgets but outsourcing production.
With LLMs, I guess a factor is how much direction you give the machine. “Build me a graphical desktop” likely isn’t very enjoyable, but I can see co-working with a LLM being enjoyable. Examples
- think of some novel UI interaction, and let the LLM code it
- spending hours to speed up the GUI or to make it use less memory
Knowing your limitations of building, but being good at designing and watching somebody/something else realise your vision is incredibly satisfying.
I see it like 3D printing. Nobody can extrude molten plastic out of their bodies to make things, but the skill of designing the construction well and then watch the machine execute it is certainly a good feeling. I dont really see how this is different to designing some software verbally and prompting an ai to build it for you.
I have coded big projects manually for a long time. Being able to get ai to do it, then step back and marvel at knowing how much work that would have taken manually is very satisfying.
You can say the same for building computers. You didn't actually "built" a computer from the ground up. You just bought the pre-made hardware and plugged it in the places that are made to be easily pluggable.
Everything in tech is about standing in the shoulders of what came before.
Not for me. I do like having an agent at my disposition that accelerates the way into making those little experiments a reality.
A sloppy reality? Maybe. But It's just tinkering, there's no other use case for this outside of saying "So this can be done, huh? Okay time to go to for a walk".
While it's totally respectable to treat your code as your personal zen garden, I like the idea of having a highway where I can make reality anything that comes from my imagination, and also having time for family, friends, work and exercising out of sedentarism.
I hate the fact there is more discussion on things on HN about whether or not its vibe coded than the actual merits of the project itself. I really dont understand peoples attitude of immediately turning off something once they know ai is involved. These people are going to become pretty conflicted when somebody finally vibe codes some software they really like or have wanted forever.
As far as this project goes, the spectrum was the computer of my youth, and seeing this and getting to mess around with it brings my heart joy and my mind lots of nostalgic thoughts. Thanks for sharing!
Related: The SymbOS operating system and graphical desktop for Amstrad CPC, MSX and some other Z80 machines was coded entirely manually - the first release was in 2006. https://www.symbos.org/
This is the sort of thing I've wanted to write for a long time. Yes it looks like this is vibe coded but I'm glad this was made because it's cool to see what can be done, and it's interesting seeing how AI can be used as a compiler essentially given the output is assembly.
I'd be interested if the author would tell us more about what they did here and what went into the design and evolution, rather than the AI README.
65 comments
[ 0.32 ms ] story [ 21.5 ms ] threadThe only reasons I can think of are not very charitable.
I think all AI projects should die, but if your question is aimed as to "why to publish it on github", then why not? Others could look at the code and learn from it (perhaps); and it is easier to distribute it that way too, in many cases. So I don't fully agree with the assumption that it would be automatically useless. Personally I won't use AI slop projects. It already annoys me to no ends that AI skynet successfully took over ruby development. I don't feel like even giving any feedback, as a few ruby devs such as Hiroshi Shibata, only interact with other beings via AI slop spam via claude; suddenly newly gained "perfect english language skills". It is all so fake now when AI infiltrates projects.
The default state is that things don't get done unless we have a reason. So there is a motivation at play and it's OK to inquire about it, especially if the author appears to be cagey about how the project came to be.
I can intuitively understand the motivation for doing it if it helps you (learn, grow, make money, etc). I can also understand the motivation for doing it if it helps others. But on the face of it, neither applies to asking an LLM to build something completely abstract like this.
If your answer is "it was the author's childhood dream", fair.
What about art? People make art and inventions just for the hell of it and to satisfy come itch. Whether or not other people then like it or find it useful is subjective and up to the individual. IMO taking away peoples right to make stuff for no reason and enjoy doing it is to take away our humanity.
I upvoted the article because it brought me some nostalgia and entertained me for a bit while I played with it and knowing how to code a spectrum myself, marvelled at the complexity of the code and the project itself. Maybe people have more reasons to enjoy things than your narrow viewpoint allows for?
There’s the problem: you are assuming everyone else thinks in elitist terms like you. It still is a crazy 8-bit software project. It still rather impressive and fun to see.
Your “historical reason” reads a lot more like whining than anything else and it does come across as a display of insecurity.
AI is just a freaking tool. The dev used to tool to bring his vision to life. That’s the extent of it. Stop making such a fuss over something that quite literally was just made for fun.
Let people have fun in peace. Let people enjoy things in peace.
My best theory would be it's something that was built as like a novelty/proof of concept, that a current state of the art LLM can do tedious tasks like assembly on a ridiculously old/low resource platform and turn out something that actually looks coherent. I don't personally know a lot of people who enjoy building large things in assembly but LLMs aren't bothered by doing tedious tasks. Due to the tiny size of the thing it can probably very rapidly iterate on "this doesn't work, change a thing, run it again" thousands of times.
Likes. Clicks. Vanity. Being able to list GitHub on a resume.
The usual stuff we get from anything adjacent to A.I.
We went to the moon with slide rules. Now we boil the oceans for "likes."
Why not?
What if the person just wanted to see if it could be done and how it would look like, but wasn’t interested in the nitty-gritty bits in between?
There’s so much elitism and “you can’t sit with us” energy here that I feel like I just lost 4 decades of my life just reading this—and not in a good way.
Yeah, there certainly is AI slop. But there’s also very good uses of AI. So how about we stop shaming people for just building things they wanted to build using the tools at their disposal?
> But now, it isn't, so is it still something we ought to celebrate?
Why isn’t it? Don’t “having an idea and acting on it” count anymore? You guys seem so utterly insecure it’s depressing.
Like many things in life, the answer is just "because I want to" and "because I can". Not everything has to be a linear progression or a level-up mechanic like mmorpg.
Sometimes you want to create something out of creativity and you like seeing it done. The same way a painter wants to create something, not to show off skills, not to linearly progress onto something, but because they like making something out of nothing.
I do recall a whole era when using a GUI was considered cheating and denigrated as a "point and drool" interface (a play on "point and click").
Is using a combine cheating in farming? Is a nail gun or using prefab wall sections cheating in home construction? Is a 3D printer cheating in fabrication? If someone prints something with a 3D printer, do we say "you didn't make that, the printer did!"
I find it weird for people who like technology to be so averse to tools that automate labor since that is literally what all technology is, and a tool to automate intellectual labor is literally what a computer is. A machine is a thing whose purpose is to provide leverage to amplify human effort and more rapidly realize human intent in some domain.
Maybe it comes from a category error. AI is kind of a hand-wavey term, since most people think it means the thing is sentient. It's not. It has zero intent, zero motivation, zero ability to choose anything not already in its training data, and it will go precisely where its context window (and training data) guide it. It's a tool, a machine, and like any other machine it is set in motion by the user and guided by the user. The "choices" it makes are latent in its data or structure, or implied by its prompt. (Yes sometimes they can be surprising, but that's true of all complex machines.)
Actual sentient AI does not exist. It might someday but it does not today. I suspect it requires a very different kind of system with continuous learning, dynamical state, and feedback, and a goal function tied somehow to thermodynamics in the real physical world the way ours is, but that's pure hypothesis on my part. We don't even have rigorous definitions for such things.
Was this, then, done to impress others rather than enrich the coders skills and experience?
The futuristic equivalent of pressing the “demo” button on old electronic keyboard and pretending to play
Which, if you think about it too hard, says something slightly profound and a little disturbing about identity…
Right... Except the whole thing being generated by a model derived from everyone's code.
I'm not even sure I'm against licensing it as MIT but maybe stop with the ridiculous claims on top of that?
I feel like vibecoded projects need Claude to pick up on a sense of ‘this is just me messing around’, and a project like this where there does appear to be genuine digging into the art of performance tuning Z80 assembly needs Claude to understand ‘this is impractical hacking for hacking’s sake not groundbreaking research’
I don’t have a problem with projects which are, essentially ‘Claude and I burned a lot of tokens for giggles to see just how far you can push something’. But the write up needs to reflect that spirit.
Obviously at that age my knowledge of coding and window managers wasn't exactly deep and i mostly only had seen other OS from magazines. I don't think I even knew what 'drag-n-drop' was and was a bit confused at what the Trash bin should do (i loaded code from tapes).
Good times i guess :)
Instead I hear about the great time Claude had being prompted to do it.
I don’t think anyone is talking or even considering how much fun Claude had coming up with the code for this.
Fun is subjective. “A great time” is subjective. The author could have had bucket loads of fun discussing, architecting, rethinking, planning and bringing the project to life through Claude. Or they could have had a miserable time with Claude but just wanted to see the thing working. Maybe both? Maybe neither?
The point is: chill. AI is nothing more than a tool. A tool that requires an operator. And like every other tool in human history, it can produce bad results or wonderful results, it all depends on who’s operating it and how much domain knowledge they have.
Things aren’t so black and white. Open up your mind a little (crazy concept, I know) and just let people enjoy things.
Forth might work better than C, but tbh, assembly code is more straightforward and easier to read than Forth ;)
> One commit per verified piece of work, with the acceptance numbers in the commit message
Project: One single commit: "ZX Desk, first release"
???
It's the difference between building a table yourself and telling someone else to build a table for you.
If you've never done anything for yourself, usually with your own hands, you don't understand the pleasure and satisfaction that comes from doing it.
And since "AI" isn't human, it can't know that feeling, either.
That’s an absurd thing to say.
Doesn’t matter what “AI” feels or doesn’t feel. AI is a tool. You can derive as much pleasure from having an ideia, planning it, working on it from a higher level, and seeing it come to life as you do when you get down and dirty with it and do it from the low level up.
Let’s talk like adults here. Please.
There are plenty of people enjoying designing, for example people who 3D print objects they design, or people designing PCBs or even entire gadgets but outsourcing production.
With LLMs, I guess a factor is how much direction you give the machine. “Build me a graphical desktop” likely isn’t very enjoyable, but I can see co-working with a LLM being enjoyable. Examples
- think of some novel UI interaction, and let the LLM code it
- spending hours to speed up the GUI or to make it use less memory
Knowing your limitations of building, but being good at designing and watching somebody/something else realise your vision is incredibly satisfying.
I see it like 3D printing. Nobody can extrude molten plastic out of their bodies to make things, but the skill of designing the construction well and then watch the machine execute it is certainly a good feeling. I dont really see how this is different to designing some software verbally and prompting an ai to build it for you.
Everything in tech is about standing in the shoulders of what came before.
While it's totally respectable to treat your code as your personal zen garden, I like the idea of having a highway where I can make reality anything that comes from my imagination, and also having time for family, friends, work and exercising out of sedentarism.
https://duckduckgo.com/?q=zx+spectrum&ia=images&iax=images
As far as this project goes, the spectrum was the computer of my youth, and seeing this and getting to mess around with it brings my heart joy and my mind lots of nostalgic thoughts. Thanks for sharing!
Of course for the Commodore 64 the GEOS desktop was already released as a commercial product in 1986. https://en.wikipedia.org/wiki/GEOS_(8-bit_operating_system)
I'd be interested if the author would tell us more about what they did here and what went into the design and evolution, rather than the AI README.