But can you run it on their platform? NO, you need to run it on your own machine which takes a bit of work. And we have over 80 courses waaay over whatever codecrafters has
Isn't that the best part of codecrafters? Being able to just use your own text editor instead of a janky web based one which loses everything you typed on page refresh?
Looked at the 'build your own os kernel' course and it doesn't appear to be written as a course by someone with experience in teaching that. A normal course also introduces and builds on concepts.
I noticed the courses are tied to a language, any reason behind that design choice vs keeping it language agnostic and letting users choose their preferred language?
The amazing thing about modern vibe coding tools, is you can make your own adventure course.
I can say to codex "I know X, using X can you make a simple version of Y with Z features so I can understand how it works. Use this github code as inspiration"
I've been watching this space closely and have been on the lookout for new releases. Besides "Building Git", there is also "Building a Debugger"[0], "Writing a C compiler"[1], "Crafting Interpreters"[2], "The Raytracer Challenge"[3], and a few others that I can't vouch for as they appear to be low-quality compared to the ones I listed out.
The potential for technical authors in this space is enormous.
Yeah. I did it in Rust only, but went a bit farther than the book and implemented some constructs that were not found in the book. I was able to compile my other compiler written in C with the C compiler I had written in Rust.
I would also recommend you not lecturing other people and posturing as if your superior. The way you said it puts yourself above him and is condescending to him directly. You don't lecture strangers this way so why do it here? It's because you're protected by anonymity. You know what you say can piss people off but you say it here because the consequences are minimal.
It's ironic because an outside observer sees what you say as reasonable and mature but that's just posing because the statement only appears that way because they are not the subject of said statement. To put it simply, imagine you went to your boss and politely asked him to "Please be more mature when talking to others, it will make your life better."
Do you actually think saying that will improve your boss's life and make him thank you for such advice? No. It incites more conflict because of the condescension.
And here's the thing. You're perfectly aware of this on a certain level. Everyone is on some level. They say it because they WANT to be condescending, and at the same time they are unaware that they want it. It's subtle but I'm doing it too, right this instance.
A better way to say it is: "Hey, no offense, but personally when someone says the word bro to me, I personally don't like it, if makes me uncomfortable. I'm happy to have this discussion but I don't like that word. And that's just me" This statement removes the condescension and statements of immaturity and advice about his life.
Anyway I'm saying all of this to you to tell you that I AM being 100% condescending to YOU because I SAW what you said and it was completely obvious to me how directed and deliberately condescending it was.
1. This person is asking us to use/try their product. Very different from a boss/subordinate relationship.
2. This is Hacker News, which has a certain tone and intention. I might text in lowercase and slang with my friends, but I try to write a little more thoughtfully here. This is just one person offering advice on presenting yourself when presenting a product. Not to mention that they politely hedged - "not a big deal", "I would recommend", "it comes across". The OP is free to disregard.
You just need to think of it like this. Anyone telling you to "be more mature" isn't going to be your friend. You're not gonna go "Oh you're right! thank you for teaching me how to be more mature!" You're gonna be resistant, abrasive and angry.
The approach he took was condescending and has zero effectiveness and everyone knows it if they think about it. If he truly wanted someone to change he would not have said it that way. It's a tactic what he did here.
>"not a big deal", "I would recommend", "it comes across"
These are hedges for you as an audience it makes the statement appear reasonable to you and NOT to the victim. The statements are useless to the victim. Imagine I said it to you: "It's not a big deal but you don't come across as intelligent when you say things like that. It comes across as very immature. I would recommend reading some self help books on how to be a better person."
You don't say the above to anyone without starting shit. Like try saying that to any member of your family or your friends. Nobody says that shit because they are perfectly aware it's fucking useless and there's gonna be huge consequences. But as an audience member looking on say someone else agreed with you that the person was being immature and heard you say that. Usually they may miss the deeper analysis and just think about it on the surface level that the statement looks reasonable because they agree with it.
Take the time to think a bit deeper and you'll see it's bollocks, statements like this start shit, they don't do anything more than that because humans don't take criticism that way. It doesn't matter if this is "hacker news" or not. Human psychology is human psychology.
I gave feedback on how someone comes across and recommended how to fix it. What the OP said was obviously passive/directly aggressive. They can take or leave the advice.
Your imagined scenario seems mostly fine, though I did give more direct advice than “go read some books.” If someone in my personal or professional gave me that feedback I might feel self-conscious, but I’d also appreciate it!
You seem pretty worked up over this. Maybe a good time to step back from the computer and consider whether it’s worth the emotional energy.
I do not care that much but all this user's comments sound like they are unprofessional / 10 years old. Careless commenting to everything while trying to promote a product that's already rather broken.
I think this person is exhibiting symptoms of prolonged conversation sessions with LLMs. Maybe this is how they talk/shout/scream at the AI, which has no emotions, and gladly accepts this tone of speech.
I kept noticing that most "learn to code" content is tutorials you copy-paste, so I never had to actually understand why anything worked. I built this to flip that: each lesson gives you a real spec (e.g. implement the Redis SET/GET protocol) and you write the code yourself, then it actually runs against tests. Right now there are 80+ of these "build X from scratch" courses — Redis, a database, Git, a compiler, a container runtime, a raft KV store, etc. — across Python, Go, Rust, C, C++, and others. Would love feedback, especially on where the early lessons feel too hand-holdy or too sparse.
* I didn't see any AI mention, was it entirely built by humans without AI ?
* Were will the tests run ? Your servers or the user machines ? If on your servers, how do you plan to cover the costs if you don't charge for the service ?
* Will you accept contrbutions to the teaching material? How can other people contribute to the teaching material ? What is the AI policy for contributors ?
1. We have temporarily removed it due to abuse (people are sending their own project code through it).
2. Tests are run on our dedicated server. I had some spare servers that we bought for our other platform echoed. gg
3. Will you accept contributions to the teaching material? ofc we would. I am also thinking of open-sourcing the project
4. What is the AI policy for contributors? You can use AI(we also used it), but the quality of the course, should match the rest of the courses
So what's the long term plan? If tests require a bunch of ram, scaling costs seem at odds with "Free Forever". Will you eventually have a pay walled tier? Or will you seek donations to pay for infrastructure or...
I like the idea of a community FOSS or source available offering, I have a lovely pile of ram from the before times (when it didn't cost an arm and a leg).
I have way more than 20GB of RAM. Can I run it in my computer? And why do I need jude0? If I had a suite of tests, I could just run code against them. Just like Exercism.
I've helped people get into programming face to face and also in a site I liked called exercism which also had a multi language track unit test passing style which I really value and it was purely command line, and I can't stress enough how important the command line is for me for people who want to dabble. Nowadays it's easier to get people into the command line because of Claude/codex.
I only have browsed your site from a phone and looks interesting but I wanted to ask if you had particular insights around getting people to approach learning, design through tests, breaking down problems, without having someone to guide them. Have you had a chance to observe people using your tool and adjust or it's been mostly dog fooding something you would've loved to have.
I've also trained over 100 students in Python back in 2021, when Python was often looked down upon in academia for not being a low-level language. My belief has always been that if someone learns one programming language properly, they can pick up another in no time.I've seen beginners spend months going through 300-video YouTube playlists just to learn JavaScript. People don't need 300 videos to learn a programming language they just need to understand the fundamentals and build projects.
This project, however, is aimed at people who already know a programming language but want to understand what goes on behind the scenes of popular software: how it's designed, why certain architectural decisions are made, and what things to avoid.
Why waste time memorizing arcane flags when you can spend that time actually building things? Frankly I still check man pages for things like tar all the time and I’ve been using linux for over a decade. It becomes less of a fun learning activity and more of a chore when every tool has a hundred different invocations to memorize.
How does this differ from codecrafters.io?
its free
And entirely AI generated
coauthored by compiler
I’ll take that over something AI generated that’s not free
All the codecrafters content is available on Github too, for free.
But can you run it on their platform? NO, you need to run it on your own machine which takes a bit of work. And we have over 80 courses waaay over whatever codecrafters has
I'd rather have something I can tinker with on my own machine, thank you very much
I respect your opinion too.
if you're learning code challenges you should probably learn how to run code locally.
> you need to run it on your own machine
Isn't that the best part of codecrafters? Being able to just use your own text editor instead of a janky web based one which loses everything you typed on page refresh?
This I didn't know, thank you for that! "Build a selfhosted codecrafters" might be a fun meta "build an X"
Are we the product?
How can you be the PRODUCT when we have only 500 users? WE are NO GOOGLE my friend. BTW you can use guest mode if feel like you dont want to singup
So how much of this is AI-generated? I mean the content itself. Just curious.
Vibe coded AI Slop?
Looked at the 'build your own os kernel' course and it doesn't appear to be written as a course by someone with experience in teaching that. A normal course also introduces and builds on concepts.
This appears to be generic info laid into topics.
https://shipthatcode.com/courses/build-os-kernel/lessons/wha...
Vibe coded AI Slop? Feel free to contribute (even with the help of ai). If something closer to it exits I wouldnt have made it
My advice to you:
Mark each course as beginner/intermediary/advanced and the required background knowledge assumed. As people have very different levels of experience.
Take some course in learning how to teach.
I think you didn't go through a few courses. Many of those are actually better than whatever you can get from other places
I noticed the courses are tied to a language, any reason behind that design choice vs keeping it language agnostic and letting users choose their preferred language?
https://app.codecrafters.io/catalog
PAID with fewer courses.
Looks a lot like CodeCrafters, except it's free. Was it built by humans or AI?
The amazing thing about modern vibe coding tools, is you can make your own adventure course.
I can say to codex "I know X, using X can you make a simple version of Y with Z features so I can understand how it works. Use this github code as inspiration"
There's a book about doing this with Git. I wonder how much of the content is cribbed from sources like that, laundered through LLMs.
https://shop.jcoglan.com/building-git/
I had a similar suspicion, though I thought the source material was from DAS.
https://www.destroyallsoftware.com/screencasts/catalog
I've been watching this space closely and have been on the lookout for new releases. Besides "Building Git", there is also "Building a Debugger"[0], "Writing a C compiler"[1], "Crafting Interpreters"[2], "The Raytracer Challenge"[3], and a few others that I can't vouch for as they appear to be low-quality compared to the ones I listed out.
The potential for technical authors in this space is enormous.
[0]: https://nostarch.com/building-a-debugger
[1]: https://nostarch.com/writing-c-compiler
[2]: https://craftinginterpreters.com/
[3]: http://raytracerchallenge.com/
Writing a C Compiler is really good. I enjoyed myself doing it with Rust and Zig.
Yeah. I did it in Rust only, but went a bit farther than the book and implemented some constructs that were not found in the book. I was able to compile my other compiler written in C with the C compiler I had written in Rust.
Signing up is throwing `rate limit exceeded, please try again later`
bots are hitting tons of endpoints bro. You can keep using the platform as guest
This bro thing is so disrespectful.
I would recommend removing "bro" from your lexicon, at least how you used it here. It comes across as aggressive and immature.
Not a huge deal, but you'll get better results in life without it.
bro, relax
I would also recommend you not lecturing other people and posturing as if your superior. The way you said it puts yourself above him and is condescending to him directly. You don't lecture strangers this way so why do it here? It's because you're protected by anonymity. You know what you say can piss people off but you say it here because the consequences are minimal.
It's ironic because an outside observer sees what you say as reasonable and mature but that's just posing because the statement only appears that way because they are not the subject of said statement. To put it simply, imagine you went to your boss and politely asked him to "Please be more mature when talking to others, it will make your life better."
Do you actually think saying that will improve your boss's life and make him thank you for such advice? No. It incites more conflict because of the condescension.
And here's the thing. You're perfectly aware of this on a certain level. Everyone is on some level. They say it because they WANT to be condescending, and at the same time they are unaware that they want it. It's subtle but I'm doing it too, right this instance.
A better way to say it is: "Hey, no offense, but personally when someone says the word bro to me, I personally don't like it, if makes me uncomfortable. I'm happy to have this discussion but I don't like that word. And that's just me" This statement removes the condescension and statements of immaturity and advice about his life.
Anyway I'm saying all of this to you to tell you that I AM being 100% condescending to YOU because I SAW what you said and it was completely obvious to me how directed and deliberately condescending it was.
I think it's a little different because:
1. This person is asking us to use/try their product. Very different from a boss/subordinate relationship.
2. This is Hacker News, which has a certain tone and intention. I might text in lowercase and slang with my friends, but I try to write a little more thoughtfully here. This is just one person offering advice on presenting yourself when presenting a product. Not to mention that they politely hedged - "not a big deal", "I would recommend", "it comes across". The OP is free to disregard.
You just need to think of it like this. Anyone telling you to "be more mature" isn't going to be your friend. You're not gonna go "Oh you're right! thank you for teaching me how to be more mature!" You're gonna be resistant, abrasive and angry.
The approach he took was condescending and has zero effectiveness and everyone knows it if they think about it. If he truly wanted someone to change he would not have said it that way. It's a tactic what he did here.
>"not a big deal", "I would recommend", "it comes across"
These are hedges for you as an audience it makes the statement appear reasonable to you and NOT to the victim. The statements are useless to the victim. Imagine I said it to you: "It's not a big deal but you don't come across as intelligent when you say things like that. It comes across as very immature. I would recommend reading some self help books on how to be a better person."
You don't say the above to anyone without starting shit. Like try saying that to any member of your family or your friends. Nobody says that shit because they are perfectly aware it's fucking useless and there's gonna be huge consequences. But as an audience member looking on say someone else agreed with you that the person was being immature and heard you say that. Usually they may miss the deeper analysis and just think about it on the surface level that the statement looks reasonable because they agree with it.
Take the time to think a bit deeper and you'll see it's bollocks, statements like this start shit, they don't do anything more than that because humans don't take criticism that way. It doesn't matter if this is "hacker news" or not. Human psychology is human psychology.
I gave feedback on how someone comes across and recommended how to fix it. What the OP said was obviously passive/directly aggressive. They can take or leave the advice.
Your imagined scenario seems mostly fine, though I did give more direct advice than “go read some books.” If someone in my personal or professional gave me that feedback I might feel self-conscious, but I’d also appreciate it!
You seem pretty worked up over this. Maybe a good time to step back from the computer and consider whether it’s worth the emotional energy.
Why are you talking like this?
I do not care that much but all this user's comments sound like they are unprofessional / 10 years old. Careless commenting to everything while trying to promote a product that's already rather broken.
I think this person is exhibiting symptoms of prolonged conversation sessions with LLMs. Maybe this is how they talk/shout/scream at the AI, which has no emotions, and gladly accepts this tone of speech.
Hi bro, have a cookie :)
Thanks!
Who's leaving these anti-bro comments? To me it sounds perfectly fine.
millennials UNCLES
a dafor of things are throwing errors, but good initiative
Kindly add support for Java
Can you add Zig?
jig is not supported by judge0 (our code execution library)
this is such a cool idea.
I kept noticing that most "learn to code" content is tutorials you copy-paste, so I never had to actually understand why anything worked. I built this to flip that: each lesson gives you a real spec (e.g. implement the Redis SET/GET protocol) and you write the code yourself, then it actually runs against tests. Right now there are 80+ of these "build X from scratch" courses — Redis, a database, Git, a compiler, a container runtime, a raft KV store, etc. — across Python, Go, Rust, C, C++, and others. Would love feedback, especially on where the early lessons feel too hand-holdy or too sparse.
First impression - looks great. Congrats.
I have couple of questions:
* I didn't see any AI mention, was it entirely built by humans without AI ?
* Were will the tests run ? Your servers or the user machines ? If on your servers, how do you plan to cover the costs if you don't charge for the service ?
* Will you accept contrbutions to the teaching material? How can other people contribute to the teaching material ? What is the AI policy for contributors ?
1. We have temporarily removed it due to abuse (people are sending their own project code through it). 2. Tests are run on our dedicated server. I had some spare servers that we bought for our other platform echoed. gg 3. Will you accept contributions to the teaching material? ofc we would. I am also thinking of open-sourcing the project 4. What is the AI policy for contributors? You can use AI(we also used it), but the quality of the course, should match the rest of the courses
Is this going to remain free? I´d love an open source project like this where I could run the tests in my own machine.
Unfortunately, I dont think you can run the tests on your own machine.Tests run on jude0, which takes about 20 GB of RAM to run
So what's the long term plan? If tests require a bunch of ram, scaling costs seem at odds with "Free Forever". Will you eventually have a pay walled tier? Or will you seek donations to pay for infrastructure or...
I like the idea of a community FOSS or source available offering, I have a lovely pile of ram from the before times (when it didn't cost an arm and a leg).
I am looking for sponsors and have already spoken with a few companies.
I have way more than 20GB of RAM. Can I run it in my computer? And why do I need jude0? If I had a suite of tests, I could just run code against them. Just like Exercism.
I've helped people get into programming face to face and also in a site I liked called exercism which also had a multi language track unit test passing style which I really value and it was purely command line, and I can't stress enough how important the command line is for me for people who want to dabble. Nowadays it's easier to get people into the command line because of Claude/codex.
I only have browsed your site from a phone and looks interesting but I wanted to ask if you had particular insights around getting people to approach learning, design through tests, breaking down problems, without having someone to guide them. Have you had a chance to observe people using your tool and adjust or it's been mostly dog fooding something you would've loved to have.
I've also trained over 100 students in Python back in 2021, when Python was often looked down upon in academia for not being a low-level language. My belief has always been that if someone learns one programming language properly, they can pick up another in no time.I've seen beginners spend months going through 300-video YouTube playlists just to learn JavaScript. People don't need 300 videos to learn a programming language they just need to understand the fundamentals and build projects.
This project, however, is aimed at people who already know a programming language but want to understand what goes on behind the scenes of popular software: how it's designed, why certain architectural decisions are made, and what things to avoid.
Got it. Different audience. Cool stuff. I'll take a better look as soon as I can.
Oh that’s really interesting, I never considered that people using Claude has probably made the command line easier to learn.
Or made it easier to not learn. Why memories arcane flags to tar when you can just ask AI to "deal with it"?
Why waste time memorizing arcane flags when you can spend that time actually building things? Frankly I still check man pages for things like tar all the time and I’ve been using linux for over a decade. It becomes less of a fun learning activity and more of a chore when every tool has a hundred different invocations to memorize.