Live data from Hacker News

Keeping a debugging journal

steverydz.com

11–20 of 29 posts

Re: Keeping a debugging journal

#11
A particularly fine example of a bug journal (not exactly a debugging journal) is the one kept by Donald Knuth for his TeX typesetting system.

The list is at http://texdoc.net/texmf-dist/doc/generic/knuth/errata/errorl...; the fairly long and very interesting paper he wrote about it ("The Errors of TeX") unfortunately doesn't seem to be freely available, but there's a very short informal article (also by Knuth) about it at http://www.tug.org/TUGboat/tb10-4/tb26knut.pdf.

He classifies all the errors he's ever found (or had found by others) into 15 categories. (Here "errors" includes "enhancements found to be a good idea", just as in many issue-tracking systems.) In the full "Errors" paper he has much to say about each category, including concrete examples and more philosophical ruminations.

Re: Keeping a debugging journal

#12
post #10

I've found it to be really helpful to keep a project work log when working alone. Mine are very verbose and help the most at the time of writing, since it keeps me on task and solidifies ideas. My friend does the same thing, here's what he wrote about it recently: http://blag.cammunism.org/blog/2013/11/14/programmers-log/

Kinda sounds like a rubber duck debugging strategy.

Re: Keeping a debugging journal

#13
So much truth! I've been keeping one myself for the past ten months and it helps immensely when switching between projects all the time. I don't use a blog or evernote but a set of scripts I made, it's an excellent use case for Dropbox too.

Re: Keeping a debugging journal

#15
post #10

I've found it to be really helpful to keep a project work log when working alone. Mine are very verbose and help the most at the time of writing, since it keeps me on task and solidifies ideas. My friend does the same thing, here's what he wrote about it recently: http://blag.cammunism.org/blog/2013/11/14/programmers-log/

I do the same thing, but not just when working alone -- I just use a a text file in dropbox + vim.

For more complicated tasks I create check lists before hand (to make sure I cover the edge cases), and sometimes create "Testing:" check lists to make sure I also test all the edge cases. I also have free form text when I'm thinking about a problem, or when I get feedback about different things.

It's organized by day and is invaluable, with a simple search I can find out what I worked on any day -- really good for reflection and marking progress.

Re: Keeping a debugging journal

#16
post #11

A particularly fine example of a bug journal (not exactly a debugging journal) is the one kept by Donald Knuth for his TeX typesetting system. The list is at http://texdoc.net/texmf-dist/doc/generic/knuth/errata/errorl... ; the fairly long and very interesting paper he wrote about it ("The Errors of TeX") unfortunately doesn't seem to be freely available, but there's a very short informal article (also by Knuth) abou…

You have a slight typo in that first link, HN interpreted the semicolon as part of the link, fixed:

http://texdoc.net/texmf-dist/doc/generic/knuth/errata/errorl...

Re: Keeping a debugging journal

#17
I keep two text files open at all times: CurrentTasks.txt gets every new assignment and idea, sorted by priority order, most important stuff at the top.

Logbook.txt gets a date stamp every day, and collects the notes I take/leave myself as I go along, including any interesting command lines I won't remember later. I throw in any interesting error messages and other things I know I won't remember in detail.

Periodically, I'll garbage collect CurrentTasks and move the good intentions and other things I won't likely do over to the Logbook.

This is a corruption of David Allen's 'Getting Things Done' system, but it's worked well for me for years. I can't count the number of times the Logbook has acted as a ready reference for solving some obscure, occasional challenge.

Re: Keeping a debugging journal

#18
post #11

A particularly fine example of a bug journal (not exactly a debugging journal) is the one kept by Donald Knuth for his TeX typesetting system. The list is at http://texdoc.net/texmf-dist/doc/generic/knuth/errata/errorl... ; the fairly long and very interesting paper he wrote about it ("The Errors of TeX") unfortunately doesn't seem to be freely available, but there's a very short informal article (also by Knuth) abou…

You have a slight typo in that first link, HN interpreted the semicolon as part of the link, fixed: http://texdoc.net/texmf-dist/doc/generic/knuth/errata/errorl...

This one stuck out for me:

    * Time sharing is very slow today, so I'm mostly reading technical reports while
        waiting three hours for compiler, editor, and loading routine.
    * I'm not counting this as debugging time!
    * (Came back in the evening.)
For reference, you can compile the Linux kernel in as few as eight minutes [1].

[1] http://askubuntu.com/a/244148

Re: Keeping a debugging journal

#20

Earlier quoted context omitted.

You have a slight typo in that first link, HN interpreted the semicolon as part of the link, fixed: http://texdoc.net/texmf-dist/doc/generic/knuth/errata/errorl...

This one stuck out for me: * Time sharing is very slow today, so I'm mostly reading technical reports while waiting three hours for compiler, editor, and loading routine. * I'm not counting this as debugging time! * (Came back in the evening.) For reference, you can compile the Linux kernel in as few as eight minutes [1]. [1] http://askubuntu.com/a/244148

By time-sharing, does he mean sharing computing time on a cluster? I work on my university's cluster and on bad days, my jobs are queued for 4 hours and then run for 20 minutes...
Post reply on HN