Having worked for years on a personal Apple Macbook pro, I recently had to give it away to someone.

I do have a powerful windows machine, just that it did not have brew, among other things.

Note: This page assumes you have already turned on Windows Sub system for Linux(WSL), if you have not done so, please see the page below

Installing Ubuntu 20

Go to Microsoft store and install Ubuntu, as simple as that.

https://ubuntu.com/tutorials/ubuntu-on-windows#1-overview

Un-Installing older versions of Bash for windows

I had installed bash on windows 10 many years ago.

CMD

C:\Users\suchak>wsl --list
Windows Subsystem for Linux Distributions:
Ubuntu-20.04…

Background

In this article we will discuss generating a ISO20022 JSON Schema from a XSD Schema.

There have been other tools that help with this task. However i wanted to test the waters by coding this myself.

This is the fifth article in a five part series

Part One

Part Two

Part Three

Part Four

Part Five — This Article

Code

The code i have written is Kotlin code for JSON Schema Creation from XSD Schema and is available here .

XSD Schemas used

Two XSD Schemas have been taken from the website https://www.iso20022.org/iso-20022-message-definitions?business-domain=1

You can see the files here: One is pacs.008.001.09.xsd


Background

This is a Three part series

  1. Part One — A Case for Asynchronous Non Blocking JDBC — One
  2. Part Two — A Case for Asynchronous Non Blocking JDBC — Two
  3. Part Three — This page

In Part one we went through the details of non blocking calls and event based systems.

The Part two we went through Java NIO, Java JDBC, and the need for non blocking JDBC.

This this part we will understand the status of non blocking JDBC as of early 2021.

Sections on this page

  1. We will have a look at the R2DBC Project
  2. We will then have a look at…


Background

In this article we will discuss aspects of the differences in JSON and XML Schema related to validation and security.

Please know i am not making a judgement on what is the right way. Just pointing out the obvious differences.

Blame and Guilt are different sides of the the same coin Judgement. I guess it does not help a healthy and open discussion.

This is the fourth article in a five part series

Part One

Part Two

Part Three

Part Four— This Article

Part Five

Schema

XML Schema

XML Schema is a well known and understood standard. …


Background

Kafka use in various projects is increasing by the day. Look at a google trends report : https://trends.google.com/trends/explore?date=today%205-y&q=%2Fm%2F0zmynvd

In parallel, the use of Asynchronous Non-Blocking code is also increasing by the day.

Please read these stories to know more:

Messaging Middleware

Messaging

As seen above messaging helps decouple two parts of a service based system. The Write Service writes to the messaging middleware and continues its work and the read service reads from the messaging middleware at it’s own pace and does it’s work which in this case happens to be write to a database.

Examples of messaging middleware are RabbitMQ(AMQP in general)…


Background

Having working in the IT industry for years, we have heard so many times, we have a firewall hence we are safe.

And yet the threat of data robbers keeps increasing.

You can find a report per year here

Security is paramount. Yes that is a given. In addition, exactly “how” aspects of security are thought of and are implemented is also important.

Perimeter Security

Torna Fort, Maharashtra, India — Photo by Sachin Tandale on Unsplash

I was born and brought up in Mumbai in the state of Maharashtra in India. Above is an image of Torna fort in Maharashtra, one of the many beautiful places in Maharashtra.

You can read up about…


Photo by Omar Flores on Unsplash

Background

Asynchronous programming

Asynchronous programming helps us perform many tasks in parallel. Do read my other posts on the subject:

Java Asynchronous programming

Asynchronous programming in Java has come a long way. Java futures have been constantly improving and are a mainstay of many code bases. Java streams have Java Futures as a base.

Kotlin Asynchronous programming

Kotlin is a new language built by the folks from Idea. Android has accepted it open arms. Here is a link to help us understand “Why ?”

Kotlin has an aspect called coroutines which helps with asynchronous programming.

Examples

In this post, we will code some examples of Java futures and Kotlin coroutines.

Java Futures


Background

For many years a monolith served us well. However, with the need for very high throughputs, we are served well with microservices. There are many other advantages to microservices and some pitfalls as well.

This is a good read as a start if you are new to microservices

About this page

In this page, we will look at various aspects of a simple application in its journey from a monolith to a services-based architecture. We will see how this could affect its throughput and what would happen to latency.

Latency

Latency is a time interval between the stimulation and response, or, from a more…


Background

Please read the link below for the first example and a background

Second Example:

Akka Stream Graphs

From Akka website:

Considering linear Flows to be like roads, we can picture graph operations as junctions: multiple flows being connected at a single point.

Read up on Akka Stream Graphs here:

Second Graph code example from Akka Site

Understanding the example

Code Modifications

  • Added a materializer to run the Graph
final ActorSystem system = ActorSystem.create("QuickStart");
final Materializer materializer = ActorMaterializer.create(system);
  • Changed source to print the result
g.run(materializer).forEach(s -> s.thenAccept(System.out::println));
  • Add a terminate to stop the run
system.terminate();

Modified Code

Understanding

Parallel Streams two
  1. Our Source is has five numbers “N” Strings
  2. Then we have a broadcast with N dynamic paths, based…


Background

Please read the link below for the first example and a background

Akka Stream Graphs

From Akka website:

Considering linear Flows to be like roads, we can picture graph operations as junctions: multiple flows being connected at a single point.

Read up on Akka Stream Graphs here:

Second Graph code example from Akka Site

Understanding the example

Code Modifications

  • Added a materializer to run the Graph
final ActorSystem system = ActorSystem.create("QuickStart");
final Materializer materializer = ActorMaterializer.create(system);
  • Changed source to have many element to make it easy to understand the flow
final Source<Integer, NotUsed> in = Source.from(Arrays.asList(1,2,3,4,5));
final Outlet<Integer> source = b.add(in).out();
  • Made the Sink write to standard out for debug
Sink<Object, CompletionStage<Done>> sink1 =…

Suchak Jani

Principal Architect at Mastercard

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store