Programming Is Debugging, So Debug Better*
Debugging: The schedule destroyer, the confidence sapper, the mire in which thousands of working hours are lost every day. It's time to stop staring at those four lines of code, desperately willing the bug to appear. This session is about the philosophies that will steer you around bugs, strategies for dealing with them, and tools that can shorten a four-hour debugging session to five minutes.
Have you ever:
- Spent hours staring at the same block of code, trying to work out where the bug was, only to realise that it’s actually somewhere else?
- Littered your code with print statements, trying to locate a bug, then deleted them all, then put them back in for another bug later?
- Checked in those print statements accidentally?
- Been told that IDEs are for wimps, but secretly wondered what the attraction is?
- Looked at your language’s debugging tools, wistfully thought about memorising the obscure commands they need, then gone back to print statements?
- Wondered if all the debugging means that you’re not a good coder after all?
Stop wondering. All code has bugs, and all coders fall victim to them. You can’t predict what kind of bugs you’ll get, but you can arm yourself against their mischief. Even better, with the right coding strategies in mind, you can avoid many of them entirely.
We’ll be looking at:
- Why bugs happen, even to the best of us
- Software engineering strategies for preventing and containing bug damage
- How to dive into the unknown when diagnosing problems
- Modern heresies that’ll make you more productive
- What to look for when choosing languages and frameworks
- The many tools you can use that’ll turn debugging time into pony-riding time
- Whether and how to write your own debugging tools, and the nifty things you can do
- Maybe a little more about ponies
You can code amazing things. Don’t let the bugs drag you down!
I've spoken at O'Reilly's ETech (2006, about Ning http://www.christine.net/2006/03/ning_a_playgrou.html and microformats http://microformats.org/wiki/events/2006-03-07-etech-microformats ) and OSCON (2011, with Alex "Skud" Bayley: http://www.oscon.com/oscon2009/public/schedule/detail/8376 ), also at FOO Camp 2005, BarCamp Palo Alto 2007, and most recently at Noisebridge's "5 Minutes Of Fame" on the topic of Winamp, which you can watch here: http://www.ustream.tv/recorded/27058148 (starts about 18 minutes in, lasts 8 minutes)
Yoz has done all kinds of web hacking over the past 20 years. Originally from London, he now lives in San Francisco, and is a senior engineer at Neo, a remarkably well-tooled international consultancy run by the people who brought you Pivotal Labs, Digital Garage and “The Lean Startup”.
Previously he contributed to such bizarre and frankly silly projects as Second Life, Dio, Ning, lots of Douglas Adams-related things (h2g2, Starship Titanic, douglasadams.com and the Hitchhiker’s movie), some MySociety civic-engagement tools (WriteToThem, TheyWorkForYou), The IT Crowd and Limmud. His amateur wrestling name is “Dr Henry Metzger”.
- Title: Programming Is Debugging, So Debug Better
- Track: Cooking
- Room: B302/303
- Time: 1:30 – 2:15pm
Debugging: The schedule destroyer, the confidence sapper, the mire in which thousands of working hours are lost every day. It’s time to stop staring at those four lines of code, desperately willing the bug to appear. This session is about the philosophies that will steer you around bugs, strategies for dealing with them, and tools that can shorten a four-hour debugging session to five minutes.
- Speakers: Yoz Grahame