Dr. Dobb's Journal - May 2008 - (Page 16) d05lead_p2as 3/12/08 11:24 AM Page 16 Strategic Vision by Michael Swaine Software Development Is it art or is it science? The relationship between cinema and technology is a complex and fascinating one. —from the Google review of Technology and Culture, the Film Reader, by Andrew Utterson The Envelope, Please Yeah, I’m a legend. —Ellen Page As director of software development at Digital Productions, Larry Yaeger produced the first photorealistic computer graphics in a feature film—1984’s The Last Starfighter. This may have been one of the first explicit indications that software development was becoming an integral part of movie production. This year’s Academy Awards even more explicitly recognized the work of software development in movies, and specifically of some code crunching water wizards at Stanford University and Industrial Light and Magic in solving some tough problems in fluid dynamics—problems posed by the movie Pirates of the Caribbean 3: At World’s End. Nick Rasmussen, Ron Fedkiw, and Frank Losasso Petterson were recognized for the development of the ILM fluid simulation system. “This production-proven simulation system,” the Academy said, “achieves largescale water effects within ILM’s Zeno framework. It includes integrating particle level sets, parallel computation, and tools that enable the artistic direction of the results.” Not explicitly acknowledged in the award was PhysBAM (www.physbam.com.futuresite.register .com), the C++ library for computational fluid dynamics problems, of which Fedkiw is one of the developers. Water is one of the toughest things to simulate in movies, a fact well documented in—what else—a movie called Perfect Water (www.pbs.org/kcet/wiredscience/ video/310-perfect_water.html). Water is computationally expensive, which is why, when you want to simulate a maelstrom, it takes a render farm—and the right equations. But if you get it right, maybe you get an Oscar. And maybe something more. 16 Dr. Dobb’s Journal l www.ddj.com l May 2008 So right now, you are probably doing some creative visualization of your own… The scenario: Michael Cera and Ellen Page awkwardly read from the teleprompter, fumble with the envelope, and finally announce the Academy Award for Best Software Development Effort in a Motion Picture. Running the gauntlet of hugs and kisses, backslaps, and high-fives like Stephen Colbert welcoming a guest, you mount the stage, step up to the microphone, and humbly but eloquently accept your Oscar, thanking the Academy, your mother, and Donald Knuth. It’s pure fantasy, of course. Not gonna happen. I’m not suggesting that you don’t richly deserve the accolade, and the Academy does give out Oscars for technical achievements. They just don’t give them out during the big ceremony with the red carpet where Jack Nicholson slumps in the front row like it’s a Lakers game; no, you’ll get your technical Academy award the week before in a Motel 6 in Oxnard. But if those who write the software behind the 21st century’s movies don’t get all the glitter and glitz, there are other rewards. Solving software problems for moviemaking can pay off for software development generally, and in less “frivolous” applications. But let’s step back a second to note what we’re not talking about here. It is true that all manner of cuttingedge technology is crucial to moviemaking today: at Sundance this year, according to CNet’s Michelle Meyers, “indies and techies [were] one and the same.” But technology in the movies is nothing new: Movies are technology, and the Academy has been recognizing technology at the Oscars almost since there have been movies. Just after World War II, the technology of movies seemed to ratchet up a notch, with innovations like the Acme Tool optical printer for manipulating film, and blue screen technology. http://www.physbam.com.futuresite.register.com http://www.physbam.com.futuresite.register.com http://www.pbs.org/kcet/wiredscience/video/310-perfect_water.html http://www.pbs.org/kcet/wiredscience/video/310-perfect_water.html http://www.ddj.com
Table of Contents Feed for the Digital Edition of Dr. Dobb's Journal - May 2008 Dr. Dobb's Journal - May 2008 Contents Friday Night Fish Fry Alia Vox Developer Diaries Software Development Goes to the Movies Cat: A Functional Stack-Based Little Language Mojax: Mobile Ajax Framework Kernel-Mode Databases Getting Better Search Results Effective Concurrency The Agile Edge Dr. Dobb's Journal - May 2008 Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page Cover1) Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page Cover2) Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page 1) Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page 2) Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page 3) Dr. Dobb's Journal - May 2008 - Contents (Page 4) Dr. Dobb's Journal - May 2008 - Contents (Page 5) Dr. Dobb's Journal - May 2008 - Friday Night Fish Fry (Page 6) Dr. Dobb's Journal - May 2008 - Friday Night Fish Fry (Page 7) Dr. Dobb's Journal - May 2008 - Friday Night Fish Fry (Page 8) Dr. Dobb's Journal - May 2008 - Friday Night Fish Fry (Page 9) Dr. Dobb's Journal - May 2008 - Alia Vox (Page 10) Dr. Dobb's Journal - May 2008 - Alia Vox (Page 11) Dr. Dobb's Journal - May 2008 - Developer Diaries (Page 12) Dr. Dobb's Journal - May 2008 - Developer Diaries (Page 13) Dr. Dobb's Journal - May 2008 - Developer Diaries (Page 14) Dr. Dobb's Journal - May 2008 - Developer Diaries (Page 15) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 16) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 17) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 18) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 19) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 20) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 21) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 22) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 23) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 24) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 25) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 26) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 27) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 28) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 29) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 30) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 31) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 32) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 33) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 34) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 35) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 36) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 37) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 38) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 39) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 40) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 41) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 42) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 43) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 44) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 45) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 46) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 47) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 48) Dr. Dobb's Journal - May 2008 - Effective Concurrency (Page 49) Dr. Dobb's Journal - May 2008 - Effective Concurrency (Page 50) Dr. Dobb's Journal - May 2008 - Effective Concurrency (Page 51) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 52) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 53) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 54) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 55) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 56) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page Cover3) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.