I am one of the co-founders of SoftwareMill, a company specialising in delivering customised software solutions. I code mostly using Scala and Java. I am involved in a number of open-source projects: as the founder and lead developer of Hibernate Envers, a Hibernate core module providing auditing capabilities, as well as the founder of ElasticMQ, Veripacks and MacWire. I have been a speaker at major conferences, such as Devoxx or Jazoon.
Apart from writing closed- and open-source software, I am interested in improving the way we use functional and object-oriented programming. When not coding, I enjoy spending time with my family, hiking in the mountains or playing tennis.
My blog: http://www.warski.org/blog
1h - Slides+Speech
Modules come in a variety of sizes; I’d like to show 3 of them, together with 3 practical approaches:
1. Java packages: we usually think about packages in a hierarchical way, but tools treat them as simple identifiers. Veripacks tries to change that
2. Modularity in Ceylon is one of the key features; it combines Maven-like repositories with OSGi-like metadata
3. In Scala, modularity can be implemented using... Scala. Together with a Dependency Injection framework replacement, using MacWire
1h - live coding
Many people probably wouldn’t describe Scala as “simple”. In three live coding demos (hopefully at least one will work ;) ), I’ll try to convince you otherwise. We’ll see three scenarios, where instead of complex code, Scala with the help of some libraries offers simple and elegant designs.
The talk will cover:
- writing fully asynchronous code, as if it was synchronous, using Futures and Scala Async
- doing Dependency Injection without a framework, using MacWire
- building and testing a REST server with Spray