Apache Maven for Beginners
Install the latest Oracle JDK on Linux
Apache Spark Tutorial
Install Ballerina on Linux
Complex Event Processing - An Introduction

Install Docker on Ubuntu/Linux Mint/PopOS

The official docker installation guide provides commands to install the latest Docker on Ubuntu machines but the command to add the docker repository is too specific to Ubuntu. In this article you will find a step by step guide to install the latest Docker using the official PPA on Ubuntu or any Ubuntu derivatives such as Linux Mint, Elementary OS, Pop OS, etc.

Read More

Create Scala Project with Maven in IntelliJ Idea

Every Scala developer out there knows SBT is the default build tool for Scala but there may be some situations limiting you to stick with the famous build tool for Java: Apache Maven. Haven't come across a reason to use Maven for Scala projects yet? Keep using SBT. However, if your team decides to use Apache Maven because it works well with their CI server or because they have a well-established development environment with Apache Maven, you have no choice and this article is here to help you.
Create Scala with Maven Project in IntelliJ Idea
Creating a Scala project using Apache Maven in the command-line is easy. Just run the following command, answer the questions in the interactive shell and you are good to go. Install Apache Maven on Linux to run mvn from the terminal.
mvn archetype:generate -DarchetypeGroupId=net.alchim31.maven -DarchetypeArtifactId=scala-archetype-simple
However, why should we switch to the terminal just to create a project and then switch back to the IntelliJ Idea and import the project to continue the development? In this article, you will see how to prepare your IntelliJ Idea to create Scala projects with Apache Maven.
Read More

Install Oracle JDK 16 on Linux

Even though OpenJDK is available in Linux repositories, some applications strictly require Oracle Java Development Kit. This article shows you how to manually install Oracle JDK $java_version on your Linux system. This article uses JDK $java_version$java_update_no to demonstrate the installation. In the provided commands, replace the version specific paths and file names according to your downloaded version.

Version specific installation guides are available here:


Install Oracle JDK $java_version on Linux

Oracle provides deb and rpm installers
If your Linux distribution is using DEB package format like Debian, you can download and install the jdk-$java_version$java_update_no_linux-x64_bin.deb file using the following command:
sudo dpkg -i jdk-$java_version$java_update_no_linux-x64_bin.deb
If your  Linux distribution is using RPM package format like Cent OS, you can download and install the jdk-$java_version$java_update_no_linux-x64_bin.rpm file using the following command:
sudo rpm -ivh jdk-$java_version$java_update_no_linux-x64_bin.rpm

However, this article explains the manual installation method which is applicable for all Linux distributions out there. Personally, I prefer the manual installation because I have more control over the changes made in the system.


Read More

Download Files in Android - Kotlin & Java

Unless you are writing a Download Manager, downloading files in an Android application is never going to be the main business logic to solve but based on the requirement, you may need to download metafiles, media files, or documents over the Internet within your Android application. However, a reliable solution to download files in an Android application poses its own challenges including but not limited to the following list:


1. Thread Management

IO operations must be executed in a separate thread. Though there are plenty of options to achieve this such as now deprecated AsyncTask, Kotlin coroutines, or RxJava, still complex for a novice developer to properly handle the concurrency problems. Sending signals to the downloading thread to cancel or pause the download may introduce additional synchronization issues.


2. Error Handling

What if the Internet connection dropped while downloading the file? What if the application is closed while downloading/saving the file? How to handle all HTTP errors? the list goes on. Addressing all these scenarios is tedious and most of the time not possible.


3. Updating the UI

While downloading the file in a separate thread, updating a progress bar in the main thread is a challenge unless the concurrency framework you use provides an easy way. The same goes to update the UI after the file is downloaded.

Read More

Java is Dead! Once More

Programming languages are ranked based on different criteria. For example, Stack Overflow lists programming languages based on the number of questions and answers; while it is a clear indication of the recent popularity of a language, already matured languages not necessarily require the developers to search for "how to write a loop". Similarly, the famous index Tiobe lists Java as the second most popular language next to C at the time of writing this article. Tiboe ranks programming languages based on the number of skilled engineers world-wide, courses, and third-party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube, and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.


Coming to the point, recently I saw an index claiming Python took the first place pushing Java to the second place. Nothing to worry; good for Python! The programming language war is never-ending like the Linux distribution war. Fanboys always claim that their language is superior to any other language. This article analyzes if Java is dying and is Python replacing Java so that you can learn and live with Python only. I am comparing Python against Java because of the most recent claims I've seen over the internet but the core idea remains the same for any language out there.


Read More

Install the Latest Oracle JDK on Mac

This article shows you how to install Oracle JDK $java_version on your Mac system. This article uses JDK $java_version$java_update_no to demonstrate the installation. In the provided commands, replace the version specific paths and file names according to the downloaded version.

Oracle provides a Mac installer and a binary file.This article explains how to install Oracle JDK using the mac installer and how to set the JAVA_HOME variable.

Install Oracle JDK $java_version on Linux

Read More

Running Docker Without Sudo on Linux

After installing Docker on Linux, you may get a permission denied message as shown below when you try to run your first docker command:

docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

You can solve this problem by running Docker with root privileges (using sudo). However, by following these simple steps given below, you can run docker without root privileges.

Running Docker Without Sudo on Linux
Read More

Install Scala the Old School Way

Finally, you found the place that shows you how to install Scala on Linux from binaries. Even the Scala's official website promotes installing on IntelliJ or installing using SBT. However, I prefer to install Scala the old school way using binaries for testing purposes because it gives me more control on what kind of changes are made on my system. For any hardcore development purposes, I do use Scala on IntelliJ Idea. This article explains how to install Scala using pre-built binaries.

Install Scala the Old School Way
Read More

13 Things To Do After Installing IntelliJ Idea

IntelliJ Idea: the famous IDE for JVM languages including Java, Scala, and Kotlin. If you don't have it installed, follow Install IntelliJ IDEA on Linux to install the latest IntelliJ Idea. This article shows you some hidden tweaks to boost your productivity with IntelliJ Idea.

Wait! Isn't IntelliJ Idea ready to be used out of the box? There is no doubt about the capability of IntelliJ Idea; of course, it can handle your project without any tweaks and customization. However, this article shows you how I customize my IntelliJ Idea for better productivity. All we going to do is enabling some hidden features and installing some plugins that may take your favorite IDE to the next level.

Though I specifically mention the IntelliJ Idea, the following tweaks apply to all Jetbrains' IDEs:

  • Android Studio
  • AppCode
  • CLion
  • GoLand
  • PhpStorm
  • PyCharm
  • Rider
  • RubyMine
  • WebStorm

1. Enable the toolbar

Go to ViewAppearance and select Toolbar

The toolbar provides quick access to frequently used buttons such as Save All, Back, and Forward with a cost of small vertical space. I prefer to have the toolbar enabled because it moves the Build button to the left that makes it easy to access using my muscle memory. In addition, you can add more shortcuts to this toolbar if you like.

IntelliJ IDEA Enable Toolbar

Read More

Install IntelliJ IDEA on Linux

IntelliJ Idea the famous IDE for JVM languages including Java, Kotlin and Scala has recently changed its installation process with the version 2020.3. This article shows you how to install the latest IntelliJ Idea on any Linux system.

For whatever the reason, if you have to install an older version of IntelliJ Idea, please follow the article: Install IntelliJ IDEA 2020.2 and Older on Linux

You do not need Java to run IntelliJ IDEA since it comes with Java Runtime Environment to run the IDE. However, it is highly recommended to have Oracle JDK for the development purpose.

Install IntelliJ IDEA on Linux



Read More

Install IntelliJ IDEA 2020.2 and Older on Linux

This article shows you how to install the famous Java IDE: IntelliJ IDEA on Linux. You do not need Java to run IntelliJ IDEA since it comes with Java Runtime Environment to run the IDE. However, it is highly recommended to have Oracle JDK for the development purpose.
 
There is a separate article on how to install the latest IntelliJ Idea on Linux
Follow the Install IntelliJ IDEA on Linux article to install the latest IntelliJ Idea.

Install IntelliJ IDEA on Linux
Read More

Install Oracle JDK 15 on Linux


Even though OpenJDK is available in Linux repositories, some applications strictly require Oracle Java Development Kit. This article shows you how to manually install Oracle JDK $java_version on your Linux system. This article is using JDK $java_version$java_update_no to demonstrate the installation. In the provided commands, replace the version specific paths and file names according to your downloaded version.

Version specific installation guides are available here:

Install Oracle JDK $java_version on Linux

Oracle provides deb and rpm installers
If your Linux distribution is using DEB package format like Debian, you can download and install the jdk-$java_version$java_update_no_linux-x64_bin.deb file using the following command:
sudo dpkg -i jdk-$java_version$java_update_no_linux-x64_bin.deb
If your  Linux distribution is using RPM package format like Cent OS, you can download and install the jdk-$java_version$java_update_no_linux-x64_bin.rpm file using the following command:
sudo rpm -ivh jdk-$java_version$java_update_no_linux-x64_bin.rpm

However, this article explains the manual installation method which is applicable for all Linux distributions out there. Personally, I prefer the manual installation because I have more control over the changes made in the system.


Read More

Contact Form

Name

Email *

Message *