Personal schedule for Sean Sullivan
subscribe to Sean Sullivan's
Location: F150_El Camp
Go's approach to concurrency differs from that of many languages, even those (such as Erlang) that make concurrency central, yet it has deep roots. The path from Hoare's 1978 paper to Go provides insight into how and why Go works as it does.
Aside from learning Clojure's syntax and approach to functional programming and concurrency, there's also the more mundane issues: What editor do I use? How to I build large projects? How do I share my work with others? This session will discuss IDEs and plugins, command line build tools, and web sites.
Location: Portland Ballroom
Object-oriented programming began, back in the 1960s with Simula, as a way to describe the behavior of interacting items - objects. It was purified through languages such as Smalltalk, in which everything is an object and every operation a message send, a clear and beautiful model. But then something went very wrong.
Does Python have Design Patterns? You bet! Whatever the misguided meme going around is claiming to the contrary, every field of human endeavor has Patterns, and so of course does Python. This talk shows how and why, recapping what Patterns are all about, Design patterns in particular, and presenting examples of how they work best in Python, both singly and as part of a Language of Patterns.
There comes a time in a project's life when you have to make the decision: can this code be saved? Should we fix it, or declare technical bankruptcy to cancel our technical debts and start again? In this talk I'll look at when and how to make this decision without regrets.
Computers are getting wider, not faster. If you want your code to run faster, it has to have some parallelism. This is hard, and threads probably aren't the answer. There is a lot of new concurrency technology on the scene. This talk surveys the 2010 state of the art in tools to empower developers to write concurrent code, and makes some predictions.
Location: Portland 251
Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications. This talk will highlight new features in GWT 2.0. We'll discuss GWT 2.0 development mode, declarative UI, layout panels, and the new Google Plugin for Eclipse.
One piece of software we've found to be particularly useful in scaling our site is Scribe, an open source system for aggregating massive amounts of logging data from thousands of machines, or more generally moving around large amounts of data in an asynchronous and mostly-reliable way.