3 days / 40+ speakers
12 workshops

May 17-19, 2017 | Vilnius, Lithuania
Valtech Sweden, Sweden

Marcus Ahnve

Marcus Ahnve is a programmer since the early eighties and have built stuff for the web since the nineties. An early adopter of XP, he has done his share of agile coaching and cofounded the Agila Sverige conference.

These days his main interests are in server automation, Clojure, and data driven organizations. In his day job Marcus helps organizations with all aspects around architecture and development.


Server Automation with Ansible and Terraform

By moving from manual server setup to what is normally referred to as Infrastructure As Code, we are able to create a versioned, reproducible and executable definition of our infrastructure. While there are a number of tools available to do this, I will show how to set up an server environment using Terraform and Ansible.





Introduction to Clojure and ClojureScript

Clojure is the programming language I have been most enthusiastic about since I was Smalltalk programmer. Not only is it a beautiful language, with geek cred words like “homoiconic” to describe it, it also has a great community providing brilliant libraries and ideas.

It has a sibling called ClojureScript, which is almost the same language that compiles to JavaScript. This allows us to bring the Good Lisp ™ to the client instead of bringing the bad one to the server. (Yeah, I’m looking at you, Node)

This workshop is a programming introduction to the combination of the two languages, where we will learn the basics of the language and build a simple web app.

Technical requirements

Hardware: A laptop with Internet connection.

Software: Attendees are invited to code along in this workshop. In order to do so, they will have to install Leiningen (https://leiningen.org/) and an editor that can run a Clojure REPL. Suggested alternatives are Emacs with CIDER (which I myself will use), Atom with ProtoRepl or IntelliJ with Cursive. Please make sure to have this setup at the start of the workshop.


* Introduction
* Language Walkthrough

  1. Datatypes
  2. Lists and Seqs
  3. Loops and Blocks
  4. Threading
  5. Anonymous function shorthand
  6. Immutability
  7. Destructuring
  8. Higher Order Functions
  9. Async
  10. Java Interop
  11. Macros

* Webapps with ClojureScript


Professional programming experience in any language. An open mind as to where parentheses should be placed in a programming language.