by Dean Wampler
Best practices come and go. Ideas that were considered indisputable, dogmas, sometimes fall out of favor, even becoming heresies. Let’s look at four ideas from the history of software development, ideas that have gone in and out of favor (at least in some circles), from dogma to heresy. Has our understanding what is “good” changed? Has the nature of today’s work influenced our thinking? What general lessons can we learn from these examples?
The four examples are:
1. Design Then Code.
2. Design Patterns.
3. Corba vs. REST.
4. Object Middleware and ORMs.
by Zach Tellman
Clojure has powerful concurrency primitives, but they don’t always play nicely with side-effects. Services that take a single input and produce a single output can be easily modeled as functions, but more complicated relationships between input and output lack a first-class representation in the language.
This talk will explore a potential solution: Lamina, which provides abstractions for event-driven workflows, and Aleph, which uses these abstractions to model network communication over a variety of protocols.
Topics will include:
Data gets lonely. Much of our data is trapped in proprietary formats, restricted cloud silos, or remote locations that require an “always on” Internet connection. What happens if the power goes out? or Twitter is down? or, worse, your bank? We’ll take a look at how CouchDB solves these problems with it’s schema-less data store, “kill -9” compatible, append-only database format, REST API, and HTTP-based replication.
CouchDB doesn’t stop there. We’ll also survey the surrounding ecosystem including plugins like the R-tree, spatial/geographical index, GeoCouch, check out some options for “scaling out” CouchDB, and look at “scaling down” with Mobile Couchbase for Android and iOS.
Dean Wampler will moderate this panel of pre-eminent language designers with questions from the audience.
by Mike Lee
The plan for cashing in on a “million dollar idea” tends to start with step 1, an idea, and end with step 3, profit. The mysterious step 2 turns out to be the hard part, both because it is mysterious, and because it is much, much more complicated than one bullet point will allow.
After having a doctor with a flashlight explain where ideas come from, we’ll explore step 2. We’ll start with costumed avenger Mike Lee’s €1000 an hour idea refinement service. Then we’ll lay out the steps necessary to turn a refined idea into a product.
We’ll look at planning, implementing, and testing features. We’ll explore team building, funding, and marketing. We’ll take a close look at your customers, your platform, and your market. And we’ll ask the all important questions of when and what we’ll finally ship.
Without virtual product hitting store shelves, we’ll look at the real meaning of step 3. We’ll talk about customer service, virality, and planned updates. Finally, we’ll learn about the fear and consequences of success, and how to deal with them.
Whether you have shipped an app, or are sitting on the next big thing, you won’t want to miss this hilarious and irreverent nontechnical look at the hows and whys of making a living in technology.
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