11 ms·
The pocket guide to debugging
- jvns 4y agoAs the author, I don't think this really makes sense on the front page of HN since you have to pay to read the zine. I am doing a giveaway for folks who can't afford the zine though -- if $12 is a lot of money for you but you think the debugging advice in there would be helpful, you can use code BUYONEGIVEONE at checkout to get the PDF version for free. (it'll ask you for a billing address but if you dislike sharing your address unnecessarily like I do, you can just put a fake address)
- MonkeyClub 4y agoIt's on the front page, because when we see jvns.ca we know it's a good link :) Keep it up, and many thanks!
- milanove 4y agoYeah, Julia makes the best zines and guides. The technical content and style is gold.
- wkat4242 4y agoJust a suggestion: Perhaps you could also sell the print version on Amazon? They print books on demand. This would be very nice for us in Europe because it eliminates the highly problematic customs step from the process.
- jvns 4y agoUnfortunately I've done a bunch of research into this and I've never been able to find a print-on-demand service that prints the zines in a way that I was happy with. Print on demand is easier for regular books, but the booklet format is a bit weird. The customs situation is a pain though, I wish I had a better solution.
- wkat4242 4y agoThanks for looking into it in any case, I appreciate it!
- matkoniecz 4y agoPublish collection of all zines as a single book?
- asicsp 4y ago>As the author, I don't think this really makes sense on the front page of HN since you have to pay to read the zine. I think it is okay since paywalled articles reach HN front page too. Also, if you had submitted this yourself as a Show HN, the guide (https://news.ycombinator.com/showhn.html https://news.ycombinator.com/showhn.html) says "For books, a sample chapter is ok." - and https://wizardzines.com/zines/debugging-guide/ https://wizardzines.com/zines/debugging-guide/ does have samples
- maxverse 4y agoBought! I've been seeing your tweets about this, and am so excited to get my hands on a print version!
- tester457 4y agoI've been looking for something like this, thanks!
- key_stroker 4y agoThank you for this, Merry Christmas.
- hobabaObama 4y agoThank you for your kindness!
- m_a_g 4y agoI'm getting "This discount has reached its usage limit". People are so fast
- richardhod 4y agoYes I'm having the same issue
- jvns 4y agoThe initial 1000 copies ran out, but I just added a few hundred extra so it should work now. (the way it works is that I add 1 copy to give away for every 1 copy sold, but it's a manual process)
- Lwrless 4y agoThank you for the free zine! I found out that a discount is also available in my region, bought the 12-pack.
- Poiesis 4y agoI have the box set of some of your other zines, so I instantly bought two copies (as I did with the box set). One is for my twelve year old daughter who's been fascinated by your stuff for years, and one to take to work, where it will constantly be lent out to other people. Love your work. Always fascinates me to see how people approach simplifying something complicated. These remind me of a feeling I also get when I'm reading Scott McCloud: comics are vastly underrated for educational content.
- peter-m80 4y agoJust the table of contents is gold. Would make a poster from it.
- shrikrishna 4y agoDo you have a pdf-only variant for the 12-pack? I looked around and didn't find it, I might have missed it. Hence asking. I don't really need printed version, so don't really want to waste paper. I have been following your blogs and zines for years now. Keep up the good work and vibes. Peace.
- arthurmorgan 4y agohttps://store.wizardzines.com/cart/add?id[]=43093189951643 https://store.wizardzines.com/cart/add?id[]=43093189951643
- gandalfgreybeer 4y agoHi. As a student from a non-first world country I really appreciate things like this (I’m pretty sure I got previous zines of yours for free in the past).
- matkoniecz 4y agoThere is a sample content, and for high-quality stuff it is perfectly fine to share paid content. It is not like everyone is obligated to follow freeware/freemium/patronage business model.
- codetrotter 4y ago> I don't think this really makes sense on the front page of HN since you have to pay to read the zine. You are being too humble :) Great work deserves attention and payment. I just ordered the 12 pack of physical print version zines + PDFs :D https://wizardzines.com/zines/all-the-zines/ https://wizardzines.com/zines/all-the-zines/ It includes the pocket guide to debugging zine, and 11 other zines!
- rodrigodlu 4y agoIt makes, I was not aware of these gems. Just bought the 12 pdf pack to show to my 7-yo girl that what I do sometimes is "fun" (and a refresher for some of the topics for myself). Thanks!
- neves 4y agoI'd also highlight that the author offers the option to buy the zine paying the "purchase parity price" for your country. It is a truly great initiative that other authors should follow. I'm a developer from Brazil and some "cheap" prices aren't that cheap for us.
- neves 4y agoJulia Evans also share great content in Twitter: https://twitter.com/b0rk https://twitter.com/b0rk She is an author that I love to support.
- soumendrak 4y agoThanks a lot.
- jbsaffa 4y agoReally cool idea! Instantly bought this for me and my wife when I saw this.
- djmips 4y agoNice!! Debugging definitely doesn't get enough love! Especially not on HN.
- Karsteski 4y agoSince people seem to be rating your book, I'll give it a purchase, as this'll probably be useful for me. You got me with the discount for being in Trinidad and Tobago haha, which I don't actually need cause I actually live in Canada, I'm just in my home country for vacation. Anyways, as a self-taught junior developer, I'm always looking for ways to become a better programmer, so thank you for this :)
- jvns 4y agoAwesome! My mom is from Trinidad so I always love hearing from folks from there :)
- whateveracct 4y agoI bought the zine 12-pack recently and have loved each one. I also printed out the strace one - it's actually one of my favorites! So this one was a no-brainer to order. I've intentionally not opened the pdf because I don't want to spoil it for when my print copy arrives :)
- makach 4y agoAh! bless the author! The TOC reads as a action list, I think I will buy this content. It looks like fun, easy read. I've done all of those steps on that action list, and have thoroughly enjoyed the time I spent debugging (not really). So many fond memories spending weeks on a bug only to change one line of code. Joy.
- fbn79 4y agoGreat suggestions: - "reread the error message" (please remember to do it, do it again, ...and again) - "take a night break" (It's wonderful how a night of good sleep can solve your bugs)
- stefs 4y agoi coached my sister through her first steps as a software developer. ignoring the error messages was a real issue at first!
- jffhn 4y ago>reproduce the bug / reduce randomness In every app I do I abstract time and scheduling/threading away, to be able to run any domain logic in a deterministic and as fast as possible way (i.e. the clock jumps to next event/treatment time instead of having to wait for it). It's such a bliss for testing and debugging (can run hours in seconds, turn on all logs safely, rule out threading issues by reproducing with a single thread, etc.), it's a shame it's not a built-in feature in most (any?) languages or their core libraries clock/scheduling APIs.
- plugin-baby 4y agoI’d love to hear more about this. Which languages do you normally work in? Any recommended reading about this topic/approach?
- jffhn 4y ago>Which languages do you normally work in? I work mostly in Java, and started to do it in C/Ada, but anything Turing-complete should be fine. >Any recommended reading about this topic/approach? I learnt it implementing HLA norm for distributed simulations (https://en.wikipedia.org/wiki/High_Level_Architecture https://en.wikipedia.org/wiki/High_Level_Architecture), but most of HLA is about distributed work synchronization, if you stay local you just need to retain the idea of advancing the time discretely from software, instead of having it flow uncontrollably with hardware ticks. Here is a previous comment I made on the same topic: https://news.ycombinator.com/item?id=22390113 https://news.ycombinator.com/item?id=22390113 You can find links to code in my (other) comment in the linked InfoQ article. In particular you can try out clocks/schedulers provided by jolikit's SchedulingHelper class, with various kinds of SchedulingType: HARD (time = f(system_time)), SOFT_HARD_BASED (virtual time trying to keep up/down with a HARD master clock), and SOFT_AFAP (virtual time jumping instantly between works).
- dcuthbertson 4y agoI recently discovered the joy of abstracting away time. I write a lot of software in Go for work. This library, https://github.com/benbjohnson/clock https://github.com/benbjohnson/clock, provides a Clock interface that can be used for creating either clocks with the same interface as the standard "time" module, or to create a mock clock that increments to the next tick on any and all tickers defined in the app. It really makes unit tests go faster, though it can be tricky to get the code right.
- leoc 4y agoA comic-zine about debugging, you say? https://multicians.org/thvv/threeq.html https://multicians.org/thvv/threeq.html
- wodenokoto 4y agoIs there something like this that’s Python focused?
- jvns 4y agoThere's this by Andreas Zeller: https://www.debuggingbook.org/ https://www.debuggingbook.org/, it's an interactive free book with implementations of a bunch of different debugging tools in Python
- huckley 4y agoIs this for children or developmentally disabled adults?
- carapace 4y agoYes.
- jonathanoliver 4y agoJust bought the 12-pack version. I love Julia's website.
- ojintoad 4y agoI haven't read the full thing but one thing you can do is institutionalize some of this stuff. The screenshot here especially: https://wizardzines.com/zines/debugging-guide/samples/2-tiny-program.png https://wizardzines.com/zines/debugging-guide/samples/2-tiny... You can institutionalize this practice at your org in some ways. At my org we have: * strawman apps for our cloud systems and our windows services to practice deployments and startup/shutdown behavior without having to wait to compile full apps * alwaysfails and alwayspasses tests in our test projects for confirming how test frameworks behave and our test reporting/logging function * to some extent, health check pages on apps can hold limited tests https://www.thoughtworks.com/radar/techniques/health-check-pages https://www.thoughtworks.com/radar/techniques/health-check-p... Maybe the zine encourages that, haven't read it yet, but looking forward to digging in based on recognizing this strategy.