Two debugging puzzles (and more to come?)
April 16, 2021 8:53 AM   Subscribe

Julia Evans (previously) is making interactive in-browser text puzzles to help people learn how to debug computer networking issues, and asking for feedback as she tries stuff out. "The Case of the Slow Websites" and "The Case of the Connection Timeout" are already up (source code using Twine), and she's thinking of making several more. "I'd love to know what folks think of this approach to learning debugging! One of my favourite ways to learn is by debugging weird problems, so my idea with this style of game is to sort of share the experience of past bugs I've run into so that other people can learn from them too."

Disclaimer: Evans is a friend of mine (per friends-linking guidance).
posted by brainwane (24 comments total) 76 users marked this as a favorite
 
I found the one I tried to be helpful in guiding my debug thoughts, but it does seem to assume that there was only a single cause of the problem. Which is a fair place to start learning, but not always the case.

Apart from that, I'm a big fan already of Julia Evans' approaches to learning. A breath of fresh air!
posted by mdoar at 9:22 AM on April 16, 2021 [1 favorite]


Oooh! Do The Case of the 500-mile Email next!
posted by thedward at 9:31 AM on April 16, 2021 [10 favorites]


Got a win on the timeout puzzle, woo! Excellent that there were a couple paths, does need more frustrating dead ends and conceptual loops ;-)

Great idea but may have some trouble emulating the frequent "pages of notes, hold breath to not scream, spend 15 minutes in the stairwell" step.

And I'm another big fan of Julia, great twitter feed, the very best tweets! Looking forward to Julia explaining Julia?
posted by sammyo at 9:45 AM on April 16, 2021 [1 favorite]


These are nicely technical! Your average user isn't going to run tcpdump before rebooting the router, but there's enough in there that someone reasonably technical could give it a go.
posted by Wrinkled Stumpskin at 9:59 AM on April 16, 2021


Debugging is such an essential modern skill & I've never seen anything that even mentions it as something that can & should be taught. If I were to suggest anything I would say it would be great if she could take her cases down a notch & do some "easy" software-based ones as well.
posted by bleep at 10:08 AM on April 16, 2021 [5 favorites]


I like the idea of these, though I wonder about some details. As an example, I know what SYN packets are and identified them correctly, so great--I'm probably not in the audience for the exercise. But if I didn't know, seeing the input box challenge me with what kind of packets these are without any clues might also have made me wonder if this exercise was really aimed at me. I may have overlooked a link to an explainer that would walk me through a normal case and let me come back to answer, but if I didn't, that's the kind of thing I'd suggest.
posted by Wobbuffet at 10:19 AM on April 16, 2021 [1 favorite]


Seems to assume a level of *nix knowledge?

Also, seems more trouble-shooting than debugging, but I'm probably splitting hairs.

I wonder if I can adapt the style to more... programming problem-solving.
posted by kschang at 10:43 AM on April 16, 2021


Seems to assume a level of *nix knowledge?

I think of Julia's projects as basically 'teaching the next generation UNIX sysadmins so the rest of us can retire.' Or maybe 'SRE procedures for the Masters in Machine Learning crowd.'
posted by pwnguin at 10:57 AM on April 16, 2021 [2 favorites]


Fun exercises, I hope she does more.

One might be "Grandma, no!" about clicking on emails/texts/popups.
posted by lon_star at 10:57 AM on April 16, 2021


Wow, these are really excellent.

As an example, I know what SYN packets are and identified them correctly, so great--I'm probably not in the audience for the exercise. But if I didn't know, seeing the input box challenge me with what kind of packets these are without any clues might also have made me wonder if this exercise was really aimed at me.

I think the input boxes are just supposed to prompt you to think about the situation a bit. It seems like the exercise progresses in exactly the same way no matter what you type in, or if you click "I don't know". I actually think that's a great design choice, but it might help to explain in the introduction that that's how it works, so that people who don't happen to know the answers wouldn't feel pressured.
posted by teraflop at 11:02 AM on April 16, 2021 [3 favorites]


This is fantastic but it outpaced my own knowledge and left me feeling lost pretty quickly, I wish it were slightly more instructive... like explaining some jargon or providing some contextual clues when you click "I don't know."
posted by Emily's Fist at 11:14 AM on April 16, 2021 [1 favorite]


I think Evans is really great at teaching it's okay to feel "oh no, I don't know something" and try to transform that into "ah, I don't know something, let's try to learn enough to figure it out." These puzzles help illustrate the process of backtracking, gathering pieces of info along the way, and working to understand and the information we get presented during systems diagnostics that a linear blog post might not be so good at.
posted by Mister Cheese at 11:43 AM on April 16, 2021 [1 favorite]




"Leslie, I typed your symptoms into the thing up here and it says you could have network connectivity problems."
posted by bonehead at 12:38 PM on April 16, 2021 [4 favorites]


These are great! Her decision not to penalize you or point out your mistakes is particularly nice.
posted by Monochrome at 12:41 PM on April 16, 2021 [1 favorite]


Oh this is great. I train people on troubleshooting, and this is a fantastic approach.
posted by Abehammerb Lincoln at 1:49 PM on April 16, 2021


Although my typing "Oh shit, your DNS response is slow AF. Try an open one like 8.8.8.8" is maybe not the response she's looking for.
posted by Abehammerb Lincoln at 1:51 PM on April 16, 2021


Had fun will do again a++
posted by one4themoment at 4:10 PM on April 16, 2021


Shared this link with some SRE communities and got back more scenarios, in a similar vein.
posted by pwnguin at 5:07 PM on April 16, 2021 [1 favorite]


As someone who does stuff like this on a daily basis, these were entertaining and I was mostly able to follow the path I would have in real life.

But hey, in the second one I learned something about iptables rule counters! My solutions of "just flush the iptables rules" and "run tcpdump and see if the packets are hitting the interface" weren't accepted :(
posted by dgr8bob at 9:52 PM on April 16, 2021 [1 favorite]


Fun!
posted by inexorably_forward at 2:23 PM on April 17, 2021


Thanks for sharing. Julia Evans is great at explaining tech topics and I appreciate that there’s even an explanation for how the text puzzle was created.
posted by mundo at 5:41 PM on April 17, 2021


New one's up: "The Case of the DNS Update That Didn't Work". Evans says: "if there are commands that you wanted to try in this one that weren't an option, I'd love to know about them!"
posted by brainwane at 11:56 AM on April 23, 2021 [1 favorite]


Another one: "The Case of the 50ms request".
posted by brainwane at 7:57 AM on May 14, 2021


« Older Yet Another Imperialist Occupation of Afghanistan...   |   Blue Lava Alert Newer »


This thread has been archived and is closed to new comments