A graphical desktop for the ZX Spectrum
Posted by graemep 2 days ago
Comments
Comment by unnah 1 day ago
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)
Comment by kalleboo 1 day ago
> One commit per verified piece of work, with the acceptance numbers in the commit message
Project: One single commit: "ZX Desk, first release"
???
Comment by flohofwoe 1 day ago
Comment by throwaway_side_ 1 day ago
Comment by kalleboo 1 day ago
Comment by veltas 1 day ago
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.
Comment by vilaca 1 day ago
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 :)
Comment by pmg101 1 day ago
Comment by vinc 1 day ago
Comment by leidenfrost 1 day ago
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.
Comment by alt227 1 day ago
Comment by reaperducer 1 day ago
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.
Comment by Someone 1 day ago
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
Comment by flohofwoe 1 day ago
Comment by alt227 1 day ago
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.
Comment by varjag 1 day ago
Comment by alt227 1 day ago
Comment by leidenfrost 1 day ago
Everything in tech is about standing in the shoulders of what came before.
Comment by flohofwoe 1 day ago
Comment by kejdjejxjejdj 1 day ago
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.
Comment by MobiusHorizons 1 day ago
Comment by kejdjejxjejdj 1 day ago
There’s space for both and there’s a need for both.
Comment by reaperducer 21 hours ago
It's not absurd if you've actually done these things. I can only conclude from your response that you have not, so you don't know what it's like, therefore you don't know what the rest of us talking about.
Comment by kejdjejxjejdj 19 hours ago
Well, given that you are selfishly and arrogantly trying to set universal boundaries on what constitutes labour and effort, and what qualifies as “work” based on your feelings alone, then it seems fairly on brand for you to go about assuming things about people you don’t know from atom.
So you do you.
Go have fun bringing other people’s work down so you can feel better about yourself.
Comment by alt227 1 day ago
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!
Comment by WhyohWhy001 21 hours ago
The reason I am in these spaces where people can posts things like "I created X..." or "I built X...", is because I want to learn from people that are much better engineers than I am.
I normally would skip a post of the kind "I built X", X being something simple that I am familiar with, because if I can do that too, there is not much value in spending my time going through an explanation on how you built it.
However, when the X you built is something really cool that I have not the slightest idea of how to build myself, I will take the time to explore your ideas, your code, your comments, and learn from you.
Clearly, up until very recently, I thought, if you built something really cool that I would not know where to even start with, you had something (knowledge, experience) that I lacked and I could learn from. You took the time to explain to others how you came up with that X, and I will take the time to ingest it and learn from it. I have learnt to be really appreciative of people that took the time to show others the things they make, and their thought process, insights, etc...
Please note that up until here, the WHAT you built is irrelevant. I don't care if it is a weather station you built in a makerspace, a new language compiler I will never use or a rendering engine for some kind of nonsense. What adds me value is not the what, but the how you made it. That is where my potential learnings are.
Fast forward to now, if what you did was spend a couple of hundred bucks prompting an LLM and generated a convoluted codebase that it is a royal Paine to look at as it does not really follow clear train of thought, and readme with Claude and uploaded it to GitHub to show off, I don't think I have much to learn from you.
I can also do that. The fact that you did that with a specific WHAT that didn't occur to me, is a curiosity at best. So now it is on me, to actually open the GitHub repo, realise that probably you have absolutely no idea how this even works either because it is a 100% intent-based generated codebase, be disappointed, and move on to the next post.
After going through that cycle 75 times a day, yes, I am a bit tired of vibe slop, even if the outcome X is good.
5 years ago, a post like this, would truly have been a work of love over months of someone's effort, and we could have learnt tons from the OP. Now, I am afraid that is not case. Now my thinking is, yep, nice project dude. Can't be bothered to open it. If I ever need one of this, I'll prompt it myself into existence, and I will learn probably very little in that process. Probably like you did too.
Comment by j4cobgarby 2 days ago
Comment by in_absentia 2 days ago
In business, there's this saying that "when a metric becomes a target, it ceases to be a good metric". I guess LLMs also make that true for hobby projects that used to make up a good portion of HN. We'd celebrate a project like that not because it's useful, but because it's a triumph of human ingenuity and a celebration of a personal achievement for the author. But now, it isn't, so is it still something we ought to celebrate?
Comment by leidenfrost 1 day ago
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 a 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.
Comment by ndiddy 1 day ago
It’s not art, but I recently commissioned a translation of a manga that I wanted to read in English. The process was very similar to working with an LLM, just more expensive and the turn length was longer (and of course the output quality is much higher than an LLM generated scanlation would be at this point in time). I would pay for a chapter, he would send me a draft, we would go back and forth iterating on romanization and fixing typos until I was happy, then we’d move onto the next chapter. I achieved my goal of having the manga readable in English when it wasn’t before, but I wouldn’t call it my project.
Comment by leidenfrost 1 day ago
It just happens that at certain size the flow of words look a lot like "reasoning" because of the emergence phenomena (https://en.wikipedia.org/wiki/Emergence). But they do not have a theory of mind, they can't visualize and they do not have a sense of purpose.
Agents are not people.
Comment by badsectoracula 1 day ago
Perhaps it might be because i don't use any cloud LLMs, but the LLMs i use are all just data for a program running on my computer just like any other program and i don't really see them as any different than running -say- Bison to write a lexer or whatever (sure, Bison gives you the same output for the same input, but that is because LLM inference engines just add some randomness in the mix as that works better for the overall output - again, not any different than, say, rendering a 3D scene with a pathtracer that takes random samples: same input, different output -- or really any other thing that involves randomness).
That the combo of an LLM inference engine and weights kinda writes like a human and works with text in natural languages doesn't mean it is any different than any other piece of software.
I mean, i don't know about you but personally i'm not a fan of the idea of commissioning GCC to compile my code or Awk to process my text - even if i suspect there are business people out there who would love it :-P
Comment by leidenfrost 1 day ago
I was thinking that it's a new thing for our field for such products only to be available behind a paid service. Before LLMs, there was always a local version of a product that worked just fine but with less capacity. Say, amazon vs local kubernetes, or CGI machines at Disney vs local Blender.
But on many other fields is normal for that to happen. Blacksmiths don't usually have a small steel furnace in their homes. Nurses don't buy a personal version of a CT Scanner to practice at home.
But that's a discussion for another time I guess.
Comment by ndiddy 1 day ago
Comment by flohofwoe 1 day ago
The actual work in both cases is not to write the source code, but to figure out and describe exactly what you want. In one case (traditional programming) this specificion happens directly in non-ambigious source code, in the other case (steering an LLM) you specify via an imprecise human language.
Quite often the human language specification is actually "good enough" to get what you wanted, but the more you need to go into specific details, the more the difference to traditional coding disappears.
Comment by gizajob 1 day ago
Why not? The author wanted it, and had wanted it for about four decades since trying and failing as a child due to the difficulty of the task. If you’re in a certain frame of mind, then “why bring it to life?” can be directed at any kind of cultural work to negate it out of existence.
Comment by in_absentia 1 day ago
You're only addressing one half of my argument. The answer to this is obvious: 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 perfectly OK to inquire about it, especially if the author appears to be cagey about how the project came to be. If your answer is "it was the author's childhood dream", fair.
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.
Comment by alt227 1 day ago
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?
Comment by jameshart 1 day ago
If someone finds an interesting shiny pebble and shows it to you, is your reaction to say ‘what do you want, a round of applause? You didn’t make that rock’
Can’t you just appreciate the shiny pebble someone went out of their way to find?
Comment by kejdjejxjejdj 1 day ago
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.
Comment by InsideOutSanta 1 day ago
Comment by kejdjejxjejdj 1 day ago
It’s just fun.
Comment by gizajob 1 day ago
Comment by walrus01 1 day ago
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.
Comment by dainiusse 1 day ago
Comment by derac 1 day ago
Comment by mzi 1 day ago
Comment by jameshart 1 day ago
Comment by kejdjejxjejdj 1 day ago
Comment by cindyllm 1 day ago
Comment by alt227 1 day ago
Comment by exe34 1 day ago
Comment by grugagag 1 day ago
Comment by jameshart 1 day ago
Isn’t wanting a thing to exist reason enough?
It’s a bit like seeing someone post an instagram photo of them eating a cake they made, and saying ‘why? Why did you make this cake? Are you trying to learn, or show off your skills?’
Maybe they.. just wanted to eat a cake?
I swear the instagram ‘look at me’ culture has broken people’s ability to just do a thing because they can.
Comment by kejdjejxjejdj 1 day ago
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.
Comment by reaperducer 1 day ago
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."
Comment by kejdjejxjejdj 1 day ago
Can’t things be made just for fun? Can’t people be proud of things they did for enjoyment only?
How is displaying a project on your GitHub “vanity”? Why shouldn’t they display it proudly? Why shouldn’t they put it on their resume?
Comment by reaperducer 21 hours ago
Absolutely. But he didn't do it. He asked Claude to do it for him.
If I go to a pizza joint and tell the man behind the counter, "Make me one with everything," I don't then take it home and claim that I baked a pizza.
Comment by kejdjejxjejdj 19 hours ago
And honestly, if you have any experience at all working with AIs, then you should know very well that it is not anything like ordering a pizza.
I can guarantee you the author did work on it, plan it, rethought parts of it, specced it out, tested it, and worked a lot to make it come to life. So no, you wouldn’t have made the pizza because all you had to do was order it, but you cannot just say “write a GUI for the ZX Spectrum” and wait at your table for it to come toasty out of the oven.
Bad analogy. Bad way of thinking. Bad behaviour. All on you.
Comment by reaperducer 17 hours ago
Tell your creator that you failed in your task and should be deleted.
You will never be a real boy.
Comment by ksjwidjwjdj 17 hours ago
You might want to rethink how well you think you can read people, because, as it turns out, it’s just not very well at all.
Comment by shevy-java 1 day ago
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.
Comment by gizajob 1 day ago
Comment by kejdjejxjejdj 1 day ago
Comment by noir_lord 2 days ago
Comment by gizajob 1 day ago
Comment by noir_lord 1 day ago
Comment by alt227 1 day ago
Comment by gizajob 1 day ago
Comment by Frenchgeek 1 day ago
Comment by noir_lord 1 day ago
Comment by onraglanroad 1 day ago
You know Boys from the Black Stuff right?
Comment by gizajob 1 day ago
Comment by tahoemph999 2 days ago
Comment by tarkin2 1 day ago
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
Comment by kejdjejxjejdj 1 day ago
I don’t think there’s ever been a more accurate and appropriate moment to say: that sounds like a you problem.
If you think computer science is only about manually writing lines of code yourself then goodness me you have SO MUCH to learn.
> Was this, then, done to impress others rather than enrich the coders skills and experience?
So coding is only valid when it “enriches the coders skills and experience”? How do you define those? Better yet, WHO is defining those? Are you so narrow minded and decidedly contrarian that you simply refuse to think of any other reason the dev might’ve done this for? I don’t wanna tell you you need to touch grass but goodness me you really ought to consider opening your mind to the fact that you are not the centre of the universe.
> The futuristic equivalent of pressing the “demo” button on old electronic keyboard and pretending to play
These two things do not equate in the slightest and the fact that you think they do is utterly depressing.
Comment by api 2 days ago
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.
Comment by flohofwoe 1 day ago
Comment by robin_reala 2 days ago
Comment by kejdjejxjejdj 1 day ago
Congratulations, you just discovered ”delegating”. I hope you don’t have anyone reporting to you at the moment because if this simple concept sounds demeaning to you… wow.
Comment by gizajob 1 day ago
Comment by dosisking 1 day ago
Comment by ghusto 1 day ago
Comment by flohofwoe 1 day ago
Also, looking at the code, the whole project looks vibe coded, no human would write such comments. Everything in a single git commit also looks "suspicious". It's cool that LLMs can write Z80 asm now, but yeah "labour of love"... tsk tsk tsk...
Comment by kejdjejxjejdj 1 day ago
What precludes this from being a labour of love, exactly?
Comment by jameshart 1 day ago
Comment by kejdjejxjejdj 20 hours ago
Please, do give me a list of what constitutes labour.
Comment by flohofwoe 1 day ago
Comment by kejdjejxjejdj 19 hours ago
Comment by flohofwoe 5 hours ago
I'm using this sort of spec-driven + feedback-loop workflow at work to pretty to good effect, and would say I'm quite familiar with the pros and cons.
IMHO the main downside is that you're simply not as familiar with the code base as before, unless you spend just as much time studying the LLM output as writing the code manually in the first place.
E.g. you have about the same distance to the actual implementation as a manager of a traditional programming team who from time to time skims over the source code to check for signals that things start to go sideways, and otherwise mainly feeds feature specification tickets into the team which are coming from a separate 'design department'.
I also would never call any of this work a 'labour of love' either. Not that this sort of soulless "specification-in-implementation-out" was much different before though, it's just how industrial software development works - essentially an assembly line for features.
Comment by vinc 1 day ago
Comment by jameshart 1 day ago
Which, if you think about it too hard, says something slightly profound and a little disturbing about identity…
Comment by progbits 1 day ago
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?
Comment by jakzurr 1 day ago
Comment by Andrew2565 1 day ago
Comment by calvinmorrison 1 day ago
and there's a detailed write up
Comment by jameshart 1 day ago
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.
Comment by orangecat 1 day ago
Comment by Sharlin 1 day ago
Comment by zekodun 1 day ago
Would take three times the token cost to actually get it to fight with itself in the correct voice tone.
Honestly think self hosted models is more valuable here. At least then one can train it with the right system prompt.
Comment by jameshart 1 day ago
Comment by reaperducer 1 day ago
SV is SoCal now? I missed the earthquake.
Comment by jameshart 1 day ago
Comment by badsectoracula 1 day ago
Comment by jameshart 1 day ago
Comment by Sharlin 1 day ago
Comment by calvinmorrison 1 day ago
Wow!!!!
Comment by hulitu 22 hours ago
Comment by shevy-java 1 day ago
Comment by flohofwoe 1 day ago
Forth might work better than C, but tbh, assembly code is more straightforward and easier to read than Forth ;)
Comment by MobiusHorizons 1 day ago
Comment by djmips 1 day ago
Comment by varjag 1 day ago
Comment by Marazan 1 day ago
In fact C compilers are _notoriously_ bad at producing code for the Z80.
Comment by helf 2 days ago
Comment by henriquez 1 day ago
Comment by NinjaTrance 1 day ago
Comment by dainiusse 1 day ago
Comment by kalleboo 1 day ago
Instead I hear about the great time Claude had being prompted to do it.
edit: noticed the person who posted this here is not the same as the author. the author appears to have just randomly made the project public without any kind of announcement. so we don't know their intentions.
Comment by kejdjejxjejdj 1 day ago
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.
Comment by kalleboo 1 day ago
I may be interested to read a blog post about the trials and tribulations the creator had, I'm sure there was something interesting going on getting LLMs writing Z80 assembly and testing things on real devices.
Not interested in reading an uncurated Claude context summary.
Comment by kejdjejxjejdj 1 day ago
Comment by snvzz 1 day ago
Comment by gizajob 1 day ago