[HN Gopher] Show HN: I built a guided Build your own DNS Server ...
___________________________________________________________________
Show HN: I built a guided Build your own DNS Server challenge
Hey everyone. It's Sherub here, author of the Build your own DNS
Server challenge on CodeCrafters. Currently it's available in Rust,
Go, and Python and is free while in beta.
https://codecrafters.io/dns-server I've kept the challenge
accessible but still challenging for an intermediate developer.
This challenge, like others from CodeCrafters, is self-paced. You
can use any tools you prefer (terminal, editor, etc.) to build the
project. At the end of the challenge, you will have created a DNS
forwarding server. The server can create and read DNS packets and
respond to DNS queries. As you go, you'll learn about the DNS
protocol, its format, servers, and A records. All while getting to
hone your language skills. Some of the challenges and choices I
had to make: * To make the stages easier, I had to break them up,
such that each step builds on the previous one. This was especially
challenging for the 2nd stage, where we write a DNS packet's header
contents. Even though I'd have liked it to be easier, breaking it
up further would have been weird. * Instead of implementing a
recursive resolver, I've restricted to a forwarding server. We made
this decision so that most developers can still use it. To add more
complexity, we can use a challenge extension (noted below). *
Deciding how much instruction and context the stages should
provide. I've decided to keep them as thorough as possible for most
of the stages. Developers can choose to have thorough details or
just skim through them. I would love your feedback and questions
on the challenge. You can try it out for free here:
https://codecrafters.io/dns-server (no CC required). I also have
challenge extensions planned. You can find them at
https://app.codecrafters.io/vote/challenge-extension-ideas?c....
I'm also keen to hear what you think about the extension ideas.
Author : nixylemonbatman
Score : 41 points
Date : 2023-11-27 06:36 UTC (16 hours ago)
(HTM) web link (app.codecrafters.io)
(TXT) w3m dump (app.codecrafters.io)
| muratsu wrote:
| I'm craving this type of content but in video format. Something
| along the lines of MIT/Stanford courses but focuses on "Do your
| own X". Most youtube content I'm aware of is focused on
| entertainment while coding and I find it distracting.
| sarupbanskota wrote:
| (CodeCrafters team here).
|
| Out of curiosity, is there a reason why you prefer video format
| vs. interactive?
|
| e.g out of habit, when I'm having a meal, I like watching
| "course videos" or streams occasionally. Is yours similar?
|
| P.S. Jon Gjengset did a comprehensive stream going through the
| Build your own BitTorrent challenge
| https://youtu.be/jf_ddGnum_4?si=nwVLbe_2XsheIKav, if you're
| interested in Rust
| hipadev23 wrote:
| It's a zoomer and younger millennial thing. It's difficult
| for me to understand. But if you want to appeal to them, make
| videos.
| sarupbanskota wrote:
| We do have a supplementary screencasts feature (this
| challenge doesn't have one yet since its new).
|
| Here's what it looks like on the Redis challenge: https://a
| pp.codecrafters.io/courses/redis/stages/2/screencas...
| strontian wrote:
| Watching videos serves a diferent role than interactive b/c
| you get to take in audio and visual together, which _can_
| support a higher bandwidth learning(depending on quality of
| the video). Also, for unfamiliar subjects, it's useful to be
| exposed to the concepts and constructs first so you can build
| a mental scaffoliding that supports the details. Speech seems
| to be a better medium for that.
|
| Interactive, like other info sources that present info
| linearly and in high detail are much less efficient, but
| allow you to learn the 'doing' aspect that a video would not.
|
| But I am curious about what you've made. How has the
| reception for this type of info product been so far?
| sarupbanskota wrote:
| Makes sense. Reception has been healthy so far :)
|
| Related:
|
| * https://news.ycombinator.com/item?id=32342334
|
| * https://news.ycombinator.com/item?id=37941075
|
| On average I'd say we get a 50/50 split between folks who
| like the doing/challenge aspect of it, vs those who wished
| there was more "consuming" type of content, e.g vidoes/text
| muratsu wrote:
| Interactive stuff requires me to participate whereas
| videos/streams can be consumed when I'm less attentive. I've
| just checked out Jon Gjengset's video, that's exactly what
| I'm talking about. Another similar channel:
| https://www.youtube.com/elie2222
|
| I'm more interested in (a) system/code design and (b)
| mechanically how they solve problems (eg how they debug, get
| around the editor etc) to improve myself. I'm less interested
| in the code itself.
| ceva wrote:
| this is quite nice for learning, awesome work guys!
| bhasi wrote:
| Hope to try out one of these challenges soon.
___________________________________________________________________
(page generated 2023-11-27 23:01 UTC)