Tech Talk

Digital Transformation, Artificial Intelligence, Machine Learning, IoT, Big Data Analytics, Enterprise Architecture, Performance Engineering, Security, Design and Development tips on Java and .NET platforms.

Monday, January 29, 2018

Ruminating on the V model of software testing

›
In the V model of software testing, the fundamental concept in to interweave testing activities into each and every step of the development...
Monday, January 22, 2018

Ruminating on Netflix Conductor Orchestration

›
We have been evaluating the Netflix open source Conductor project and are intrigued by the design decisions made in it. Netflix Conductor...

Ruminating on idempotency of REST APIs

›
Most REST services are stateless - i.e. they do not store state in memory and can be scaled out horizontally. There is another concept ca...
Wednesday, January 17, 2018

Why GPU computing and Deep Learning are a match made in heaven?

›
Deep learning is a branch of machine learning that uses multi-layered neural networks for solving a number of challenging AI problems. GP...

Timeout for REST calls

›
Quite often, we need a REST API to respond within a specified time frame, say 1500 ms. Implementing this using the excellent Spring RestTe...
Monday, January 08, 2018

The curious case of Java Heap Memory settings on Docker containers

›
On docker containers, developers often come across OOM (out-of-memory) errors and get baffled because most of their applications are statel...
Monday, December 04, 2017

Cool online browser based BPMN, DMN and CMMN editor

›
If you are looking for an extremely lightweight BPMN tool then please try out  https://bpmn.io It is made by the team at Camunda BPM and I...
Sunday, November 19, 2017

Encrypting sensitive data in Spring application.properties file

›
If you want to encrypt passwords, keys and other sensitive information in your application.properties file, then you have a nifty solution ...
Friday, November 17, 2017

Changing the hashing algorithm for passwords

›
Recently, one of my teams wanted to update their password hashing algorithm that was in use for more than 2 years. As discussed here , pass...
Saturday, October 21, 2017

Object pooling made simple using Apache Commons Pool2

›
If you are looking for a quick implementation of an object pool, then look no further than the excellent Apache Commons Pool2 implementatio...
Friday, October 20, 2017

Caching Simplified - Magic of Spring Annotations - Part 2

›
In the previous blog-post , we saw how we can enable caching with the magic of annotations. Now, let's consider how to evict the cache...

Caching Simplified - Magic of Spring Annotations

›
Spring Boot makes is super simple to add caching abilities to your application. With just a few lines of code and some annotation magic, yo...
Tuesday, October 17, 2017

Circular Dependencies in Spring Boot

›
Recently one of my team member was struggling with a strange issue in Spring Boot. The application was running fine on his local machine, b...
Tuesday, October 10, 2017

Generating secure keys for encryption

›
Very often, we need to create secure keys that can be used in digital signatures or for signing a JWT. It is very important to create a se...
Monday, October 09, 2017

Handling RabbitMQ broker re-connections

›
The RabbitMQ Java Client Library has default support for auto-recovery (since version 4.0.0). Hence the client will try to recover a broke...

Handling MQTT broker re-connections

›
Any client that connects to an MQTT broker needs the ability to handle a connection failure. The popular Eclipse Paho library now has sup...
Sunday, October 08, 2017

Ruminating on MQTT load balancing for scalable IoT event processing

›
MQTT brokers support the publish/subscribe paradigm. But what if you need to scale out the processing of MQTT messages over a cluster of no...

Database connection reconnection strategy

›
In any database connection pool, there is a risk of stale connections due to network outages or database server restarts. How do we refresh...
Saturday, October 07, 2017

Accessing Spring beans in a static method

›
Very often, we need to access a Spring bean in a static method. This is a bit tricky as you can only directly access static fields in a sta...

Spring beans annotations, scope and loading sequence

›
Spring beans can have different scopes as listed here  . By default, the scope is singleton and the bean is eagerly initialized on start-up...

Ruminating on Builder design pattern in Spring Security

›
While configuring Spring Security, you can use the properties file to configure the filters and other classes, but another popular option i...
Wednesday, October 04, 2017

Spring Sleuth Tips and Tricks

›
Spring Sleuth coupled with Zipkin in an excellent tool to measure the performance bottlenecks in your distributed microservices architectu...
Tuesday, October 03, 2017

Parsing an arbitrary JSON string and extracting values

›
Developers use libraries such as Jackson to convert JSON strings to Java objects and vice-versa. But what if you need to parse a JSON stri...
Monday, September 04, 2017

REST APIs for IoT?

›
Currently MQTT continues to be the most popular standard for IoT devices to communicate to the cloud. But for many scenarios, even REST can...
Wednesday, August 16, 2017

Cool open source tool for ER diagrams

›
Recently one of my colleagues introduced me to a cool Java tool called SchemaSpy . SchemaSpy is a java tool that can be used to create bea...
Monday, August 07, 2017

Ruminating on Telematics standards

›
While creating training material for our internal staff on telematics, we found the below site that gives a very good introduction to novic...
Monday, July 17, 2017

Performance benefits of HTTP/2

›
The HTTP/2 protocol brings in a lot of benefits in terms of performance for modern web applications. To understand what benefits HTTP/2 bri...
Sunday, July 16, 2017

Ruminating on DMN - a new modeling notation for business rules

›
We all know how the BPMN standard helped in interoperability of business process definitions across lines of business and also across organ...
Sunday, April 16, 2017

Ruminating on the single-threaded model of NodeJS and Node-RED

›
Many developers and architects have asked me questions on the single-threaded nature of NodeJS and whether we can use it effectively on mul...

Ruminating on a nifty tool called 'ngrok'

›
Many a times developers want to test their APIs running on their development machine against a mobile app. To do so, developers typically d...
‹
›
Home
View web version
Powered by Blogger.