by Nathan Marz
Storm makes it easy to write and scale complex realtime computations on a cluster of computers, doing for realtime processing what Hadoop did for batch processing. Storm guarantees that every message will be processed. And it’s fast — you can process millions of messages per second with a small cluster. Best of all, you can write Storm topologies using any programming language.
Storm has a wide range of use cases. The basic use case is “stream processing”: processing a stream of new data and updating databases in realtime. Unlike the standard approach of doing stream processing with queues and workers, Storm is fault-tolerant and scalable.
Another use case is “continuous computation”: streaming the results of a query to clients to visualize in realtime. An example is streaming trending topics on Twitter into browsers.
A third use case is “distributed RPC”: computing an intense query on the fly in parallel. With distributed RPC, a Storm topology is a distributed function that you can invoke like a normal function.
In this talk, I’ll release Storm as open-source. I’ll show how Storm’s simple programming model makes realtime computation easy, robust, and even fun.
Financial innovation is no longer off-limits to the common developer! Bitcoin is by far the most successful attempt at a decentralized digital commodity/currency to date. With all the buzz about bitcoin recently (Forbes, NPR, SmartMoney, etc), it’s easy to talk about what bitcoin “should” or “shouldn’t” be, but us geeks really want to focus on what bitcoin actually is, and also what it is not. What long standing problems has bitcoin potentially solved? How is it designed to withstand the test of time and (hacker) talent? How does it work?
Bitcoin is literally giving the traditional financial sector a “run for its money,” providing a solid foundation for nearly endless innovation. In this presentation we will dive into the elegant architecture behind bitcoin along with some of the economic elements that keep it ticking.
Dean Wampler will moderate this panel of pre-eminent language designers with questions from the audience.
by Rich Hickey
Simple has a core meaning, an understanding of which is critical to developing robust and flexible software. We should be simplifying the problem domain, and creating solutions by composing simple parts. Instead, we endure complexity, and pride ourselves in our ability to manage it. We can do better. This talk will discuss simplicity, why it is important, how to achieve it in your designs and how to recognize its absence in the tools, language constructs and libraries we use.
18th–20th September 2011