GOTO Berlin is a vendor independent international software development conference with more that 60 top speaker and 400 attendees. The conference cover topics such as Java, Open Source, Agile, Architecture, Design, Web, Cloud, New Languages and Processes.

The ability to interact with and modify a running program is one of the
great strengths of modern programming languages. But this ability comes
at a cost: modifying a running program is very different from
recompiling a static program. To support runtime modification, we have
to make trade-offs at every step of a program's design: local versus
shared state, late- versus early-binding, encapsulation versus
visibility. Despite the rapid evolution of development tooling, our
programs are still fundamentally expressed as text files on disk. Rather
than dream about a theoretical future free of text files, let's see how
we can work with that medium, incrementally adding capabilities by
building development aids into our programs. "Non-functional"
requirements such as monitoring, debugging, and deployment should be
integrated into our designs. This talk will describe various ways to
tackle this problem in Clojure. Prior experience with Clojure is not
required, although some familiarity with its syntax may be helpful in
understanding the examples.

Stuart Sierra is a programmer, actor, musician, and writer. He lives in
New York City and works for Cognitect. He is the co-author, with Luke
VanderHart, of ClojureScript: Up and Running (O'Reilly) and Practical
Clojure (Apress).