Object Pooling is a creational pattern that allows us to use memory resources efficiently. It’s often used in game development but; can serve as a life saver when it comes to building complex UIs and fluid animations while processing big amounts of data in our JavaScript applications.

By the way there are some points that I want to make clear: first this article will be -as all the stuff about memory management- boring and long. You will not need Object Pooling all the time if you are not developing a game or you don’t need to do heavy computations with…

‘Big Data’ is the up-rising topic. As keeping reason of this out of the scope, I would like to jump on ‘how to test big data’. What does it mean? Why is it such a huge deal? What methods are there to use? Which tools are there use?

But before all of that, what do I mean by ‘Large Data Testing’?

When you google ‘data testing’, results you get does not help you so; suppose you are responsible to test a system that has database. For whatever reason this database serves, developers will be writing code that is to manipulate…

I was playing around Jasmine for a project, all basic setup and defining tests are easy as mocha and relatively easy compared to qunit. I needed a structure that can load dependencies, write specs with jasmine, run specs in development environment (also found out that I can use different JavaScript engines to run my specs simultaneously), run specs in continuous integration environment.

So I’ve created this template to provide a boilerplate, which needed in my opinion because there are a lot of not working, not documented or simply bad examples out there.

Template is here https://github.com/vngrs/jasmine-requirejs-template

Setting up base project

I’m using npm to…


Compositional programming, which promotes parametric polymorphism with approaches such as Composition over Inheritance is practiced within many paradigms. It facilitates code reuse, encapsulation and open/closed principles among others. Its applicability in Multi-Paradigm languages, as defended by Martin Odersky et al, particularly at higher levels with complex structures as in Object-Oriented or Structured approaches, and lower levels with function composition, facilitates intuitive decomposition and implementation of largely scalable complex systems. …

Material Design is announced at Google I/O 2014 and I remember the amazement we had when we watched it. It is a breakthrough in UX design that enables a cohesive experience across devices, various screen sizes and even platforms.

Android 5.0 Lollipop brings material design into the platform. In this blog post we will look into the details of material design from a developer’s perspective.

Knowing principles of material design is important for both developers and designers. Developers care about UI/UX more with the help of material design. Designers makes awesome designs that are easier for developers to implement.


This post talks about hosting multiple development environments with IDE’s on a single machine using Docker. Along the post we’ll write a simple Dockerfile to host a Scala project and we’ll also install an IDE into the docker container by sharing the X11 socket with the host machine. But first, a bit of history.

As a software developer, I’m jumping between many different software projects. Many of the projects I’ve worked on had different tech choices, from Java, Scala, Ruby, Python to NodeJs and even C. Before there were VMs, I was installing all the necessary tools to my local…

Grunt is a quite popular, JavaScript based task runner which comes as a Node.js module. At VNGRS, we use Grunt for mainly automation tasks. Some examples of where Grunt is useful are;

  • Analyzing CSS and JavaScript code quality with various tools (jshint, csslint).
  • Compiling languages such as Coffeescript, Less, Sass/SCSS etc. with pre-processors.
  • Minifying CSS, JS files, which are the outcome of this process, to a single file.
  • Compressing images in a project and adding random keys to our file names in order to avoid our files being cached by users.
  • Observing changes at our code without refreshing the browser…

We are using Scala for one of our clients. However, they didn’t want to involve using fancy/functional libraries such as which can be hard for newcomers. However we really needed validation tools such as one in scalaZ . After analyzing our requirements, we realized that we don’t need error accumulation and decided go further with Scala’s class. Unfortunately, is unbiased, which means there is no implication which side of Either is an Error or a Success.

Let see an example

Assuming we have following definitions,

case class Error(msg: String) type Validation[+A] = Either[Error, A] val result1: Validation[Int] = Right(42) val result2: Validation[String] = Right("Is…


Cloud Native Software Solutions

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store