«Idris for (im)practical Scala Programmers», Marcin Rzeźnicki
I will show how value-dependent types known from Idris can be used in Scala development by explaining how to express idiomatic Idris code in Scala. Audience will not only be able to learn a bit of the former language and its unique approach to type-safety, but also those with some Scala experience will see that VDT can be to a great extent simulated in the latter. Ultimately, I will try to elaborate on the question of if and how various forms of dependent typing are useful for a contemporary programmer.
«Scala on Wire: How event streams help us build Android apps», Maciej Gorywoda
Wire is a secure team messenger, working on a multitude of platforms and written in many languages. In the Android team we use Scala. In Android we have to deal with events coming from the user, but also from other clients, the server, and from the Android operating system itself. For that we developed an event stream processing framework, similar to RxScala, but more suitable for our needs. But then, if we already have it and use it to process external events, why not do the same for processing changes within our application? In this talk I will go through Wire’s Android app architecture, and (hopefully) explain how being reactive helps us keep things simpler. There will be a movie. Bring popcorn.
« Roll your own Event Sourcing (Lightning Talk)», Lina Krutulytė-Kriščiūnė
Building an event-sourced application, without using an event sourcing framework, involves just a few extra moving parts compared to your everyday normal projects. Along the way, you get to experiment and explore related concepts, such as the Time Machine, and also examine some interesting and informative mistakes.
«SQL or NoSQL: What DB-Technology to use for Scala projects (Lightning Talk)», Karl Brodowsky
Today we have the choice between a lot of good and interesting database technologies. It is recommended to pick the database technology or technologies used for a project carefully. This talk addresses experience with Cassandra DB, PostgreSQL, MongoDB and Oracle. It is interesting to compare what these technologies can give us, when we select or combine them wisely. In conjunction with Scala we have to address the issue that we like to work mostly asynchronously.
«The unexpected difficulties when moving to Scala», Karl Brodowsky
When moving from another language to Scala, the goal should be to move to idiomatic Scala and not just to do “Java in Scala”. Learning a new language is kind of routine. A lot of trainings, books and sites are doing a good job on this. But the difficulties of working in real life Scala projects are slightly different.. While it is possible to program just "Java in Scala", idiomatic Scala uses a lot of patterns that are totally unfamiliar in traditional programming languages. This talk addresses beginners who have recently switched to Scala or are planning to do so in the future.