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

Karl Krukow is tech. lead on iOS test automation at LessPainful and a Trifork software pilot. He graduated as a PhD student from University of Aarhus in 2006 with a thesis in computer science. Karl has several years experience with iOS development and has previously been working with Web technologies like JavaScript, Ruby on Rails, restful webservices, Java Enterprise consulting, teaching and conferences. His current professional passion is iOS automation and the Clojure programming language.

Clojure is a fairly young functional programming language targeting the JVM (JavaScript and CLR). Its design goals are simplicity and user empowerment, while remaining practical in terms of performance, productivity and interoperability with the host platform.

While there is much to be said about Clojure and it's ecosystem, this talk focuses on Clojure's concurrency model which combines pure functions and persistent data structures with the concept of managed references. We'll discuss managed references, including vars, refs (STM), agents and atoms. We'll also look a bit deeper at the persistent data structures, the "magic sauce" makes this model feasible performance-wise.

Calabash is a new open-source technology for automated functional testing of Android and iOS apps. Calabash combines advanced automation technology with the Cucumber tool. Developers or QA staff can write executable tests that closely match the use cases for the app. Tests are written in a natural language close to the application business domain, and the cucumber tool can execute those tests on Android or iOS devices or simulators.

This talk will introduce Calabash and LessPainful, which provides test execution as a service. The LessPainful test service runs Calabash tests concurrently on many physical, non-jailbroken devices running various languages and operating system versions.