Just a note, it's very clear the OP's associated account was an attempt at an AI managed account created for HN 5 days ago, looking at their post history and their single comment. I'm not sure about this post in particular but it is strange that you have a full 8-bit CPU simulator with no history older than 4 days ago, full with comments on each function. It's likely this "CPU simulator" is AI-generated and in fact not from scratch. Of course, it's possible you had a rather polished, from scratch project the OP polished on their own PC before uploading to github. That said, their first post already cast some doubt.
I'm not sure if this is in the spirit of "Show HN" because really anyone can do this.
Sort-of agree, but then I saw this code in the Visualiser[0]
try:
import matplotlib.pyplot as plt
except Exception:
plt = None
class Visualizer:
def animate_combined(
# Stuff...
):
# Stuff...
try:
import numpy as np
except Exception:
print("numpy is required for animation")
return
if plt is None:
print("matplotlib not available - cannot animate")
return
Is AI really that bad? Or has it been written by a human?
I mean, it's not impossible to get bad AI code, no?
Anyway, as I said in a comment below, Show HN already has vibe-coded projects in it, much less merely AI assisted works, the problem here is the title that says it is "from scratch" which most readers would assume means it is written by hand.
Agree, I was checking the code and the first thing that I notice were the extremely detailed doc comments even for simple methods. i.e. the memory[0] class.
If you want something done by hand, I made kind-of the same thing in JavaScript ages ago. (actually, no I just looked and I made the emulator part in Haxe)
[Edit]
Taking a look at the other posts, I think that the user is using AI, but also sincere in their intention of learning by making things. You will get people at all skill levels posting to Show HN: So I don't necessarily think it's a bad thing that they are posting something that doesn't require a lot of skill. Some of these beginner efforts are quite well received.
AI moves the bar somewhat, for what a beginner can do. In an ideal world, they would also clearly indicate their methods to avoid confusion or making people feel like they have been tricked. In their defence, this too, is an attribute of beginners. They have yet to learn the expectations of the community.
It get's even more complicated with AI of course, because the expectations of the community on this are rather in flux right now. To an extent, we're all beginners when it comes to what can be made with AI, how to use it, and how to present it.
To be clear, my main issue, if any, is the misleading headline. People have posted Show HN things they've used AI to help build (partially or completely). However, saying this is from scratch if it isn't is straight up lying. Moreover, the fact that this is on the front page is likely due that claim, so the reality of it is important context for readers, I imagine.
It seems this was posted while I was editing my comment. Essentially I agree, but feel like you have to make allowances for beginners in both coding and in how they conform to community expectations.
I can see how someone using AI would consider something made from scratch differently. Similarly, in the past using a batteries included language wouldn't have counted as from scratch to someone who had to write most of their support code themselves. Go back further and you'll probably see people considering the idea of using a compiler written by someone else as not from scratch.
Unless you want to go full NAND to Tetris, the notion of from-scratch is contextual. Maybe it's shifting under our feet.
I'm not sure if this is in the spirit of "Show HN" because really anyone can do this.