07.08.2015 / By Łukasz Gąsior

Event-sourced game implementation example - Part 3/3: Grabbing some data - statistics service

Welcome to the last part of dice game post series! We already have fully working game that we created in 1st and 2nd parts. Today we’ll see how we can take advantage of the fact that we’re using event sourcing. We’ll create a separate statistics project that will catch all DiceRolled events and count how many times each number have been […]

30.07.2015 / By Mariusz Nosiński

Websockets Server with akka-http

If you’re looking for the best library to build concurrent and distributed applications, probably sooner than later you’ll come across Akka. It’s a very powerful open source library maintained by Typesafe for making such apps.

16.07.2015 / By Patryk Jażdżewski

Introducing Scala Slack Bot

Motivation In Scalac we believe that communication is essential in IT and that projects with inefficient information sharing are doomed to fail. Fortunately for us it doesn’t always mean that putting people in one place is the only way. More often it’s about creating the right spirit for exchanging knowledge and providing ways to do […]

09.07.2015 / By Radek Tkaczyk

A Quick Overview of Slick 3.0

At ScalaC we’ve recently started adopting Slick 3.0. If you haven’t tried it yet, hopefully these notes will make the process go smoother.

19.06.2015 / By Patryk Jażdżewski

Inventory App Part 1. Software Transactional Memory for Scala. Comparing Activate with Slick

What is STM? Wikipedia defines it as follows: software transactional memory (STM) is a concurrency control mechanism analogous to database transactions for controlling access to shared memory in concurrent computing. It is an alternative to lock-based synchronization. Hmmm… but what does it mean in practice?

18.06.2015 / By Patryk Jażdżewski

Inventory App Part 0. Foundations

Scala end to end In Scalac we believe that Scala is a great general-purpose language, that helps you to build high-quality software quickly. And although Scala shines in the backend, its use is not limited to server-side programming. With these blog posts, we would also like to convince all of you that it’s possible to […]

11.06.2015 / By Łukasz Gąsior, Łukasz Gajowy

Event-sourced game implementation example - Part 2/3: Building web application

Welcome to the 2nd part of the event-sourced game post series! In case you haven’t yet read the previous part, I highly recommend reading it before. Today we’ll focus on the frontend server part, the one that’ll be responsible for handling user interface interactions as well as backend server communication.

31.05.2015 / By Tomasz Perek

Null, NullPointerException and dealing with it

Null is evil The concept of Null Reference is sometimes referred to as “The Billion Dollar Mistake”. Such pejorative description has been forged by Sir Anthony Hoare, (you can learn more here) probably most widely known for developing Quicksort, but ironically, also the man who first introduced nulls to ALGOL. But why is null A […]

21.05.2015 / By Mariusz Nosiński

Dynamic member lookup in Scala

A lot of dynamic typed languages has function that catch all messages the target object doesn’t have. It gives these languages a lot of power to write DSL. Scala 2.9 introduced an experimental option that enables this sort of dynamic handling of accesses to types in ways that would otherwise fail static type checking. It […]

07.05.2015 / By Patryk Jażdżewski

Creating Domain Specific Languages with Scala - Part 1

Scala is well known as a concise, readable programming language. One of the reasons is that many popular libraries offer their users DSLs to work with. These convenient APIs make creating programs simpler by saving our keystrokes and (most importantly) by improving readability. But it’s not always the case … Sometimes we have to work […]