UltraESB-X and UltraStudio 17.07 - A new release with many exciting features

At the start of this year, we at Adroitlogic introduced UltraESB-X 17.01, the next generation of our flagship product UltraESB, developed on top of the new, flexible, extensible and lightweight Project-X platform. It was accompanied by our new Graphical Integration Development Environment named UltraStudio, developed on top of the world’s best IDE, IntelliJ IDEA.

So after 6 months from the initial release, the second major release of this product stack - the 17.07 version - came to light in the last week. Let’s have a quick look on what has been changed and what features has been newly introduced in this latest version.
Project-X Project-X, the core framework on top of which the UltraESB-X has been built, got many performance improvements, as well as API level improvements to enhance the usability, in this release. But we were careful not to introduce any breaking changes to the APIs, so that the projects developed on the 17.01 version can be ported to the new version without much h…

From AdroitLogic UltraStudio to AdroitLogic IPS: The complete journey of an Integration Flow

We at AdroitLogic recently released a new integration product stack that consists of a completely redesigned version of our flagship product UltraESB-X, and a set of complimentary products to the develop and manage UltraESB-X based integration solutions with ease. Among those products, AdroitLogic UltraStudio is an Intellij IDEA based development environment to develop integration projects while AdroitLogic Integration Platform Server (IPS) is a multi-node container platform to deploy and manage UltraESB-X instances.
Throughout this post, we will be developing a simple Integration Flow using UltraStudio, validating for configurational correctness, testing for functional accuracy, and finally packaging and deploying it on an UltraESB-X cluster using IPS.  Prerequisites As a prerequisite, you should have set up UltraStudio on your machine and also need to have access to an Adroitlogic IPS installation. If you do not have UltraStudio, please download it from here and follow the installat…

Cleaning older documents from Elasticsearch

Elasticsearch is basically a search server based on lucene, which provides facilities to store data as JSON documents and scalable searching of those documents. This is a very handy solution in storing statistics on different aspects such as counters, events and later retrieving them effectively for analysis. But since Elasticsearch stores all the data reported as documents, your Elasticsearch server will run out of disk space at some point down the line, more rapidly if the statistics are generated in high frequencies.

The best solution, specially for time-based data such as logging is to clean the older documents which have no effective use from Elasticsearch storage. Elasticsearch guides recommends to create multiple indices, one per each time frame (e.g. seperate index for each month) and then delete the older indices completely. But in some use cases of Elasticsearch, this multi-indices approach makes data retrieval activities such as aggregations difficult, compared to a single i…

JavaFX - 1 - "Hello World!"

As Oracle claims "JavaFX is a set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms." In other words JavaFX can be used to create applications with great user experience. In this series of posts I'm going to demonstrate some sample applications using JavaFX. As the first step we'll see how to create a JavaFX project using IntelliJ IDEA.

    Open IntelliJ IDEA and select "Create New Project". In the next screen select "JavaFX" from the left hand side panel, select "JavaFX Application" from the right hand side panel and click "Next". Use the next screen to provide a name for the project and set the project location. Click "Finish" to create the project.

    The structure of your newly created project should look as the above image. As you can see, IntelliJ has already created a sample JavaFX a…

How to install PHPUnit in Windows

If you are following Test Driven Development(TDD) in developing a software, you must use a testing framework suitable for your programming language. For PHP one such popular framework is PHPUnit. In this tutorial I describe how to install PHPUnit in Windows. 
(Before you proceed please note that the example file paths I use here are valid only if you are using WAMP server. If you are not using WAMP, please use file paths relative to your PHP installation.)
As the first step we have to install PEAR - PHP Extension and Application Repository. PEAR is a distributed system of pre-built packages that can be used to extend the functionality of PHP. Since PHPUnit is one such packages, PEAR should be installed first.
Installing PEAR Go to the PHP installation folder. (ex:C:\\wamp\bin\php\php<version>\)Check if there exists a file called go-pear.phar, if not download it from here.Create a new folder named pear inside your php installation folder and copy the downloaded file into that …

Installing NVidia CUDA in Ubuntu (Linux)

CUDA is a parallel computing platform and programming model created by NVIDIA. It is available for almost all the popular computer operating systems. But installing and configuring it in Linux is a bit challenging, specially in computers with NVidia Optimus technology. Therefore I'm going to give a step-by-step guide on how to do that.
       First I am going to give a brief introduction on NVidia Optimus technology and Bumblebee project. If you are not interested you can directly skip to the section on "Installing CUDA".
NVidia Optimus and Bumblebee
    NVidia Optimus is a technology introduced by NVidia cooperation to reduce the power consumption of GPUs in computers, mainly for notebooks. In these computers there are two graphic adapters, a lower performance one from Intel and a higher performance one from NVidia. The objective of this technology is to use the lower performance one for normal applications and to use the higher performance one only for the apps that nee…

Set the battery level at which Ubuntu gives the "Battery Low" Warning

Do you think that the battery percentage/level at which Ubuntu gives the "Battery Low" warning is too high or too low? This is a simple hack to change it to your desired level.
Open the terminal in Ubuntu (CTRL+ALT+T by default) and run the following commands. Replace the number '20' in each command with the percentage you desire.

To set the Battery Low Warning
gsettings set org.gnome.settings-daemon.plugins.power percentage-low 20

To set the Battery Critically Low Warning
gsettings set org.gnome.settings-daemon.plugins.power percentage-critical 20

To set the Battery Critically Low Action
gsettings set org.gnome.settings-daemon.plugins.power percentage-action 20
(This sets the battery level to trigger the battery critically low action. e.g: hibernate the machine)

The execution of the following command is a must to set any of the above commands to effect. So don't forget to run it as the last step of this little hack.

gsettings set org.gnome.settings-daemon.plugins.power …