Scala Case Classes vs Enumeration

After my previous post which was received quite nicely, I wanted to write a little bit more about the topic of designing Typesafe Domain objects, this time I’ll focus on the problem of how to model a deck of cards in Scala. I’ll go over 2 different approaches you might take when designing a solution to the problem of card games in Scala. I’ll try to show how this can be done with Case Classes (Sealed Case Objects) and Enumerations.

Typesafe Domain Objects in Scala

Today I’d like to cover the topic of how to approach type safety in Scala in case of the simple domain of players in free to play games - this is a real example from a past project of mine. If you have played any of the free to play online games, you are already aware that these games every often have 2 kinds of currencies: In game cash or points that can be earned and spent during the game play

My Entry to "Daj Się Poznać" Competition

In this blog post I intent to give a brief overview of “Daj się poznać” competition and some reasoning why I decided to join it. Few words about ”Daj Się Poznać” “Daj się poznać” (in English: “Let yourself known”) is a competition aimed at Polish programming community and it’s idea is to help programmers to be more involved in both blogging and open source work. Currently it’s aimed only at the polish market, so all content on the official website is in Polish, most of the participants are blogging in Polish, only few in English.

Tips And Tricks For Making A Successful Pecha Kucha Talk

This weekend I have my first Pecha Kucha talk and I figured that it would be a good idea to write down my thoughts and suggestions on how to prepare better and also deliver a good talk in this format. Just to remind you, a Pecha Kucha talk is a format for giving a presentation where you have 20 slides, each slide is presented on screen for 20 seconds, slides change without your control, as a result whole talk takes 6 minutes 40 seconds.

Slides from my talk: Introduction to Ionic 2

Yesterday I gave a talk at ng-wrocław meetup ”Ionic 2 - Intro” The presentation took about 50 minutes, during that time I gave a quick introduction the the ionic 2 framework (based on the following slides), then I have shown my project “Daily Gifs” that is available on github: Bitcoin for programmers - part 1 version 2 from Wojciech Langiewicz

Getting Started With And TypeScript - Boilerplate Project

In order to help me and others with starting game development with and TypeScript, I have created a boilerplate project on github: that can be used to jump-start game development. Just clone or download a zipped archive of the repository, then start writing your game - README file has more detailed information how to use it. I have added following components: npm commands for running project in development and production mode

Slides From My Talk: Mutation Testing In Java

Few weeks ago I have a talk at conference called “33rd Degree 4 Charity” which was a 2 day event held in Wroclaw. These are my slides (there is no recording): Bitcoin for programmers - part 1 version 2 from Wojciech Langiewicz The related sample project that I used as a demo is here: If you are interested in this topic you’ll get most out of it if you clone the project, run it locally and analyze the results (everything is explained in the README.

Fix screen flashing problem with redshift

As an alternative to flux I use redshift on my Linux machine. Recently I stumbled upon very weird problem – each time I close Java desktop app and redshift was active, the screen flashed. It was a very quick change that looked like redshift was disabled and then enabled again. I was starting redshift like this: redshift-gtk -l manual -l 51.126:17.033 After trying out few configuration options it turns out that changing video method to vidmode was the right solution for my problem:

Commitment scheme lighting talk

Yesterday I gave a lighting talk “Commitment scheme” The talk was give at DRUG #62. The lighting talk ended up taking almost 1h because we started to discuss how to organize elections based on commitment scheme principles. Bitcoin for programmers - part 1 version 2 from Wojciech Langiewicz