Bryan Cantrill describes the debugging techniques employed at Joyent, and shares real stories from the trenches - and how those painful experiences resulted in better tools and better methodologies.
Laurent Bossavit provides some suggestions on how to bring the fun back into programming by developing new skills such as leprechaun hunting and brain debugging.
Ben Christensen discusses the mental shift from imperative to declarative programming, working with blocking IO such as JDBC and RPC, service composition, debugging and unit testing.
Tal Weiss explores five crucial Java techniques for distributed debugging and some of the pitfalls that make bug resolution much harder, and can even lead to downtime.
The authors introduce Alembic, a new static analysis tool that frees programmers from having to manually move computation to exploit locality in PGAS programs.
The authors show how statistical debugging can be used for diagnosing performance problems, lowing the overhead of run-time performance diagnosis without extending the diagnosis latency.
Adam Tornhill teaches how to predict bugs, detect architectural decay and find the code that is most expensive to maintain, how to evaluate knowledge drain in a codebase, and much more.
The presenters introduce CheckCell, an Excel add-on used to identify cells that have an unusually high impact on the spreadsheet’s computations.
Tal Weiss discusses some essential tools and advanced techniques Java developers can use in their code to debug live servers and resolve errors quickly.
Luís Pina, Luís Veiga, Michael Hicks introduce Rubah, a method for dynamically updating applications running on the JVM.
Earl Barr, Mark Marron discuss building time-travel debuggers for managed languages, implemented with Tardis, and enabling developers to investigate what happened prior hitting a bug.
Bjorn Freeman-Benson suggests “listening” to the code, refactoring it based on various factors such as the defect rate or underperforming services, providing strategies and tools.