Author Archives: Vikas Hazrati

About Vikas Hazrati

Vikas is the CTO @ Knoldus which is a group of software industry veterans who have joined hands to add value to the art of software development. We do niche product and project development on Scala and Java. We consult and coach on effective software development and agile practices. With our focus on software craftsmanship you can be assured of a good quality at the right price. To know more, send a mail to or visit

FunHop: Working with Exceptions in Scala – Problem Statement

If you look at the earlier posts in the FunHop series, you would notice that Exceptions are side effects. Exceptions by their very nature also break referential transparency and are context dependent. You would have got an idea about referential … Continue reading

Posted in Best Practices | Tagged , | 2 Comments

Continuous Integration : Integrating BuildKite with Your Scala Project

In a very broad sense, BuildKite (earlier called BuildBox) is a continuous integration server that allows you to keep working on your code while there is a CI box which is reporting about any issues. The problem with most web … Continue reading

Posted in Architecture, Devops | 2 Comments

And You Thought Option is Just Another Way to Handle null

Ok, to start with, the recommendation is to use None instead of null. Ideally if in Scala code, we end up getting a NPE then that is sin! Well at least at Knoldus :) null in Java is used as … Continue reading

Posted in Scala | Tagged , | 2 Comments

FunHop: Understanding Referential Transparency

In this episode of FunHop, we would try to look at what is Referential Transparency, what is substitution model and how being immutable really helps. Referential transparency means that we can exchange the expression by its value or a value … Continue reading

Posted in Scala | Tagged , | 1 Comment

FunHop : What Are These Side Effects?

FunHop is imagined as a series which allows us to gradually hop into the realms of Functional Programming. Our vehicle for the journey is going to be Scala but the fundamentals are applicable across languages. In this episode we would … Continue reading

Posted in Scala | Tagged , | Leave a comment

Idiomatic Error Handling in Scala

Error handling in Scala can just be written like Java. Put in a little bit of pattern matching magic and you are done. However, given a little use of Scala built-in terrific beauties it can be made much better. Let … Continue reading

Posted in Scala | Tagged , | 5 Comments

Running with Implicits – Extending Functionality

We had an interesting case of enhancing the functionality of a logging library with our own case to feed data into DataDog. That brought us back to the quick discussion on implicits in Scala. Implicits in a quick sense is … Continue reading

Posted in Scala | Tagged , , | Leave a comment

Spray with Akka Starter Kit

Over the last few months, Spray is fast becoming the de-facto for all the products that we are working on. Irrespective of whether it is a product which has a full featured UI or a gaming component which needs to … Continue reading

Posted in Architecture, Scala | Tagged , , , , | Leave a comment

QuickTip: Integrating Amazon S3 in your Scala Product

This post is supposed to be a quick cheat sheet of integrating your Scala product with Amazon S3. The pre-requisites are that you have a valid S3 account and have the keys to access the account. We have put our … Continue reading

Posted in Amazon EC2, Scala | Leave a comment

Working with Multiple ssh Keys and Multiple Git Repositories

With multiple, git hosting repositories available and lots of coding being done, you end in situations like the subject of this email. Say, for example you have 2 accounts on BitBucket, you would not be allowed to use the same … Continue reading

Posted in Agile, Architecture | Leave a comment