Show HN: Learn by rebuilding Redis, Git, a database from scratch

(shipthatcode.com)

157 points | by acley 17 hours ago

10 comments

  • xqb64 15 hours ago
    How does this differ from codecrafters.io?
    • acley 14 hours ago
      its free
      • f3408fh 14 hours ago
        And entirely AI generated
        • Bnjoroge 7 hours ago
          I’ll take that over something AI generated that’s not free
        • acley 12 hours ago
          coauthored by compiler
      • gkbrk 12 hours ago
        All the codecrafters content is available on Github too, for free.
        • DistractionRect 11 hours ago
          This I didn't know, thank you for that! "Build a selfhosted codecrafters" might be a fun meta "build an X"
        • acley 12 hours ago
          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
          • flexagoon 46 minutes ago
            > 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?

          • azangru 11 hours ago
            I'd rather have something I can tinker with on my own machine, thank you very much
            • acley 10 hours ago
              I respect your opinion too.
          • tekno45 5 hours ago
            if you're learning code challenges you should probably learn how to run code locally.
      • batisteo 11 hours ago
        Are we the product?
        • acley 10 hours ago
          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
  • lohith1710 12 hours ago
    Looks a lot like CodeCrafters, except it's free. Was it built by humans or AI?
  • qainsights 13 hours ago
    Signing up is throwing `rate limit exceeded, please try again later`
    • acley 13 hours ago
      bots are hitting tons of endpoints bro. You can keep using the platform as guest
      • philipallstar 2 hours ago
        Why are you talking like this?
        • anonzzzies 46 minutes ago
          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.
      • tyre 8 hours ago
        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.

      • throw1234567891 10 hours ago
        This bro thing is so disrespectful.
  • isityettime 12 hours ago
    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/

  • notLAYZ38 4 hours ago
    Kindly add support for Java
  • jwpapi 9 hours ago
    Can you add Zig?
    • acley 2 hours ago
      jig is not supported by judge0 (our code execution library)
  • noobcoder 12 hours ago
    a dafor of things are throwing errors, but good initiative
  • jaylane 4 hours ago
    this is such a cool idea.
  • acley 17 hours ago
    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.
    • alexhans 14 hours ago
      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.

      • acley 13 hours ago
        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.

      • tccole 13 hours ago
        Oh that’s really interesting, I never considered that people using Claude has probably made the command line easier to learn.
        • fragmede 12 hours ago
          Or made it easier to not learn. Why memories arcane flags to tar when you can just ask AI to "deal with it"?
          • mfro 11 hours ago
            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.
    • AlexeyBrin 14 hours ago
      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 ?

      • acley 14 hours ago
        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
    • SwiftyBug 14 hours ago
      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.
      • acley 13 hours ago
        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
        • DistractionRect 10 hours ago
          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).

      • mobius47 2 hours ago
        [dead]
  • liberian 11 hours ago
    [dead]