How do the experts solve difficult problems in software development? In this unique and insightful book, leading computer scientists offer case studies that reveal how they found unusual, carefully designed solutions to high-profile projects. You will be able to look over the shoulder of major coding and design experts as they work through their project's architecture, the tradeoffs made in its construction, and when it was important to break rules.
In the space below, I've gathered some pointers you can follow to learn more about the contributors to this anthology. Regular Expressions, by Brian Kernighan Karl Fogel, on the Delta Editor in Subversion Jon Bentley, author of Programming Pearls Conversation between Tim Bray and Jim Gray Elliotte Rusty Harold Michael Feathers on Fit: Framework for Integrated Test; see his paper, emergent optimization in test-driven design Alberto Savoia, one of the InfoWorld CTO 25: "We want to do for software quality what Google has done for search quality." See Testing Genes, Test Infection, and the Future of Developer Testing: Some developers are easily test-infected - they take to unit testing like a duck to water. Others need some time and encouragement, but eventually "get it". A third group appears to have immunity to test infection. I invent a test-gene model to categorize these groups and look at its implications for the future of developer/unit testing.
Charles Petzold; here he is on Joan Didion and the play version of “The Year of Magical Thinking”. Top Down Operator Precedence, by Douglas Crockford Henry Warren, author of Hacker's Delight, reviewed here in the IBM Systems Journal. See comments in the Open Solaris source code: dt_popc() is a fast implementation of population count. The algorithm is from "Hacker's Delight" by Henry Warren, Jr with a 64-bit equivalent added.
Ashish Gulhati, developer of Neomailbox, an Internet privacy service Lincoln Stein; see his The Rating Game; see also BioPerl. Jim Kent; see the UCSC Genome Bioinformatics Site, and the paper, Exploring relationships and mining data with the UCSC Gene Sorter Jack Dongarra; regarding recent debate here over PS3 and XBOX360, see his Summit on Software and Algorithms for the Cell Processor. See also the Innovative Computing Laboratory, where Piotr Luszczek works. See his paper, Self adapting numerical software (SANS) effort. See also Condition Numbers of Gaussian Random Matrices. Adam Kolawa; official bio; interview; video interview; columns for SOA World magazine. Greg Kroah-Hartman; see his talk at OSCON 2005, State of the Linux Kernel. Diomidis Spinellis, author of Code Quality: The Open Source Perspective Andrew Kuchling; see what he's been reading. Travis Oliphant; see his NumPy, the fundamental package needed for scientific computing with Python; see also documentation on BaseArray, a proposed base multidimensional array type, ready-to-include in the Python core sometime in the future. Ronald Mak. See The Collaborative Information Portal and NASA’s Mars Rover Mission, published in IEEE Internet Computing. Rogerio de Carvalho, on ERP5: ERP5 is a full featured high end Open Source / Libre Software solution published under GPL license and used for mission critial ERP / CRM / MRP / SCM / PDM applications by industrial organisations and government agencies.
Bryan Cantrill, creator of DTrace; see a profile here. One of MIT TR's Top 35 under 35. Jeff Dean and Sanjay Ghemawat on MapReduce. Simon Peyton Jones; read his chapter, Beautiful Concurrency, online in PDF; or check out his A History of Haskell: being lazy with class; also, How to write a financial contract, a chapter in "The Fun of Programming". Kent Dybvig; see The Development of Chez Scheme; see Chez Scheme, a complete high-performance implementation of ANSI/IEEE standard Scheme. William Otte, author of DAnCE: A QoS-enabled Component Deployment and Configuration Engine. See also Resource Allocation and Control Engine. (Or, since he doesn't have a proper home page: photos of his trip to Cancun, or his trip to a farm in Texas, and Lackland AFB.) He's working with Doug Schmidt -- see Virtual Component: a Design Pattern for Memory-Constrained Embedded Applications. Andrew Patzer, Director of the Bioinformatics Program at the Medical College of Wisconsin; see a sample chapter from his book, JSP Examples and Best Practices. Andreas Zeller, author of Why Programs Fail: A Guide to Systematic Debugging [or in Google Books]; see also, Locating Causes of Program Failures. Yukihiro Matsumoto, inventor of the Ruby language; see an interview from late 2006. Arun Mehta, developer of the Steven Hawking editor. Emacspeak: The Complete Audio Desktop, by TV Raman; see an interview from late 2006, or his current project at Google, Accessible Search. Christopher Seiwald, of Perforce; see High-level Best Practices in Software Configuration Management. Brian Hayes, who recently reviewed "The Long Tail"; see also his blog, and his book, Infrastructure: A Field Guide to the Industrial Landscape. From the review in Scientific American: "Your home is probably connected to an electric-power substation, a telephone switching office, a water filtration plant," Hayes writes. "Do you know where they are ... or what they look like?" Perhaps after reading this extraordinary book, more people will be inspired to find out.
Beautiful Code: Leading Programmers Explain How They Think |