Sessions at Strange Loop 2011 in Hilton St. Louis at the Ballpark

Your current filters are…

Sunday 18th September 2011

  • Clojure Part 1: Introduction to Clojure

    by Stuart Sierra

    Clojure is a new dynamic programming language for the Java Virtual Machine. Clojure introduces innovative ideas around state management and concurrency, while inheriting the best ideas from the long history of Lisp-like languages. It is a language designed to solve real problems, some of which are so pervasive in current programming practice that we don’t even recognize them as problems. This workshop will provide an introduction to Clojure’s syntax and key concepts, with examples of how they can make a real impact in large, complex systems.

    At 11:30am to 2:30pm, Sunday 18th September

    In Gateway 1, Hilton St. Louis at the Ballpark

    Coverage slide deck

  • Erlang: Language Essentials

    by Eric Merritt and Martin J. Logan

    A whirlwind tour of the Erlang language. This session will be based loosely on Chapter 2 from Erlang and OTP in Action. This tour will serve to teach Erlang to any very astute developers that don’t know it yet and be a nice refresher for those that already know it to some degree. Even advanced users should be able to take some new information on the Erlang language itself out of this session.

    At 11:30am to 2:30pm, Sunday 18th September

    In Gateway 2, Hilton St. Louis at the Ballpark

    Coverage slide deck

  • Git Foundations

    by Matthew J McCullough

    Distributed version control is all the rage these days, but is it worth it? It has been transformative for the dozens of organizations and thousands of developers that I’ve mentored on the unique implementation called Git. But don’t take my word for it. Discover the joy of a version control system that works for you, not against you, in a hands-on workshop. Bring a Windows, Mac, or Linux laptop and we’ll install, set up, use and bend Git into workflows that weren’t even possible with the version control systems of yesteryear. Be prepared to rethink how lightweight, fast, and refreshing source code control can be. After completing this workshop you’ll be able to do practical work with Git for your day job or weekend OSS hobby.

    Highlights of this workshop include:

    • Creating local repositories.
    • Seeing Git as a content tracker (not just file tracker).
    • Understanding Git network operations, including cloning, remotes, pushing & pulling.
    • Branching for experiments, stories, and features.
    • Merging branches, tags, and arbitrary hashes with recursive and fast-forward outcomes.
    • Rebasing for code change clarity, unification, and history linearity.

    At 11:30am to 2:30pm, Sunday 18th September

    In Salon A, Hilton St. Louis at the Ballpark

  • HTML 5

    by Nate Schutta

    This workshop is for web developers showing them how they can leverage HTML5 in the applications they are building today. We’ll start with a gentle overview describing just what HTML5 is all about and then we’ll delve into the details. We’ll look at the new elements HTML5 brings to the table, why canvas isn’t just something you find in the art department, how geolocation can find Waldo and much much more.

    At 11:30am to 2:30pm, Sunday 18th September

    In Salon B, Hilton St. Louis at the Ballpark

  • Intermediate Android

    by Michael Galpin

    This workshop covers intermediate topics for Android developers such as:

    • Network I/O
    • Multi-threading and asynchronous programming
    • Background services, notifications
    • Hard and soft caching
    • View optimization
    • Content providers and databases
    • Geolocation
    • Metadata and EXIFs
    • Animations
    • Common Android Intents
    • Exception handling

    You may be surprised to see how each of these techniques can pop up simply by working with images and multimedia in an Android application. The speaker will explain each of these techniques and talk about the real world situations that he has used them while working on two of the most popular apps on the Android Market, eBay Mobile and Bump, and while co-authoring the book Android in Practice.

    At 11:30am to 2:30pm, Sunday 18th September

    In Grand Suites 1 & 2, Hilton St. Louis at the Ballpark

    Coverage slide deck

  • Learn Scala Interactively with Scala Koans

    by Dianne Marsh

    Scala is a language which is both functional and object-oriented. Running on the Java Virtual Machine (JVM), Scala appeals to developers who enjoy a concise powerful language with modern constructs. While programmers are often attracted to Scala for its productivity gains and reduction of boilerplate code, it’s easy to become bewitched by the functional approach.

    Koans are small lessons on the path to enlightenment. The aim of the Scala Koans project is to provide an easy learning environment in Scala based on a test suite with tests that the developer must either update to work, or fix the implementations being tested such that they pass. The Scala Koans were born at CodeMash 2010 by Dick Wall, updated for CodeMash 2011 and further refined at the Java Posse Roundup 2011.

    Modeled after the Ruby Koans, the Scala Koans provide an interactive and fun way to learn the language. Join us and learn more about this increasingly popular language.

    At 11:30am to 2:30pm, Sunday 18th September

    In Gateway 5, Hilton St. Louis at the Ballpark

  • Machine Learning

    by Hilary Mason

    At 11:30am to 2:30pm, Sunday 18th September

    In Gateway 3, Hilton St. Louis at the Ballpark

    Coverage note

  • Node.js Bootcamp

    by James Carr

    You might have heard a lot about node.js lately, and all for good reason. It makes building scalable event driven applications easy and fun. In this workshop we’ll take a deep dive into develoment with node.js, from understanding ES5 features and syntax to building your own node.js modules to building and deploying your own real time web application. Other topics that will be explored include concurrency, behavior driven development, real time communication with websockets, working with NoSQL databases and much more. No experience with node.js is assumed but at least some familiarity with javascript is helpful.

    At 11:30am to 2:30pm, Sunday 18th September

    In Gateway 4, Hilton St. Louis at the Ballpark

  • Cascalog

    by Nathan Marz

    Cascalog is a data processing library for Clojure for processing Big Data on top of Hadoop or doing analysis on a local computer from the REPL. Cascalog combines the conciseness of a DSL with the power of a general purpose programming language. Cascalog is inspired by Datalog and blends logic programming with functional programming.

    In this workshop, we’ll learn the basics of Cascalog. We’ll cover the API, inner and outer joins, functions, aggregators, negations, how the query planner works, how to create custom operations for queries, and how to read from diverse datasources like HDFS, MySQL databases, and others.

    The format of the workshop is short lectures followed by interactive problem solving sessions where you’ll work on problems that utilize the new concepts from the lectures.

    At 3:00pm to 6:00pm, Sunday 18th September

    In Gateway 4, Hilton St. Louis at the Ballpark

  • Clojure Part 2: Building Analytics with Clojure

    by Aaron Bedra

    Our software collects data every day. It fills our databases, logs, and various other crevices. The question is, how do we use it? Most of us simply collect it in case we need it some day. The data your software collects can be the secret to unlocking new potential in your market. It can tell you things your users aren’t. It’s important to know how to make your data work for you.

    Join Clojure/core’s Aaron Bedra as he takes you through the beginning of what will turn out to be a wonderful relationship. Aaron will introduce Incanter, a statistical programming package for Clojure. He will take you from raw data to raw power in just a few short lines of code.

    At 3:00pm to 6:00pm, Sunday 18th September

    In Gateway 1, Hilton St. Louis at the Ballpark

  • Erlang: Production Grade

    by Eric Merritt and Martin J. Logan

    Here is where you jump into the meat of things. In this section you use behaviours, supervision, and the application structure. These are the fundamental building blocks for the OTP framework which is at the heart of how Erlang delivers on its promises of high concurrency, scalability and high fault tollerance.

    At 3:00pm to 6:00pm, Sunday 18th September

    In Gateway 2, Hilton St. Louis at the Ballpark

  • Getting Cozy with Emacs

    by Phil Hagelberg

    Like a lightsaber, an Emacs setup is most effective when hand-assembled and honed over much practice. This talk will show you what it takes to put together a killer set of dotfiles, starting with a tour of indispensible features and libraries and going on to cover writing your own functions to extend Emacs with Elisp. Bring a laptop (with Emacs installed, of course) and knowledge of basic navigation and commands from the tutorial.

    At 3:00pm to 6:00pm, Sunday 18th September

    In Grand Suites 1 & 2, Hilton St. Louis at the Ballpark

  • Git Advanced

    by Matthew J McCullough

    Many Git workshops successfully focus on the basics for those new to DVCS. However, with Git having a full 5 years on the street now, there is a growing desire to address the maturing users of this innovative DVCS. This workshop will take existing Git users and bring them to a heightened level of productivity by leveraging Git’s powerful, yet underused “advanced” features.

    Highlights of this workshop include:

    • Studying team-collaboration techniques with Git.
    • Applying road-tested branching strategies.
    • Cherry picking bug fixes and other nuggets of code in both linear and rebase workflows.
    • Building custom commands via aliases and shell scripts.
    • Undoing and redoing almost anything via revert, reset, reflog and stash.
    • Minimizing repetitive work with rerere, pickaxe, and bisect.
    • Leveraging fixup, autosquash, squash and interactive rebase to fluidly make source history more comprehensible.

    At 3:00pm to 6:00pm, Sunday 18th September

    In Salon A, Hilton St. Louis at the Ballpark

  • Haskell: Functional Programming, Solid Code, Big Data

    by Bryan O'Sullivan

    Modern programming presents a daunting array of challenges: proliferating technologies, messy inputs, unreliable networks, huge volumes of data, how to verify that results are correct, making it all fast enough. The Haskell programming language is well suited to addressing this broad range of needs, as it uniquely combines conciseness, safety, and high performance.

    In this fast-moving, interactive tutorial we will learn Haskell by developing a realistic analytic application: we’ll crawl a web site and rank its pages in order of authority. This combines some very modern concerns: network programming; handling dodgy HTML; big data; and number crunching. With our emphasis on getting real work done, we’ll show off some of Haskell’s compelling features and demonstrate how they help us to develop dependable, easy to understand code.

    At 3:00pm to 6:00pm, Sunday 18th September

    In Gateway 3, Hilton St. Louis at the Ballpark

    Coverage slide deck

  • Intro to Django

    by Jacob Kaplan-Moss

    Django is a high-level web development framework designed for rapid development of database-backed web sites. This tutorial is designed to introduce developers to Django and to give a taste of how Django development usually “feels”. My main goal is to give a holistic impression of Django’s abilities and style: by the end, attendees should be able to decide if Django’s a good fit for them.

    A high-level outline:

    • Introduction, philosophy, and basic terminology.
    • Models, the model API, metadata and relationships.
    • Django’s admin interface.
    • Views, URLs, and the request/response cycle.

    At 3:00pm to 6:00pm, Sunday 18th September

    In Gateway 5, Hilton St. Louis at the Ballpark

    Coverage slide deck

  • jQuery

    by Nate Schutta

    Sure, Ajax might not be the hardest thing you’ll have to do on your current project, but that doesn’t mean we can’t use a little help here and there. While there are a plethora of excellent choices in the Ajax library space, jQuery is fast becoming one of the most popular. In this talk, we’ll see why. In addition to it’s outstanding support for CSS selectors, dirt simple DOM manipulation, event handling and animations, jQuery also supports a rich ecosystem of plugins that provide an abundance of top notch widgets. Using various examples, this talk will help you understand what jQuery can do so you can see if it’s right for your next project. Once we’ve established a solid understanding of just what jQuery can do out of the box, we’ll delve deeper into the plugin space. jQuery is designed to be extended and while odds are there’s a plugin that meets your needs, sometimes only a homegrown solution fits. Starting with a couple of very simple examples, we’ll work our way up to more full fledged widgets.

    At 3:00pm to 6:00pm, Sunday 18th September

    In Salon B, Hilton St. Louis at the Ballpark

Monday 19th September 2011

  • Category Theory, Monads, and Duality in (Big) Data

    by Erik Meijer

    For the past decade, I have been on a quest to democratize developing data-intensive distributed applications. My secret weapon to slay the complexity dragon has been category theory and monads, but in particular the concept of duality. As it turns out, the data domain is an extremely rich source of all kinds of interesting dualities. These dualities are not just theoretical curiosities, but actually solve many practical problems and help to uncover deep similarities between concepts that at first look totally unrelated.In this talk I will illustrate several of the dualities I have encountered during my journey, and show how this resulted in a novel “A co-Relational Model of Data for Large Shared Data Banks”.

    At 8:30am to 9:20am, Monday 19th September

    In Grand Ballroom, Hilton St. Louis at the Ballpark

    Coverage write-up

  • CSS3 and Sass

    by R. Mark Volkmann

    In a perfect world, every company would have a web “designer” that makes our web apps pretty. It’s not a perfect world. Web developers need to know some CSS!

    We’ll start by quickly covering the basics of CSS. Then we’ll dive into the CSS3 features that are supported by recent versions of popular browsers. Finally, we’ll explore a way to improve the syntax of CSS.

    Sass stands for “Syntactically Awesome Stylesheets”. It provides two new syntaxes for CSS. One is a superset of CSS3 and the other is a more concise version of that. Both are translated to standard CSS
    by a Ruby application before a web site/application is deployed. The features Sass adds to CSS include variables, selector nesting, mixins and selector inheritance.

    At 9:30am to 10:20am, Monday 19th September

    In Gateway 3, Hilton St. Louis at the Ballpark

  • Functional Thinking

    by Neal Ford

    Learning the syntax of a new language is easy, but learning to think under a different paradigm is hard. This session helps you transition from a Java writing imperative programmer to a functional programmer, using Java, Clojure and Scala for examples. This session takes common topics from imperative languages and looks at alternative ways of solving those problems in functional languages. As a Java developer, you know how to achieve code-reuse via mechanisms like inheritance and polymorphism. Code reuse is possible in functional languages as well, using high-order functions, composition, and multi-methods. I take a variety of common practices in OOP languages and show the corresponding mechanisms in functional languages. Expect your mind to be bent, but you’ll leave with a much better understanding of both the syntax and semantics of functional languages.

    At 9:30am to 10:20am, Monday 19th September

    In Grand Ballroom, Hilton St. Louis at the Ballpark

  • Glu-ing The Last Mile

    by Ken Sipe

    How does your team handle release weekend? Is it the whole weekend? Is everyone on call? Is there a way to reverse the decision mid-stream? How long would it take your company or team to push a single line code fix from dev into production? Way too many organizations handle the production release through manual and tedious labor following a lengthy to-do check list. Way too many organizations have no way to reproduce their production environment.

    What if you could “test” your production release before production? One of the answers to the last mile of continuous delivery is GLU. GLU is an open source project for deployment automation. It was created by one of the co-founders of LinkedIn (Yan Pujante) for automation of LinkedIn’s deployment automation.

    This session is a basic tutorial, walking through the configuration of a deployment out to multiple services. We will work through serial and parallel deployments, ensuring consistency and detecting problems. This session should be a sufficient introduction to walking through: 1) installation, 2) configuration, 3) multi-server deployments 4) manual updates and 5) automated updates.

    At 9:30am to 10:20am, Monday 19th September

    In Gateway 4/5, Hilton St. Louis at the Ballpark

    Coverage write-up

  • On Distributed Failures (and handling them with Doozer)

    by Blake Mizerany

    In unreliable networks, with unreliable processors (also known as “The Cloud”) one must know all the ways their thing can fail; and just as importantly, how to recover. It is even better to have the ability to recover in an automated way. I’ll go over the common failure conditions in distributed systems, and then introduce you to Doozer, the highly-available, consistant data store that makes recovering from these problems easy.

    At 9:30am to 10:20am, Monday 19th September

    In Lindbergh, Hilton St. Louis at the Ballpark

  • Ratpack: Classy and Compact Groovy Web Apps

    by James L. Williams

    Ratpack is a micro web framework for Groovy inspired by the Sinatra web framework for Ruby. Running Jetty and Groovy’s template engine at its core, Ratpack is very capable and extensible while also enabling you to write single file web apps. It fits the sweet spot for problems too small for Grails, yet too big to start from scratch. Ratpack takes routes, also known as URLMappings in Grails, and makes them the star of the show.

    In this session, you’ll learn how to create Ratpack apps, manage the application lifecycle, authentication, and persistence, and how to interface with Grails applications. Frankie and Sammy would approve…

    At 9:30am to 10:20am, Monday 19th September

    In Gateway 1, Hilton St. Louis at the Ballpark

  • Testing, Testing, iOS

    by Heath Borders

    Unit testing is an important part of software development, and many frameworks exist to support it on iOS.

    In this talk, I’ll give an overview of three unit testing frameworks (SenTestingKit, Google Toolbox for Mac, and GHUnit), two UI interaction frameworks (UISpec, UIAutomation), and a mocking framework (OCMock).

    I’ll write tests for a simple application using all frameworks and evaluate them based on:

    • Ease of use for writing tests
    • Error reporting
    • Debugging
    • Integration with XCode
    • Integration with the command line

    At 9:30am to 10:20am, Monday 19th September

    In Gateway 2, Hilton St. Louis at the Ballpark

  • Wrap Your SQL Head Around Riak MapReduce

    by Sean Cribbs

    “NoSQL is awesome! I need to use it on my next project!” … [hours later] … “How the heck do I get my data out of this thing?!”

    Sound familiar? Non-relational data storage solutions (NoSQL) promise all kinds of benefits — scalability, flexibility, fault-tolerance — but (by the nature of the moniker) don’t have SQL to query with. Riak is one such solution, a distributed key-value store that implements MapReduce for querying, and has some awesome client libraries for Ruby, Java, Python, and Node.js. We’ll briefly look at why you might want to use Riak, discuss how MapReduce works in Riak, and then dive into converting some pretty common SQL queries into their MapReduce equivalents, all using code you know how to write, Javascript!

    At 9:30am to 10:20am, Monday 19th September

    In Arch View, Hilton St. Louis at the Ballpark

    Coverage slide deck

  • An Introduction to Doctor Who (and Neo4j)

    by Ian Robinson

    Doctor Who is the world’s longest running science-fiction TV series. Battling daleks, cybermen and sontarans, and always accompanied by his trusted human companions, the last Timelord has saved earth from destruction more times than you’ve cursed Maven.

    Neo4j is the world’s leading open source graph database. Designed to interrogate densely connected data with lightning speed, it lets you traverse millions of nodes in a fraction of the time it takes to run a multi-join SQL query.

    When these two meet, the result is an entertaining introduction to the complex history of a complex hero, and a rapid survey of the elegant APIs of a delightfully simple graph database. With a data store packed full of geeky Doctor Who facts, we’ll have you answering questions of the Doctor Who universe like a die-hard fan.

    At 10:30am to 11:20am, Monday 19th September

    In Gateway 1, Hilton St. Louis at the Ballpark

    Coverage write-up

  • Building Applications with jQuery UI

    by Scott González

    We’ll start with an overview of jQuery UI and the widget factory. We’ll dive into how the widget factory works, how it provides a unified API across all jQuery UI widgets and how to leverage it to build your own widgets. We’ll also cover the jQuery UI CSS Framework and how to leverage existing themes with your own custom widgets, as well as how to build a new theme that will work with any widget that uses the CSS Framework.

    At 10:30am to 11:20am, Monday 19th September

    In Gateway 3, Hilton St. Louis at the Ballpark

  • Concurrent Caching at Google

    by Charles Fry and Benjamin Manes

    MapMaker is Google’s premier data structure for in-memory caching on the JVM. This presentation will cover lock amortization as a simpler alternative to techniques such as lock-free and elimination-based data structures. We’ll describe how amortized analysis can be used to avoid lock contention and how it is leveraged to support expiration, soft/weak reference collection, and bounded caches.

    At 10:30am to 11:20am, Monday 19th September

    In Arch View, Hilton St. Louis at the Ballpark

  • Extreme Cleverness: Functional Data Structures in Scala

    by Daniel Spiewak

    This talk will cover the theory and implementation of 6 unique functional data structures in Scala. We’ll start out with the concept of functional persistence and then dive right into actual data structures. Each data structure will be motivated and built up by the associated theory and ideas. All of these will be illustrated (with requisite colorful diagrams) and implemented with the necessary trappings to be a first-class Scala Collection. Finally, we’ll look at some of the real-world constraints imposed by hardware architecture and the JVM itself, touching on how these constraints affect data structure design in ways that the theory doesn’t show.

    At 10:30am to 11:20am, Monday 19th September

    In Lindbergh, Hilton St. Louis at the Ballpark

  • fog or: How I Learned to Stop Worrying and Love Cloud

    by Wesley Beary

    Cloud computing scared the crap out of me – the quirks and nightmares of provisioning cloud computing, storage, … on AWS, Terremark, Rackspace, … – I mean, where do you even start?

    Since I couldn’t find a good answer, I undertook the (probably insane) task of creating one. fog gives you a place to start by creating abstractions that work across many different providers, greatly reducing the barrier to entry (and the cost of switching later). The abstractions are built on top of solid wrappers for each api. So if the high level stuff doesn’t cut it you can dig in and get the job done. On top of that, mocks are available to simulate what clouds will do for development and testing (saving you time and money).

    You’ll get a whirlwind tour of basic through advanced as we create the building blocks of a highly distributed (multi-cloud) system with some simple Ruby scripts that work nearly verbatim from provider to provider. Get your feet wet working with cloud resources or just make it easier on yourself as your usage gets more complex, either way fog makes it easy to get what you need from the cloud.

    At 10:30am to 11:20am, Monday 19th September

    In Gateway 4/5, Hilton St. Louis at the Ballpark

    Coverage slide deck

  • JVM dynamic languages interoperability framework

    by Attila Szegedi

    With the advent of the invokedynamic in Java 7, implementations of language runtimes on JVM will become much more performant and powerful. Invokedynamic in itself is however only the first stepping stone, the least amount of functionality exposed by the JVM sufficient to enable the new features. Language implementers still need a lot of plumbing for correct interoperability with Java objects: overloaded method resolution, property access, collections access, and so on. The JVM Dynamic Linker Framework provides these functions, a convention for specifying them as invokedynamic calls, and means to link the invocations. More importantly, it provides means for registration and discovery of the same functions for other languages, acting as a nexus that can transparently link call sites generated by one language implementation to code in another implementation. Thus, it allows a dynamic language runtime to handle not only POJOs, but also objects from any other dynamic language runtime that itself uses the framework.

    At 10:30am to 11:20am, Monday 19th September

    In Gateway 2, Hilton St. Louis at the Ballpark

Schedule incomplete?

Add a new session

Filter by Day

Filter by coverage

Filter by Topic

Filter by Venue

Filter by Space