page banner
avatar
'Generating Dynamic Virtual Modules with Webpack Virtual Modules Plugin' post illustration
Generating Dynamic Virtual Modules with Webpack Virtual Modules Plugin

If you need to generate virtual files and want webpack to treat them as real files, you can use a special plugin Webpack Virtual Modules. Find out how you can use the plugin for your project.

avatar
'PersistGraphQL Webpack Plugin with Hot Code Reload released' post illustration
PersistGraphQL Webpack Plugin with Hot Code Reload released

The SysGears Team is pleased to announce the availability of PersistGraphQL Webpack Plugin with Hot Code Reload for backend & frontend.

avatar
'Apollo Universal Starter Kit with Hot Code Reload released' post illustration
Apollo Universal Starter Kit with Hot Code Reload released

The SysGears Team is pleased to announce the availability of Apollo Universal Starter Kit with Hot Code Reload for backend & frontend.

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
'Deployment to GitHub pages is introduced' post illustration
Deployment to GitHub pages is introduced

There's been three weeks since we made first public release of Grain and we're back to share some release news with you. First of all, we'd like to thank to all the people, who showed interest in our product and helped us by making first contributions or posting thoughtful feedbacks, your help is really valuable for us.

avatar
'Groovy application utilizing Spring IoC example' post illustration
Groovy application utilizing Spring IoC example

With the latest performance enhancements and great dynamic, functional and meta-programming features Groovy becomes a very good choice not only for scripting, but also for big and complex application building. Long term complex application development requires extensive unit testing utilization to allow moving forward without breaking existing features. Groovy plays nicely with powerful Spring framework, which can be used to make application easily extensible and unit testing friendly.

avatar
'Embedding recent Jetty in Groovy using Grape' post illustration
Embedding recent Jetty in Groovy using Grape

Several days ago I have a need to launch Groovlets on a web server. I have decided to go with recent Jetty for this task, developed by Eclipse Foundation at these days. It turned out to be non trivial task, but at the end it all worked so I decided to share my experience with you.

avatar
'Proper rendering of posts by tag and by author in Octopress' post illustration
Proper rendering of posts by tag and by author in Octopress

Octopress has generation of per tag index. By default it shows only post title. This works okay, until the moment when you will want to customize category_index.html and try to output some excerpt of post content too. You will face the issue that post content renders incorrectly. This is a problem in plugins/category_generator.rb plugin.

avatar
'How to create remote git branch in IntelliJ IDEA' post illustration
How to create remote git branch in IntelliJ IDEA

To create remote Git branch in IntelliJ idea one should:

avatar
'Speedup of JSON parsing in Grails' post illustration
Speedup of JSON parsing in Grails

Optimizing Web application request processing time is an important stage of quality product development. While doing this part of the work on one of our products we noticed that the huge bottleneck was buried inside built-in JSON support in Grails. The problem was that built-in JSON parser that comes with Grails is surprisingly slow. Thats why we considered switching to using Java-based JSON parser instead.

avatar
'Lightweight fast persistent queue in Java using Berkley DB' post illustration
Lightweight fast persistent queue in Java using Berkley DB

Recently I had a task to develop the application which will have large work queue and which need to survive the restarts. The application need to be lightweight. After trying several different persistent engines for Java I''ve chosen to stick with Berkley DB Java edition. This persistent engine is pretty lightweight it is fast, optimized for multi-threaded usage and have no problems with reclaiming free space.

As I needed the fast persistent queue at a cost of possible data loss on system crash I've chosen non-transactional API for Berkley DB. With non-transactional API the great speed can be achieved for persistent queue at a price of loss of some data at system crash. The more data you allow to be lost the greater speed of the queue you will have. Though you can opt to sync to disk each operation on the queue and in that case your data loss will be minimal.

avatar
'Creating secure Grails application powered by MongoDB' post illustration
Creating secure Grails application powered by MongoDB

There is some twist to use more specific data storage engines than RDBMS. The mongodb is a modern feature-rich non-RDBMS database. It can be used with grails quite well, though some special care should be taken. In this post we will create base secure grails application powered by mongodb.

avatar
'Fixing support of replica set by Grails mongo plugin' post illustration
Fixing support of replica set by Grails mongo plugin

If you are going to use mongodb for production grails application you might stuck with the issue that replica set is really not supported by current version 1.0.0.M1 of mongodb plugin.

It is quite surprising because mongo java driver supports replica set configuration quite fine.

The problem is that GORM plugin is built on top of version 0.5.1 of gmongo library which doesn't support replica set. Only current development version 0.7 of gmongo library supports this feature.

avatar
'Load balancing work between Java threads using ZeroMQ' post illustration
Load balancing work between Java threads using ZeroMQ

If you ever wrote production multi-threaded server in Java you know how it is difficult to implement load balancing between worker threads. You need to fight many issues to have good load balancer:

  1. You need to limit somehow the number of worker threads, because with unlimited thread pool you can have memory exhausted.
  2. You need to implement sophisticated procedure for clean worker shutdown.
  3. If you are using Executors you might now that they are not provide out of the box solution. You need to run into some tricks to have Executors do the load balancing job right.
  4. And for multi-threaded code you have to use those painful synchronized and locks that make your application lock up and/or degrade performance. And the debugging lock issues is a real pain.

ZeroMQ might tremendously help you with solving all these problems and much more. ZeroMQ is a high-performance asynchronous messaging library. It is native, but it has bindings for many languages and to be fair it is worth the hassle of dealing with native code.