Scala preconditions (assert, assume, require, ensuring)

Scala provides a set of preconditions functions (assert, assume, require, ensuring).

In addition to the actual functionality of dynamically check invariants, these functions are used for documentation and static code analysis.

Continue reading

The Adapter Design Pattern in Scala using implicits

Comparing to the standard implementations  of Adapter Pattern by GoF – Scala have a better, shorter, and fancier way to implement it. In this post I’m going to explain and guide how to implement and use the Adapter design pattern in Scala (using implicits). Continue reading

Developer’s productivity tools for Mac

New job, new dev computer. Yap – moved to Macintosh. (Just started working for workstation
I’ve been using the new environment for just a few months so I’m pretty new in the Macintosh world, feel free to comment and enhance the post.

Continue reading

Book review – Object-Oriented JavaScript (Second Edition) by Stoyan Stefanov, Kumar Chetan Sharma

This is a review of the book Object-Oriented JavaScript (Second Edition) by Stoyan Stefanov, Kumar Chetan Sharma published by Packt.

Few words why I read this book – I’m an experienced javascript developer, and I had a chance to work on large scale projects. However, Javascript is there from the early days of the web, when I was learning by trial/error and experiencing, then taking what seemed to work well at that time. Now with rising popularity of javascript (Client applications become richer and server side javascript (Node.js) is mainstream, not mentioning that it’s real cross platform so javascript is everywhere! So yes, if you are new to javascript – it is a smart investment of your time to learn it) I decided to go back and read a beginners book to refresh the basics and improve my proficiency. Of course that I had to skim quickly through large parts of this book.

The book starts from zero and doesn’t assume any programming knowledge or skills. It start from the very basics of variables, conditions, and loops. Therefore parts of it might be boring for somebody who know a thing or two about programming. For beginner level developers this book will definitely be very informative and useful.

The chapters in the book – Object-oriented JavaScript, ‘Primitive Data Types, Arrays, Loops, and Conditions’, Functions, Objects, Prototype, Inheritance,The Browser Environment, Coding and Design Patterns.

Continue reading

Serialization Performance comparison (C#/.NET) – Formats & Frameworks (XML–DataContractSerializer & XmlSerializer, BinaryFormatter, JSON– Newtonsoft & ServiceStack.Text, Protobuf, MsgPack)

Hi big shot!

This time I’ll talk about performance of serialization. Serialization is a common task we use mostly for communication and storage. This post will give a wide serialization performance comparison.

Real life scenarios- Lately a micro services architecture become very common, in such architecture you have to provide a way for your micro services to communicate between themselves so you’ll have to serialize your objects for that. Normally you will use messaging frameworks that will do it for you but it’s essential to understand what’s going under the hood. In other cases, you’ll need to develop a framework or a tool that will need to serialize it’s objects itself. In addition, in many communication frameworks you’re able to change the serialization method so it’s important to understand what you’ll achieve by doing so.

In this post I won’t talk about the advantages or disadvantages of each format/framework, I’ll stick strictly with performance (Space and Speed). That said, when you choose a format and framework you sure need to think about much more than that. Examples are ease of use, extensibility, flexibility, versioning, and much more.

Although my test run in C#, this post applies to any technology. The size obviously will be the same, and about the speed I believe that it will differ, but the ratio between the formats will be roughly the same in most cases.

Continue reading

Book review – Mastering Web Application Development with AngularJS by Pawel Kozlowski, Peter Bacon Darwin

Just finished reading Mastering Web Application Development with AngularJS now. So let’s begin from the end – it’s great complete book about developing AngularJS rich web application.

For me – reading this book was to keep up with great new technologies and strengthen my abilities as a full stack developer and architect. AngularJS is a relatively new framework for JS but has a whole new approach and learning it was very interesting.

AngularJS is very popular, it has excellent community and a lot of resources online –,, Google + (+AngularJS), and Twitter (@angularjs)

So you probably ask yourself now – Why should I care and read this book? There’s such great community around AngularJS so I’ll just follow online

Continue reading

Developer’s productivity tools for Windows

In this post I’ll list the tools I believe every developer should have on his/her machine to be super productive.
I will update this post from time to time to try stay with current needs and trends.

Continue reading