Double Feature: "Disastrously Linked Libraries" and "Dreamcast Homebrewing"


Details
Join us at 7:00 PM on Wednesday, December 3rd for a double feature of C++ goodness! Doors will open at 6:30 so please arrive ahead of time so we can get ready.
- Disastrously Linked Libraries: A Guided Tour Through the Perils of Developing C++ Libraries for Windows
Dynamic linking is one of the best and worst things to ever happen to software. The benefits are easy to see, but the troubles are less obvious, and tend to bite you when you least expect it. On Windows in particular, the complex mechanics of DLLs are a common cause of crashes and versioning bugs. Most programmers have heard the term "DLL Hell". This presentation will discuss the basics of linking and symbols, how Windows DLLs work, common pitfalls with DLLs, and guidelines for using DLLs and static libraries safely. If there are any survivors and time and interest permit, we can dig into advanced topics like usage of thread-local storage from DLLs and static libraries, making safely-unloadable DLLs, and how to write tools using techniques like imposter DLLs and binary patching of entry points.
Jason Cohen is one of the many children of the Nintendo generation who spent countless hours learning about graphics, music, software, and hardware with dreams of making his own games. This passion produced exactly zero worthwhile games, instead channeling into a greater interest in the math behind sounds and images, and in producing tools for creating music and graphics. Along the way, he built a spatula robot that used computer vision to cook pancakes, started the Audacity project, written songs with Lisp programs, built a 104 dB S/N A/D converter for hexaphonic guitar pickups, and worked on an IDE for Nintendo Wii and Sony PS3 game developers. For the past 7 years, he has been at NVIDIA developing performance analysis tools for supercomputing and (coming full circle here...) games. Jason started learning C++ about half as long ago as he started learning English, and is always trying to improve at using both.
- Dreamcast Homebrewing
In 2000, an exploit was found for the Sega Dreamcast video game system that allowed any yahoo with a CD burner to produce discs that would play on the system without the need for hardware hacks. While this enabled mass piracy that helped kill the system, hobbyists grasped the opportunity to create a rich ecosystem of free and opensource compilers, libraries and even operating systems to produce legal homebrew games and apps which continue to be updated to this day. Learn about the history of these tools, where to find them, and how to utilize some of C++11's coolest features on the hottest gaming system of 1999.
Tim Simpson was recently discovered frozen in a block of ice by a team of antarctic researchers. He currently works at Rackspace as the team lead on the Cloud Databases product, and is a core member of OpenStack Trove. He's also the current organizer of the Austin C/C++ Meetup as well as part-time salesperson for Hyper Basic. In his free time he enjoys catching up on the history of the past 14 years.
The talk will take place at Rackspace's Austin office, located on the East side of IH-35 right before Rundberg and after Henna Chevrolet (there is a sign for Rackspace which is visible from the highway). Feel free to park in the same lot as the big Rackspace flag.

Double Feature: "Disastrously Linked Libraries" and "Dreamcast Homebrewing"