In the afternoon, I went to more OSCON sessions. First, I went to Nested Data Parallelism in Haskell by Simon Peyton-Jones, the same guy who gave the keynote talk I went to. This time, he was talking about extending the Haskell compiler to do data parallelism. Flat data parallelism is when a computation is split into chunks and processing distributed across processor. Nested data parallelism is where the depth and complexity of the algorithm depends on the data so it isn’t simple to split up. Flattening transformation can turn these problems into flat ones that can be chunked. Also, multiple steps can be fused together into single ones. The special syntax and data parallel extensions they wrote for the GHC allows the compiler to do these transformations. He pointed out that this is only possible with purely functional languages. He thinks that functional languages are the future for scaling to multiple cores.
Next, I went to Hecl: Open Source Scripting for Mobile Phones by David Welton. Hecl is a dynamic scripting language for mobile phones. It is interpreter, written in Java, and designed to run on J2ME. It has a very simple syntax based on Tcl. The interpreter runs in a tiny amount of space. It has support for making widgets and basic GUIs.
Finally, I went to Using Puppet to Manage Your Network by Luke Kaines. I went to a talk on Puppet last year. This talk was much better since he talked about how Puppet works and how it could be used instead of vaguely talking about why it was useful. Puppet has definitely gotten some recognition since this talk was well attended. Most of the content was familiar to me from working with Puppet but I learned a couple of things about reporting changes and modules.