Git: not just for source code anymore
You already know that git tracks source code, and odds are you've contributed to at least one project that uses it. But did you know that git can track arbitrary data, too? This talk will show you how to use git as a database for arbitrary purposes, and demonstrate Git's strengths and weaknesses compared to other data stores.
Find out how to use libgit2 to poke at a Git repository from C or your language of choice, and learn why you might want to use it in your next project. Explore the details of the Git object store, and how your data can map into it efficiently. Take advantage of git's delta compression and network protocol to construct a distributed application. Hear about novel applications of git repositories today, and plan for the awesome git hack you'll invent tomorrow.
As a demonstration, I'll show how I integrated Git into a build system, to track all the dependencies of a project and how they fit together.
Josh Triplett hacks on system software, including the Linux kernel, BITS, X, Git, Sparse, and Debian. Josh enjoys using software for unconventional purposes, such as running Python in the GRUB2 bootloader to test BIOS, using Git as a database, and scripting build systems in Scheme. Josh recently completed his PhD in Computer Science, constructing concurrent data structures and synchronization techniques for highly parallel systems. In his "free time", Josh does as much of his hacking as possible in Haskell.
Josh works for Intel, making Linux more awesome on Intel hardware. He still finds himself typoing "Haswell" as "Haskell" and vice versa.
(Josh does not speak for Intel.)