May 2020

by Veli Tasalı   ·   May 8, 2020 updated June 11, 2020

design kotlin gnome

May 2020

May 2020

Thoughts on Kotlin

I studied Kotlin this month. I learned everything I could learn from the official documentation. I was impressed, and I am excited to use it in my projects.

Kotlin offers many shortcuts to do the same job, which overwhelmed me a little. A simplest for loop has many forms:

for (i in 1..100)


for (i in 1 until 101)


(1..100).forEach { 
    // 'it' represents the integer. 

(All of the above do the same thing.)

What is Coroutines?

Kotlin also has Coroutines which is Kotlin equivalent of executors in Java. It runs the tasks in a given context asynchronously. The difference is it is more integrated with the language as Kotlin is modular.

Coroutines is different in many ways. The sleep call on a thread will lead to the thread blocking the next operation. Delay call on a Couroutines context will lead to a context switch so that the thread can execute other tasks during the sleep.

Running 100 different tasks will not lead to 100 different threads with Coroutines especially if they don't take long to execute. Coroutines will create more threads for them as needed.


Kotlin also has operators (similar to C++ and Python), template functions, data & object classes, and lots of useful functionalities derived from other programming languages. Using it on your existing projects shouldn't cause too much trouble.

GNOME Challenge

This year, GNOME Foundation together with Endless announced the inaugural Community Engagement Challenge that will introduce beginning coders with the FOSS community and encourage them to participate in it1. This might be one of the few opportunities for people living in remote places and that haven't had a chance to become part of a community.

As someone wanting to know GNOME more closely, I started a small campaign in Turkey, so that more people will know about it2.

I've submitted my project idea, which aims at educating people with voluntary work and certifying them3.

Updated My Blog

Even though I still think my writing sucks and fails to keep personal matters/subjectivity away, I am hopeful that some of my entries will have me look back and say, "Is this something I wrote?"

With that in mind, I updated this site to make it easier to navigate and enjoyable to read. Some people might hate the light color, but I find light colors to be easy to read on.

If you are bored with my posts, get help from LessPenguiny4 (at least for now).

  1. GNOME Challenge, official announcement. 

  2. acikkaynak/acikkaynak-website#79, my campaign for GNOME Challenge. 

  3. challenge-tr/proje-acik-universite, my project idea. 

  4. LessPenguiny, a place to read interesting stuff.