3 ms·
A graphical desktop for the ZX Spectrum
- j4cobgarby 7d agoIt _does_ look really cool, genuinely, but calling it a "labour of love" and then having AI write the readme/docs seems conflicting.
- noir_lord 7d ago[flagged]
- gizajob 7d ago[flagged]
- noir_lord 7d ago[flagged]
- gizajob 7d agoI only accept responses in Hex I’m afraid.
- Frenchgeek 7d ago+++ Out Of Cheese Error +++ +++ Redo From Start +++
- deleted 7d ago[deleted]
- noir_lord 7d agoNever not upvoting a Discworld reference :).
- onraglanroad 7d agoI genuinely found it funny that you thought "go fuck yourself" would be either effective or off-putting to someone with the username "gizajob". You know Boys from the Black Stuff right?
- gizajob 7d ago10/10 great knowledge.
- alt227 7d agoI think you just proved the parents point.
- tomhow 5d ago> go fuck yourself This is an unacceptable comment on HN, no matter who or what you're replying to. You've been here long enough to know that. It's fine to disagree with people about code generation, but the guidelines still have to apply. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- in_absentia 7d agoLong-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? 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?
- shevy-java 7d ago> why bring it to life? 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.
- gizajob 7d agoYou’ve officially reached the “you pesky kids get off my lawn” stage in your interest in computing.
- kejdjejxjejdj 7d agoNot 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.
- gizajob 7d ago>Why bring it to life? 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.
- api 7d agoI 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.
- robin_reala 7d agoThe critical difference I think is deterministic vs non-deterministic. A compiler isn’t the correct comparison, it’s reading out your desired specs to a team member who does the actual engineering work.
- kejdjejxjejdj 7d ago> it’s reading out your desired specs to a team member who does the actual engineering work 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.
- tahoemph999 7d agoThinking 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.
- tarkin2 7d agoTheir labour didn’t involve coding. When we equate labour to creating a load of prompts then it feels hollow to me. 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
- kejdjejxjejdj 7d ago> it feels hollow to me 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.
- ghusto 7d agoWhy do you say it's written by AI?
- flohofwoe 7d agoNot the parent, but it reads a lot like written by AI. It has that typical breathless style that's exhausting just from reading. 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...
- kejdjejxjejdj 7d ago> but yeah "labour of love"... tsk tsk tsk... What precludes this from being a labour of love, exactly?
- jameshart 6d agoI think some people prefer their labours of love to involve the expenditure of actual labour.
- kejdjejxjejdj 6d agoSo planning, debugging, speccing, thinking, rethinking, designing, etc… do not count as labour? Please, do give me a list of what constitutes labour.
- flohofwoe 6d agoWhen your manager gives you the task of building a complex product with a more or less vague "do what I mean" specification, and once a week shows up for 2 minutes to nudge you into a different direction, would you agree when the manager calls this his own "labour of love" when you did 99% of the actual work and thousands of micro-decisions along the way that your manager didn't even know had to be made?
- progbits 7d ago> Licence > > MIT, see LICENSE. Nothing here is derived from anyone else's code. 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?
- helf 7d ago[dead]
- henriquez 7d ago[dead]
- Andrew2565 7d agoCan 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?
- calvinmorrison 7d agorio? and there's a detailed write up https://aryx.github.io/assets/pdfs/Windows-7.pdf https://aryx.github.io/assets/pdfs/Windows-7.pdf
- deleted 7d ago[deleted]
- jameshart 7d agoIt’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.
- calvinmorrison 7d ago> It runs on the real thing, not just an emulator. Wow!!!!
- zekodun 7d agoagreed, the only issue here is that Claude is targeted to enterprise engineering teams so its language model is trained for SoCal startup culture. 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.
- jameshart 7d agoYou can do a lot with custom agent prompts. Just telling Claude ‘this is only a personal project, we’re messing around here’ changes its tone somewhat already. It’s still Business Claude, but more Casual Friday Claude, less Monday Morning Standup Meeting Claude.
- reaperducer 7d agothe only issue here is that Claude is targeted to enterprise engineering teams so its language model is trained for SoCal startup culture. SV is SoCal now? I missed the earthquake.
- deleted 7d ago[deleted]
- vilaca 7d agoWow 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). Good times i guess :)
- NinjaTrance 7d ago[flagged]
- gizajob 7d agoLaughable to ignore the actual work done and that had to be done by a human to make this happen and work, and only focus on the AI assistance.
- deleted 7d ago[deleted]
- dainiusse 7d agoI 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.
- kalleboo 7d agoI want to hear about the great time they had. That would be interesting. 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.
- kejdjejxjejdj 7d ago> 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.
- shevy-java 7d agoAssembly seems overkill though.
- djmips 7d agoFor 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.
- flohofwoe 7d agoThere 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 ;)
- MobiusHorizons 7d agoI 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.
- varjag 7d agoThe quickest way to redraw a screen or otherwise copy a memory region on Spectrum of is to use POP/PUSH instructions while flipping the stack pointer. Good luck getting that with C.
- kalleboo 7d ago> Three rules that earned their place: > One commit per verified piece of work, with the acceptance numbers in the commit message Project: One single commit: "ZX Desk, first release" ???
- flohofwoe 7d agoMaybe Claude one-shotted the project ;)
- throwaway_side_ 7d agomaybe 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.
- kalleboo 7d agoWould love to see a corporation claiming ownership of a ZX Spectrum GUI, that would be performance art
- pmg101 7d agoI 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.
- reaperducer 7d agoIt 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. 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.
- kejdjejxjejdj 7d ago> 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. Let’s talk like adults here. Please.
- MobiusHorizons 7d agoYou 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.
- 7d ago
- jakzurr 7d agoSure are cute little pieces of history: https://duckduckgo.com/?q=zx+spectrum&ia=images&iax=images https://duckduckgo.com/?q=zx+spectrum&ia=images&iax=images
- alt227 7d agoI 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!
- WhyohWhy001 6d agoI am going to give you my two cents on why this is the case, at least for me. 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.
- unnah 7d agoRelated: 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/ https://www.symbos.org/ 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) https://en.wikipedia.org/wiki/GEOS_(8-bit_operating_system)
- veltas 7d agoThis 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.
- beeforpork 7d agoWritten in the best programming language ever!
- Narishma 7d agoClaude?
- beeforpork 6d agoAnd take all the fun out of it??
- hulitu 6d agoIt looks like Windows 10. Even the light theme is implemented. They only need to implement the dark theme to be at the same UX level as Windows 10.