Introduction: Kotlin, the versatile and powerful programming language, has taken the development world by storm. Its concise syntax, seamless interoperability with Java, and robust features have made it a favorite among developers. In this article, we will delve into the top 10 Kotlin best practices that will not only elevate your coding skills but also boost your app’s performance and...
WHY DO WE NEED TO OVERRIDE EQUALS AND HASHCODE METHODS IN JAVA/Kotlin
In this post, we will discuss why it is important to override equals and hashCode method in Java/Kotlin. Item 9 in Josh Bloch’s Effective Java suggests always override hashCode() method if the class overrides equals(). In this post, we will discuss why this is necessary and good practice. We know that two objects are considered equal only if their references point...
THE JOEL TEST quick note: 12 STEPS TO BETTER CODE
Recently, I came across a company’s profile and found their Joel test. Basically, it is for a better quality of software team/company. So I decided to share it here in the simplified version. The great part about it is that it takes about 3-5 minutes compared to approx 6 years to understand SEMA. The Joel Test Joel test questions The neat thing about The Joel Test is that it’s easy to get a...
Asteroid Collision Solution – Leetcode coding challenge
The following asteroid collision problem is from Leetcode. The problem We are given an array asteroids of integers representing asteroids in a row. For each asteroid, the absolute value represents its size, and the sign represents its direction (positive meaning right, negative meaning left). Each asteroid moves at the same speed. Find out the state of the asteroids after all collisions. If two...
deep learning: Linear Autoencoder with Keras
This post introduces using linear autoencoder for dimensionality reduction using TensorFlow and Keras. What is a linear autoencoder An autoencoder is a type of artificial neural network used to learn efficient data codings in an unsupervised manner. The aim of an autoencoder is to learn a representation (encoding) for a set of data, typically for dimensionality reduction, by training the network...