Learning Kotlin Programming

Enable learning and finding relevant collection function easier

Image for post
Image for post
Photo by Rainier Ridao on Unsplash

Kotlin provides a rich utility set of functions for its collections. There are about 200 of them. To use them, one needs to know that they exist. It is hard to scan through 200 of them alphabetically to find which is relevant. Hence I’m making a cheat sheet for the functions, grouping them based on its functionality. Hopefully making learning and finding what you want easier.

I’m grouping them into 5 categories as below.

  1. Creation — Functions that create a collection, e.g. listOf
  2. Convert — Functions that cast to the other type, e.g. asMap
  3. Change — Functions that transform the contents, e.g.

A tertiary education is important but some things look even better on a resume

Image for post
Image for post

Don’t get me wrong — a tertiary education is important, especially if you attend a school that is closely linked with the industry. It usually provides good pointers and sound fundamentals of what computer science is.

However, in the internet-driven world we live in, if you want to start your career as a software developer, your Computer Science degree should not be the most important point in your resume.

So what are the 5 things better than a computer science degree? They are listed below, ordered from easiest to hardest.

Technical Social Media

Image for post
Image for post

Who doesn’t like social media? If you’re not into some of these platforms, you might have studied the wrong course. …

Programmer Life

I was a firm believer in them but now I am converted.

Image for post
Image for post
Picture by geralt on Pixabay

If you have been coding for more than a decade, you might have some preferred styles that you firmly believe in and stood by with your arguments to defend them till the end.

Below are some of them that I once stood by firmly once, but now I think I have to let it go.

1. Use m or this to indicate member variables

Rule: To differentiate member variables from local variables, use either one of the following

  • The use of Hungarian notation i.e. mMemberVariable vs localVariable. Where m stands for member variable.
  • The use of this i.e. this.memberVariable vs localVariable.

Past reason

The reason was when we read code, we can easily know if they are member variables or local variables without looking at their declaration. …

For when coffee isn’t enough to bring a smile to your face

Image for post
Image for post
Photo by Ben White on Unsplash

As I was looking for some useful coding quotes, I discovered many funny ones. Enjoy reading them — I thought these should be compiled together.

Most are from other sources (as per linked), with the exception of a handful that are my own.

I have separated them down into:

1. The Programming Life 
2. Software Engineering
3. Languages and Logic
4. Platform, Tools, and Administration
5. General

Hope you enjoy at least some of them!

The Programming Life

  1. “Programmer: A machine that turns coffee into code.” (source)
  2. “Computers are fast; programmers keep it slow.” (source)
  3. “When I wrote this code, only God and I understood what I did. Now only God knows.” …

Explore the Programming World

Learn the different style of programming paradigm with actual code sample

Image for post
Image for post
Photo by Markus Spiske on Unsplash

Functional Programming is the trend today! But wait, why was it in trend? How did we arrive here? It’s not easily understood, without knowing what’s the benefit it has compared to the previous paradigm.

Knowing how the programming paradigm shifted from the start will help us appreciate it more, and able to grasp the beauty and need for change along the way.

When I first learned to program, it’s the time where knowledge of C language is considered the standard language for all who like to learn to program. It was known as the era of Procedural Programming.

However, back then C++ was the state of art. Classes, Inheritance, Encapsulation, Polymorphism… my head spins in confusion on why are they needed. Can’t I just do everything with functions! …

Programmers’ Life

A tribute to my dear friend who has inspired me to code

Image for post
Image for post
Photo by NESA by Makers on Unsplash

I owe my passion for coding to a very dear friend of mine, who inspired me to excel in learning so much on computer during my youth. Under his tutelage, my knowledge about computer expands beyond computer gaming.

It is unfortunate he passed away in his mid-20s, believed to have taken his own life, felling off from a multistories apartment.

I still remember vividly on his 21st birthday at his house, his dad sarcastically wishes him a happy birthday in front of his friends, saying “Now you have grown up, you can play computer games more fiercely”.

In his teens’ age, other than sleeping and schooling, he will be in front of his Intel 286 computer monitor, fingers on the keyboard, and mouse. Computer gaming, hacking, coding, whatever one can do with the machine. …

Learning Android Development

Make Learning Jetpack Compose Easier

Image for post
Image for post
Photo by Josh Riemer on Unsplash

We learn about Recomposition previously, where the State Variable is like a remote control. When the State Variable changes, it triggers only the particular UI that interacts with the State Variable to be redrawn (recompose).

There’s another concept important for Jetpack Compose, that’s Remember.

Recomposition recap

Before we understand Remember, let’s relook into Recomposition.

The State Variable is usually outside the composable function like below

class MainActivity : AppCompatActivity() {

var isOn by mutableStateOf(false)

override fun onCreate(savedInstanceState: Bundle?) {
setContent {
Box(modifier = Modifier.fillMaxSize().background(
if (isOn) Color.Green else Color.Red)
modifier = Modifier.padding(64.dp).fillMaxSize(),
onClick = { isOn = !isOn }) {
text = if (isOn) "On" else "Off",
color = if (isOn) Color.Green else Color.Red,
fontSize = 48.sp …

Learning Android Development

Make Learning Jetpack Compose Easier

Image for post
Image for post
Photo by Dayne Topkin on Unsplash

Jetpack Compose is the newest thing in town. It is still in Alpha, but it shows promising signs. It is different from XML based user interface programming. Declarative Programming is the name.

I’m attempting to make it simple. By providing many illustrations for a simpler read.

On a high level, there are only two things, recomposition and remember. Once you grasp these two, the others might be more natural.

Here the focus is on recomposition.

Let’s start with composition first

Before recomposition, we need to first compose. Compose is to draw something. We can do that by using the provided composable function.

Image for post
Image for post
Text is a provided Composable Function

Group composable functions together

Composable functions can be group together, and contain within another composable function and form a more complex drawing. …

Technical Writer Tip

Illustrating Better with Images Using GIMP

Image for post
Image for post
Photo by Alvin Lenin on Unsplash

As a technical writer, illustration with pictures is unavoidable. Sometimes we need to emphasize. Sometimes we need to pixelate the image to hide irrelevant information.

I use GIMP. It is a free, open-source yet powerful image editor. Below are the 3 simple features to modify my image below.

Image for post
Image for post

Highlight Keypoint

Sometimes we want to highlight keypoint in our image. The result is below, where the number 129,758 is highlighted for easier identification.

Image for post
Image for post

In GIMP, we first need to select the area we like to highlight using the select tool.

Image for post
Image for post

Then using the color brush and select Luman/Luminance Darken only brush.

Image for post
Image for post

After that, you can then highlight your text as below. …

Understanding Mobile Development

Google Cloud Services can be shared

Image for post
Image for post
Photo by Alex Machado on Unsplash

It has been some time since I worked on GoogleMap. The key is there, and everything is working fine. There’s no need to access to Google Cloud Console.

Lately, I work on introducing App Bundle and uses a different Key to Upload the App.

For internal testing, I sign with the upload key. All works fine until I notice that the Google Map is no longer working!!

Forgotten how enabling the map work, I wonder if I need a new key, a new certificate, etc? Try google around, and nothing speaks of this question I have.

Google Cloud Services

After quick hunting around, Google Map is part of Google Cloud Services. To enable any services, do check out the formal guide by Google. …



Passionate about learning, and sharing mobile development and others https://twitter.com/elye_project https://www.facebook.com/elye.proj

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