Scala Exchange Hack Day 2017 (Scalax2gether)
Topic and project suggestions for the Scala Exchange Hack Day 2017.
The event is organised by Skills Matter and sponsored by Underscore.
Sign up for free on the Skills Matter web site.
We'll arrange a schedule on the day based on what peoples' interests. We'll aim to have a mix of hacking and short talks/workshops. This is a collection of ideas and proposals.
Projects to hack on
Have a project you'd like to bring to the hack day? Send us a PR to list it here! Here's an example:
Example Person, Example Library
http://github.com/example-person/example-library
Include a quick description of the library and what you'd like to work on at the hack day. Please keep descriptions short. Feel free to link to extra information. We suggest including a link to your issue tracker and highlighting simple issues for newcomers.
ADD YOUR PROJECTS HERE
Proposals for talks/workshops/round-tables
Ideas for talks, round-tables, workshops, and interactive sessions. Anywhere from 10 to 60 minutes in length. Sessions will be voted on unconference-style, so some suggestions may not be taken up on the day.
Greg Dorell, Fullstack Scala with Play and Scala.js, about 90 minutes
Scala.js is production ready and well on the way to version 1.0. In this workshop, we will see how to build a rich interactive website with Play and Scala.js.
We'll start with some background about Play and then Scala.js. Then we'll look at how and why you can use them together. I'll walk you through how to build a fullstack Scala project from scratch, so you can go away start using it yourself. We will get hands on experience with Scala.js specific libraries, and wrappers around JavaScript libraries---specifically the Google Maps API.
Heiko Seeberger, Whirlwind Tour of Akka Typed
One of the most wanted features for Akka has been type safety for actor messaging. With Akka Typed – which is still experimental – we finally can benefit from the help of the Scala (or Java) compiler. In this workshop we show the current state of Akka Typed using live demos and coding, covering core as well as cluster and persistence features. You should have solid knowledge of Scala and at least a basic understanding of Akka.
Raul Raja, Building Purely Functional Microservices
In this workshop we will learn together how to build from scratch a purely functional application and expose it as a microservice with Freestyle and Freestyle RPC. This will be a hands on coding session where we will architect a small application based on Algebras and Modules that can be exposed as an RPC microservice supporting Protobuf and Avro serialization protocols.
Paulo Siqueira, Learning Scala with Minecraft Mods, about 120 minutes
Minecraft is a very popular game and Scala is a very popular language. Why not put them together? In this workshop we will use Scala to create Minecraft mods, in a very lightweight and fun way---step by step.
We will go from simple tweaks to the game like changing creature explosion radius, to more complex and interesting things like creating and adding new blocks and monsters to the game. The goal is to learn and practice programming concepts in Scala while having fun.
The framework used in the workshop will be Easyforger (http://easyforger.com), which is an Open Source DSL on top of MinecraftForge (http://minecraftforge.net/), also Open Source.
Travis Brown, A tour of Typelevel by way of Circe, 90 minutes
In this workshop we will introduce concepts from a range of Typelevel (and Typelevel-adjacent) projects—from Cats to Shapeless to Monocle to fs2—while coming up with practical solutions to JSON processing problems with Circe. If you've heard ever about functors or monads or generic programming or lenses and wondered "but what are these things good for?", this workshop is for you.
Travis Brown, Circe 1.0 preview and discussion, 60 minutes
We have many improvements and new features in the works for
Circe 1.0, including a more convenient JSON
representation, better error messages, more options when decoding JSON numbers,
and—most significantly—a
new approach to decoding
that makes it possible to work with alternative formats (like BSON) or other
libraries' JSON representations, without mapping through io.circe.Json
.
This session will consist of a short overview of some of these changes, followed by time for discussion and feedback from current and potential Circe users.
Example Person, Example Workshop, about 30 minutes
http://example.com/link-to-external-material-if-applicable
A short description of the session format (talk, hands-on workshop, round-table, etc) and the topic of discussion. Please keep descriptions short. Feel free to link to extra information. Let people know if they need laptops and provide pointers to setup instructions if required.