Your current filters are…
Erlang was designed for building systems that run forever, once started the system should never be stopped. This implies several things, firstly the system should be able to "self-repair", we should be able to detect errors and correct them at run-time, it should also be distributed. A single-node system could never run forever, it might crash. Secondly it must be able to evolve with time, so we must be able to change code in the system without stopping the system. I'll show you how to do this with some simple examples.
In the lecture I'll build a small generic framework for mobile code so we can move computations around the network and restart failed computations and upgrade the code in a set of processes without stopping the system.
Joe Armstrong is the principle inventor of the Erlang programming Language and coined the term "Concurrency Oriented Programming". He has worked for Ericsson where he developed Erlang and was chief architect of the Erlang/OTP system.
In 1998 he left Ericsson to form Bluetail, a company which developed all its products in Erlang. In 2003 he obtained his PhD from the Royal Institute of Technology, Stockholm. The title of his thesis was Making reliable distributed systems in the presence of software errors." Today he works for Ericsson.
He is author of the book "Programming Erlang - Software for a concurrent world" (Pragmatic Bookshelf - July, 2007).
by Yehuda Katz
by Marcus Ahnve
It's almost impossible to not have heard of Ruby on Rails, the web framework that launched a little over five years ago and that has since grown quickly as one of the goto tool for startups and web developers around the world. Much of what makes Rails interesting comes from the Ruby language and there has never been a better time to learn how to bring Ruby into your toolbox of programming languages.
This talk will provide an introduction to how Ruby can help you, as a developer, become more productive, build more robust and maintainable software and enjoy your job even more than you do now. I will introduce key features of the language, with examples, and show how Ruby applications are developed and how they can evolve as they grow in size and become more mature. I'll go through some of the common patterns found in Ruby applications. Finally, I'll offer tips on how to get started with Ruby, whether you're approaching it for the purposes of web development, interested in using it for system administration or even for building libraries to solve problems that currently exist in your area of expertise.
What has your web application framework done for you lately? Tired of marshaling state, mapping URLs, and making sure your form fields all have unique element IDs? Ever wish complex online applications actually let you use the Back button? Seaside handles these mundane details and leaves you free to focus on creating the applications that can make or break your business.
Find out why Seaside is driving a new generation of developers to pick up a powerful and productive language called Smalltalk. Long a secret weapon in the finance, manufacturing, and transportation sectors, Smalltalk is now being used by more and more businesses to develop complex applications faster and more cheaply than their competition.
Shared Nothing, REST, HTML templates: These all have their place. But leave your conventional wisdom at the door and see if you can't discover a better way to develop your next online application.
Julian Fitzell is, among other things, the co-creator of the Seaside framework, which helps take the pain out of creating dynamic applications for the web.
He works as a software consultant for Cincom, where he provides support, development, and training. As well as web application development, his professional experience includes software engineering, network and server systems, and even theatre technology and production. He loves using tools and technology to make people happier and more productive.
Originally from Vancouver, Canada, he has spent much of the past few years in China, Germany, and various other European locales.
by Emily Bache
Python is a very readable and flexible programming language, that is frequently used to teach programming because of the straightforward syntax. In this presentation I'd like to introduce you to the language and some of the powerful testing tools available for it. I like the unit testing tool py.test because it is very straightforward to use, and it focuses on providing the best possible error message when a test fails. I'd also like to show you CaptureMock, a tool for integration testing which allows you to capture and replay interactions with a third party library.
This session is designed for programmers who don't know python yet. I'll lead you step by step through a small exercise, which will result in a pythonic, readable program with an accompanying comprehensive test suite.
Emily Bache is an independent programmer and agile testing coach, experienced with Python, Java and Ruby. These days she mostly programs Ruby on Rails, but previously held a position at AstraZeneca where she was responsible for an intranet application for computational chemistry.
The system was built using Python, and ran on a large linux cluster. In 2004 she received AstraZeneca's "Global Scientific and Technical Achievement Award" for her work.
Groovy is probably one of most well known alternative languages on the Java Virtual Machine and one of the few that started it’s life as a JVM language. It’s a dynamic scripting language with a tight Java integration that makes it a breeze to pick up if you already know some Java. It’s probably best known for its web-stack Grails, but has over the last couple of years gotten a rich ecosystem with its own testing frameworks and build-systems. In this session I hope to show you just how rich this ecosystem is and how, coupled with some Groovy skills, it can make your life as a developer easier, especially if you happen to know some Java from the start.
Leonard Axelsson first started working with Groovy in 2007 and gradually started using it more and more and now does most of his work in Groovy. In 2009 he co-founded the Groovy user-group SweGUG to further the adoption of Groovy in the Stockholm area. By day he’s a consultant with Agical, with a heavy focus on the JVM and related technologies. Leonard can be found on twitter as @xlson.
Sander van den Berg has been working with and on functional languages since 2004. He worked with statically typed languages like Clean and Haskell, but soon discovered the power of dynamic languages. Today, Sander works for Xebia, a dutch company specializing in agile software development. Within Xebia, Sander tries to promote Clojure as a mature language for projects. To promote the use of Clojure as an alternative or addition to Java projects, Sander is active in writing and speaking about the language. The main attraction of Clojure is it's expressive power: the language provides elegant solutions to complex problems.
Maurits has experience in the IT industry starting in 1991. Since that time he has worked for several multinationals in many different roles before he made the move to Xebia in 2007. Within Xebia he works as an Agile consultant. He would love to have lived in Leonardo da Vinci’s era, so he could have been a polymath (a person whose expertise spans a significant number of different subject areas) but within his limited time he tries to combine a family live, a strong passion for software metrics and toying with cool new and sometimes obscure programming languages. His favorite language at the moment is Clojure. Together with Sander van den Berg he has written several articles about Clojure. Maurits also likes to speak about Clojure on conferences since he firmly believes that because of it's many powerful concepts this language deserves much more exposure to the programming community.
Maurits can be found on Twitter as @mauritsrijk.
In this session you'll become familiar with the basic syntax of Erlang, learn how to write programs and experience the central concepts of the language: functional programming, concurrency, fault tolerance and distribution. You will get familiar with the Erlang shell and basic Erlang programs, try concurrent programming by using message passing and get a taste of Erlang distribution.
12th–13th March 2011