page banner
avatar
'Thread synchronization in Grails application using Hazelcast' post illustration
Thread synchronization in Grails application using Hazelcast

Recently, I have been looking for a way to implement thread synchronization in a Grails application which is hosted on several nodes on Rackspace. And while it's rather easy to synchronize threads within a single servlet container, it might be difficult to do it when the same data is simultaneously updated from separate server nodes. This post shows how this task can be solved with Hazelcast.

avatar
'Get image dimensions with ng-flow' post illustration
Get image dimensions with ng-flow

This note shows how to get the width and height of an image inside of an AngularJS controller with the help of ng-flow library. First of all, you can get image dimensions by using the Image element constructor and specifying the following onload callback function

avatar
'Launch Ionic app with a web or email link' post illustration
Launch Ionic app with a web or email link

Custom URL scheme PhoneGap Plugin is a cool plugin for Cordova that is designed to allow to launch apps by clicking on a link in an email or on a web page. Bellow is an example of how this plugin can be used for the Ionic application.

avatar
'Managing configuration of a distributed system with Apache ZooKeeper: Loading initial configuration' post illustration
Managing configuration of a distributed system with Apache ZooKeeper: Loading initial configuration

This post is the second in the series of publications about using the Apache ZooKeeper for building configuration management solutions for a distributed system. It focuses on implementing a tool for loading initial configuration data into a fresh ZooKeeper ensemble.

avatar
'Braintree and Angular.JS drop in integration' post illustration
Braintree and Angular.JS drop in integration

During drop in integration of Braintree into Angular.JS application we have faced several surprising caveats. This was the primary reason for current post to be born. We would like to share our expreince and solutions that we've learnt during this process.

avatar
'How to set request throttling on a dispatch HTTP client' post illustration
How to set request throttling on a dispatch HTTP client

Let's consider the ability to limit the number of HTTP requests being handled by an application simultaneously.

avatar
'How to trigger a method with the keyboard shortcut in AngularJS' post illustration
How to trigger a method with the keyboard shortcut in AngularJS

If you are, for example, working on a chat application, one of the features that the user expects is an ability to send a message with a keyboard shortcut. The example of a directive below shows how this can be achieved for Shift + Enter combination:

avatar
'Get a base64 encoded image using ng-flow in AngularJS' post illustration
Get a base64 encoded image using ng-flow in AngularJS

Here is an example of how you can get a Base64 encoded image using the ng-flow for the image upload, for instance, if you need to send the image in a JSON request.

avatar
'How to build a simple MongoDB DAO in Scala using SalatDAO' post illustration
How to build a simple MongoDB DAO in Scala using SalatDAO

Usually a data access object for MongoDB consists of common routine CRUD methods. Those methods should be implemented, tested, maintained just like any other code. In this post, I'm going to show you how to use SalatDAO to vastly simplify the process.

Generally, Salat is used for serialization of case classes, enums and collections to