Thanks for coming! The conference summary will be available at SoftwareMill's blog. Keep on scaling!
The registration is now open! It's easy, fast and hassle-free. The seats are limited, so don't wait until April :)
Slick is Typesafe's database query and access library for Scala. It allows you to work with stored data as if you were using Scala collections while at the same time giving you full control over when a database access happens and which data is transferred.
Whereas most database libraries either require you to write SQL code or are based on an ORM (object-relational mapping) architecture, Slick bridges the gap between functional programming and declarative querying using a functional-relational mapping aproach. This talk gives you an overview of the design of Slick 2.0 and shows you how to use it.
Stefan Zeiger is the tech lead for Slick. He joined Typesafe in 2011 after developing ScalaQuery, the predecessor to Slick, in order to work on the new project full-time. He has been a user of Java and the JVM platform professionally since 1996, working on a diverse range of projects from web servers to GUI frameworks and programming language design, and moving on from Java to Scala since 2008.
In this session we will build a reactive web application using Play Framework on the server side and ScalaJS together with ReactJS on the client side.
Spray, once a stand-alone project, now part of Akka, is a toolkit for building and consuming REST services.
In the talk we will build a simple REST service with Spray, and then consume it with a Spray-based client. No code can live without tests, so we'll take care of that as well.
You'll see that building REST services can be really simple—no containers, minimal boilerplate, fast development time!
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: www.warski.org/blog
What would it mean to "add" or "multiply" types like Boolean and List[Int], or to apply the quadratic formula to a type, expand its power series, then use this to count binary trees? How could you interpret differentiating a type, and what's this got to do with zippers? I'll show how doing some crazy algebraic operations on Scala types can actually throw up some interesting, surprising and useful results!
Jon has been an active member of the Scala community since 2004, when he launched the first commercial application in Scala. Since then, he's successfully deployed Scala in small businesses, large corporations, and government. Jon is the developer of the open-source Rapture I/O libraries.
This talk will give you an idea what scaling with Akka means. You will see by your own eyes how actor system can scale up on many processor cores and scale out on many network nodes. Prepare for cool live demo on cluster of four Raspberry Pi’s!
Grzegorz Kubiak is a developer, software architect, technology geek and happy user of Gentoo Linux. His motto is: "if it's not fun, don't do it!". That's why he's now going deep into Scala, Akka, Play Framework and functional programming. You can find him on Twitter @grzkubiak.
I love Scala. I really do. That being said we will spend half an hour looking at complexities, inconsistencies and obscure behavior in the language—syntax, standard library and ecosystem. Hopefully apart from complaining we will also learn how to get the most of the platform without too much frustration.
Spent half of his life on programming, for the last 7 years professionally in Java land. Loves back-end, tolerates JavaScript. Passionate about alternative JVM languages. Disappointed with the quality of software written these days (so often by himself!), hates long methods and hidden side effects. Interested in charting, data analysis and reporting. Technical reviewer of "Learning Highcharts" and "Getting started with IntelliJ IDEA". Believes that computers were invented so that developers can automate boring and repetitive tasks. Also their own.
On a daily basis writes in functional languages for financial sector. Crew member of scala.net.pl, involved in open-source. DZone's Most Valuable Blogger, used to be very active on StackOverflow, best speaker of last Confitura conference according to all attendees.
Likes programming. Claims that code not tested automatically is not a feature but just a rumor.
Akka persistence is a new utility coming to Akka 2.x+. In the dawn of more and more event sourcing based applications being built, akka-persistence aims at simplifying event registration, replay and snapshoting. During this session we'll discover how to build reactive, event sourcing based apps using the new abstractions provided, and investigate how to implement your own journals to back these Persistent Stateful Actors.
Konrad is a late-night passionate programmer, most fond of the JVM, with his current favourite being Scala. Other than that, he's a fan of automating every possible task and ridiculously long keyboard shortcuts. "After hours" he's still bound to programming—as a lead of the PolishJUG, and founder of Google Developers Group Kraków or "Kraków Scala" and helping hand of Software Craftsmanship Kraków he's coding for fun and glory, speaking at conferences (JFokus, JavaOne 2013), or organising meetups ranging from small hackathons to big conferences like the annual GeeCON.
In those rare times when he's not doing something code-related, he's collecting game consoles or playing tennis / squash. He bloggs and tweets.
The hero of my 30 minutes talk will be the underscoere character, a kind of a joker, which can mean 'all' or 'nothing'.
_ (0x5F in ASCII) will be the starting point for the discussion of interesting scala's features.
We'll start with imports and variable declarations moving on to more advanced applications.
Usage of underscore character can improve the readability of the code, while ignorance of _ can effectively slow down the work efficiency.
Furthermore it can even completely discourage the language at first contact.
Language-integrated queries and type providers are two of the most promising applications of compile-time metaprogramming. While the former can be implemented almost trivially with macros in Scala, type providers have proven more elusive, and their implementation has become one of the most interesting challenges in Scala macro development.
In this talk we will outline two approaches to bringing type providers to Scala. The first approach delivers "public" type providers—that is, type providers that generate publicly visible classes—and requires dedicated macro flavors (either type macros or macro annotations). The second approach ("anonymous" type providers) does not require new macro flavors, but is rather built on structural types and vanilla def macros.
Which approach works best? Are these solutions mature enough to be used in everyday development? How do these two approaches compare to F#'s type providers? Join us for our talk to find out!
Eugene Burmako is a third-year PhD student at Martin Odersky's research group at EPFL. He believes that metaprogramming can be applied to mainstream software development in a safe and disciplined way and is realizing this vision in the Scala macros project.
Travis Brown is the Assistant Director of Research and Development at the Maryland Institute for Technology in the Humanities. He holds an M.A. in English from the University of Texas at Austin, is a contributor to a number of Scala projects, and maintains a blog on experimental uses of Scala macros and type-level programming (http://meta.plasm.us/).
Scalaz is one of very controversial Scala libraries. Half of Scala developers love it, other half gets scared when its name is mentioned :) I'll show useful Scalaz snippets for everyday coding. I'll also show a bit of cryptic (read bad) code you can write using it.
Łukasz is using Scala in commercial projects since 2010. He is commiting to the Lift web framework and working daily with startups building exciting software. In free time you can find him kitesurfing, climbing or snowboarding.
Let's look under the hood and check how both Scala 2.11 and Java 8 implement lambdas on the JVM. Java 8 implements lambdas using different strategy compared to Scala and I'll explain how Scala is learning a new trick from Java. Being rather unusual event is worth highlighting on its own.
We'll check whether Java 8 lambdas are more efficient than Scala counterparts by looking at runtime representation of both.
Lastly, I'll explain what role invokedynamic instruction plays in Java 8's implementation of lambdas. To the surprise of many people, invokedynamic has nothing to do with invoking lambdas but enables evolution of lambda implementation on the JVM. We'll see how this interesting observation might affect future versions of both Java and Scala.
Although the whole topic is fairly low-level, I'll try focus more on interesting tidbits and make it fun to follow.
Grzegorz Kossakowski is a Scala compiler and tools hacker at Typesafe. A former Google Intern, Grzegorz worked on the Scala+GWT project and internal Android tools. Grzegorz holds a M.S. in Computer Science from the University of Warsaw and completed his master thesis under Martin Odersky through EPFL. A passionate Scala enthusiast, Grzegorz devotes his time at Typesafe to improving Scala compiler performance, build tool integration and Java interoperability.
At ICM UW* we perform a bleeding edge research on scholarly publishing. We have a Hadoop cluster and do fun stuff with it. We thought it'd be even funnier if we combined it with Scala to perform our analysis. So we did it. We shall tell you our story. The story of the good, the bad and the ugly in the world of the lambdas on elephants. Brace yourselves.
* Interdisciplinary Centre for Mathematical and Computational Modelling, University of Warsaw
Mateusz Fedoryszak studied Computer Science at MIMUW, meanwhile getting a taste of big data at Microsoft and True Knowledge (now Amazon subsidiary). Currently, works at ICM UW using Scala and Hadoop to spy on scientists. Enjoys snowboarding, loves Latin phrases.
Michał Oniszczuk, a Computer Science student at MIMUW, is a great fan of strongly typed functional programming languages, esp. Haskell & Scala. Firstly dived into the trecherous waters of large datasets by joining the Market Intelligence team on the Commodities Trading Floor at Merill Lynch in London, now sails these waters at ICM UW, equipped with lambdas at his hands. Loves cuban salsa — come for a latino dance party at La Playa in summer or Hula Kula in winter and you will surely meet him there.
There are many reasons to support Scalar: Show yourself to the professionals. Make friends. Dive into the world of the new Java. And all of it one one click.
Sounds interesting? Give us a shout at scalar@scalar-conf.com.
Combines multiple skills: polish philology, landscape architecture, tour guiding and karate, to make Softwaremill a better place.
Programmer by day (scala), programmer by night (various). To his own surprise, sometimes writes a blog. Likes nice code.
Software Wizard. Finds pleasure in finding solutions for business problems, with logic, Scala, Java and an occasional framework.
Passionate programmer, constantly looking for new things to learn and explore. He codes all the time unless doing something else.
Isn't scared of any programming language, he tried everything from Flex to Scala, from just hacking to DDD. Likes to play games.
One of the few normal persons among the geeks. Connects the IT world with the non-IT surroundings.
Marketing Overlord, the court wordsmith. Mirek gets high on semantics and making people meet. Softwaremill's social media expert.