Earlier quoted context omitted.
Ruby Warrior is another great one. I had a lot of fun with it when I needed to learn Ruby for work. https://www.bloc.io/ruby-warrior
Is there any way past the first level besides logging in with facebook? A friend of mine just started (yesterday) looking at Ruby stuff and this looks awesome, but I wouldnt recommend any service that has an impassable FB login after level 1.
Show HN: The Deadlock Empire – Slay dragons, master concurrency
21–30 of 31 posts
Re: Show HN: The Deadlock Empire – Slay dragons, master concurrency
#22Re: Show HN: The Deadlock Empire – Slay dragons, master concurrency
#23One suggestion: it would be nice if you somehow integrated the fix for each bug into the game somehow. At the very least, in the congratulations screen, you could show a version of the code updated to fix the concurrency bug.
In other words, this helps you learn what not to do, but not so much on what you should do.
Re: Show HN: The Deadlock Empire – Slay dragons, master concurrency
#24This is really cool! However, I was somewhat disappointed that it only models a linearizable memory (each low-level operation atomically acts on the same global state). It would be great to teach people that they can't actually think about memory this way, since various reorderings are possible. The UI design gets a lot trickier, but this could become a great way to teach people how to deal with things like atomic in…
Thanks! We agree, memory models/instruction reordering is where it gets really fun and educational. The complexity scared us and we wanted to make the game usable as soon as we could, so we rather left it on the TODO list for now. Maybe one day in V2 :)
This kind of problem comes up very often in the context of the Linux kernel. And the ability to deal with it is as even rarer among programmers experienced with concurrency than experience with concurrency is among programmers in general. A tutorial of this form for memory ordering issues would be invaluable.
I'd be happy to help with problems and game-element design for a memory-ordering version of this tutorial.
Re: Show HN: The Deadlock Empire – Slay dragons, master concurrency
#25quite the fun game EDIT: can't figure the last one out, but was fun :D
1. Move Thread 0 to end. 2. do a few iterations through thread 1 (e.g. n=5) 3. step darkness++ concurrently (via expand), so that darkness=1 4. step thread 0 to Monitor.Wait(sanctum) 5. the rest is straightforward.
;)
Re: Show HN: The Deadlock Empire – Slay dragons, master concurrency
#26Re: Show HN: The Deadlock Empire – Slay dragons, master concurrency
#27Re: Show HN: The Deadlock Empire – Slay dragons, master concurrency
#28This game would actually make for a great assessment test[1] for hiring. I might be interesting to retrofit it to keep score or maybe perma death ala roguelike. [1]: https://en.wikipedia.org/wiki/Test_(assessment)
[0] https://en.wiktionary.org/wiki/whoa [1] http://www.merriam-webster.com/dictionary/there [2] http://dictionary.reference.com/browse/slow [3] You get the idea
Re: Show HN: The Deadlock Empire – Slay dragons, master concurrency
#29This game would actually make for a great assessment test[1] for hiring. I might be interesting to retrofit it to keep score or maybe perma death ala roguelike. [1]: https://en.wikipedia.org/wiki/Test_(assessment)
Whoa[0] there[1], slow[2] down[3] son! You don't have footnotes for the rest of the common words in that sentence! What is a 'game'? Or 'score'? Or 'rogue' 'like'? [0] https://en.wiktionary.org/wiki/whoa [1] http://www.merriam-webster.com/dictionary/there [2] http://dictionary.reference.com/browse/slow [3] You get the idea
Years of programming I guess have made me an explicit cross referencing kind of guy. I find it far worse when your not explicit at times. Misunderstood communication can lead to bad things...