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.

Wednesday, June 27, 2018

Simple multi-threading code

›
Very often, we have to process a list of objects. Using a for-loop would process these objects in sequence. But if we want to process them ...

Simple Utils for File & Stream IO

›
I still see many developers reinventing the wheel when it comes to IO/Stream operations. There are so many open-source libraries for doing ...
Wednesday, May 23, 2018

Ruminating on Agile estimates

›
Over the past few years, we have been using story points for estimation, rather than using man-hours. For a quick introduction of agile es...
Thursday, March 29, 2018

Cool Java client library for secure FTP

›
My team was looking for a library to PUT and GET files from a sftp server. We used the cool Java library called jSch ( www.jcraft.com/jsch/...
Sunday, March 18, 2018

Spring WebSocket STOMP tips and tricks

›
Recently we successfully implemented secure Websockets in one of our projects and learned a lot of tricks to get things working together. ...
Tuesday, March 13, 2018

Ruminating on Jackson JSON Parsing

›
In my previous post , we discussed about how we can extract an arbitrary JSON value out of a JSON string. Very often, developers face anoth...
Saturday, March 10, 2018

Identifying RabbitMQ consumers

›
One of the challenges my team was facing was to accurately identify the consumers of a RabbitMQ queue. Let's say if you have 5 consumer...
Tuesday, February 27, 2018

Ruminating on BPM vs Case Management

›
Most BPM tools today support both BPMN (business process modeling notation) as well as CMMN (Case Management Modeling Notation). But when t...
Monday, February 19, 2018

Adding custom filters to Spring Security

›
One of my teams was looking for an option for adding filters on the Spring Security OAuth Server. As we know, the Spring Security OAuth2 ...
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...
‹
›
Home
View web version
Powered by Blogger.