A walkthrough of finding common backend bottlenecks and solutions.

In this story, I will be talking about the ways of performance tuning of Java applications. After you build an application, the performance can be different than you expected due to various reasons. Sometimes you may not find them even though you did load testing and all, before going into production.

The main topics that I’m gonna discuss are:

  • Finding Bottlenecks
  • Common Tweaks to Apply
  • JDBC Related Code Changes and Tunings
  • JVM Tuning

I must say these are some of the common tweaks you can make and it all depends on your business logic. Some of the optimizations may seem…


This daemon can be used in the application server or in the database server to execute system commands using rest API calls.

Hello, I’m Asel. Today, I am going to show you how to create a rest API for executing system commands in your server. This method is used by well-known companies. Imagine you have moved your database to another server other than your backend server and you want to take control of your database server from your backend API. For that, we have to create a daemon in the database server.

*note — I’m writing this as a POC. If you are going production you should consider security issues seriously( using https etc).

Step 1 — Picking up dependencies

Let’s start by adding a couple of dependencies…


Build your API with the most-loved language of the past four years on Stack Overflow

Hello, I’m Asel. Today, I am going to show you how to create a simple REST API in Rust.

For that, we are going to use the Rocket framework for the API and Diesel ORM framework for persisting features. This framework will cover all the things mentioned below. So, it will be much easier than implementing it from scratch.

  • Start a web server and open a PORT.
  • Listen to requests on this PORT.
  • If a request comes in, look at the Path in the HTTP header.
  • Route the request to the handler according to the Path.
  • Help you extract the…


The fastest way to build web UI using python only. Zero front‑end experience required

I’m going to show you how to build web UIs for your python ML project in less than 10 minutes. The Streamlit open-source Python library provides an API to build and deploy in their server very easily. I’ll walk you through step by step. As the machine learning project will be using Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement from GitHub. you can find the full paper here.

Why Streamlit?

  • You can use python to make your UI’s and you don’t have to worry about frontend libraries or frameworks.
  • It’s easier to deploy. You can use Streamlit deploy if you want.

Set up environment


Comparing traditional and ES6 destructuring to unpack values in JavaScript

Plant on table

In this article, I’m going to compare traditional and new methods using ES6's destructuring assignment syntax. This syntax allows you to unpack values from complex objects and arrays. This can be used to write clean code and will definitely save you some lines.

First, we will discuss object destructuring. Then we’ll move on to arrays.

“The destructuring assignment syntax is a JavaScript expression that makes it possible to unpack values from arrays, or properties from objects, into distinct variables.” — MDN Web Docs

Object Destructuring

Let’s make an example object of a customer. …


bring your workstation to your laptop.

Hi, I’m Asel, In this article, I’m going to show you how I manage to use one monitor with my laptop and workstation hassle-free. From this method, you can use your Ubuntu desktop from a laptop anywhere in your home/office.

As I mentioned before I wanted to use my monitor for my laptop while using my workstation. For that, I found two options.

  • SSH
  • RDP

SSH into my machine is a nice way but I wanted a get my desktop experience. Sometimes it’s very useful. The most awesome thing is you can copy it to a clipboard and past it…


Let’s host our application on a Heroku server

Linking services with Google

In this article, I’m going to show you how to add Google sign-in to your JavaScript web app. These code snippets will be valid for your pure JavaScript/jQuery/Node.js applications.

First, you need to create a simple login that will give the function to log in manually using a username and password. Then you need to set up a Google Developer account and use the Credentials page to create app OAuth keys.

  1. Go to the Credentials page.
  2. Create a new project if you haven't had any projects. After that, you need to give some details about your project. If you are…


Let’s build more robust concurrency systems

State diagram generated by the LTSA tool

Hello, I’m Asel. Today, I’m going to show you how to model a concurrent program using FSP by going through an example scenario.

What’s FSP?

Finite state processes (FSP) is an abstract language that’s used to develop concurrent systems of processes.

We use modeling to gain confidence in the adequacy and validity of a proposed design. As with most complex design tasks, concurrency is best understood by employing multiple levels of abstraction.

First, the functional requirements of the system must be well understood in terms of its desired behavior. Next, the possible roles for concurrency should be explored. …


Writing a PID as a software engineering undergraduate.

Why PID is IMPORTANT?

You may have been wondering why on earth we are wasting weeks doing documentation like this. You may think, why don’t we start doing prototyping so you can get ahead of schedule. Doing research is not that simple; It’s a well-planned task. Actually, documenting phases will help you in the rest of the project. It is the first basic step to ensure your project sets off on the right foot.

If you want to write a good PID, first, you have to understand its flow. All the topics are in PID are nicely connected. …


Get to know about one of the major scams in both crypto and stock trading before start trading.

Let's understand Pump and dump in a nutshell. A pump and dump scheme refers to a group of people artificially inflating the price of an asset through recommendations based on false, misleading, or greatly exaggerated statements. In essence, they will buy an asset for a low price all at once, prompting the price to rise. This sudden and rampant increase in nominal value will prompt unknowing traders to jump in and purchase the asset as they hope to ride a bull market. The original buyers then sell (dump) the assets to make a quick profit. …

Asel Siriwardena

Software Engineer | University of Westminster

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