Yet Another KDE screenshots

I intended to write about how to back up Telegram messages (including messages from deleted accounts… yes, you can do it). However I am too lazy right now to describe that so instead here some more KDE desktop screenshots.

I am using a dark theme right now, coupled with dark background. Usually I don’t stay with dark themes for very long, but let’s see how this goes.


A new Chromebook: first impressions


, , ,


At last it has arrived: Perseus, my brand new Asus Chromebook 201. I have to wait for some time because the online store that sells it (Bhinneka) doesn’t have my preferred models in stock, so I have to choose another model.

Some first impressions: the design isn’t exactly my cup of tea, and white-greenish blue combination isn’t really my favourite colour. But I tend to functionality than esthetics, and it’s not that ugly. So I’ll manage.

It is light and very portable (the weight is less than 1 kg). The battery can hold out about 10 hours without recharging (Asus says 13 hours). The keyboard is full-sized, and typing on it is quite comfortable, although it misses some keys you will find on standard notebook (Windows) PC, like function keys. The touchpad is also rather spacious.

The defining feature of Chromebook is the operating system: ChromeOS. It is less powerful than Windows (or Linux, my daily driver), but it is also much simpler. ChromeOS apps are basically web apps so you need to be online to run them, although some important ones like Google Docs can be run offline. For my job basically I only need word processor capability and web browser, so this is actually adequate.

Just for curiosity, I have also installed Ubuntu 14.04 using Crouton, which enables Ubuntu installation side-by-side with ChromeOS. Just the basic version of Ubuntu, so the limited 16 GB storage should suffice. I haven’t played much with this, and very probably I will wipe out it again later. For now, I am quite satisfied.

Another KDE screenshot


Should be writing an article for work, but as usual I am prone to procrastination. So here it is: a new blog post! Nothing important. Just a screenshot of my current desktop. KDE on Fedora 23. I am playing with the layout, with dark theme and colour. The result? Sometimes the text is rather unreadable on some applications. But I still like it so far, after using it for several days.kde5.5

Migrating to new hard disk

My old hard disk was nearly full, and I thought it would be a good time for a new one. I decided not only buy a hard disk with larger capacity, but also a faster one. The choice fell to a HGST 7200 rpm disk, capable to store 1 TB data.

The next step was migrating the data. I wanted to avoid full reinstallation, so I decided to clone the hard disk. Of course, because the new hard disk is larger than the old one, simple cloning won’t be enough.

My old hard disk was partitioned to into five partitions: one for EFI, one for boot, one for root filesystem, one swap partition, and an encrypted home partition. My initial plan is to clone the old hard disk and then expanded the root filesystem and home partition.

It turned out the plan couldn’t be executed. The problem is you can’t easily resize an encrypted partition. In the end, I deleted the cloned, encrypted partition in the new hard disk and created a new (now unencrypted) partition. Then I copied back the content from home partition on the old hard disk to the new one. All this took a lot of time.

I am thinking of reencrypting the new home partition, but it will be tedious process. I will have to do the copying all over again. That is: delete the old hard disk, create a single partition (with ext4 filesystem, e.g.) on it, copy the data from the new hard disk to the old, delete the home partition on the new hard disk, create new encrypted partition on the new hard disk, then copy back the data from the old hard disk to the new.

Using cron to collect daily data


, ,

Checking on Jakarta Composite Index (JCI) and other stock exchange indexes, and then writing them down, can be a tedious process. Luckily Yahoo Finance provides a readily downloadable information in CSV format. So, for example, for JCI you can download the latest information here.

I am interested in this kind of data for playing around, for example, using them for data visualisation. I thought Yahoo Finance will have RSS feeds, but it turned out the feeds are only for news. I also thought that IFTTT couldn’t download files (turned out it can, but not really suitable for my purpose). So I turned to cron and curl to automate the job. I write down the process here mainly as note to myself (I don’t usually write shell scripts).

The idea is to download the file at particular time (I choose 4.30pm) every working day. This  means this kind of entry in crontab:

30 16 * * 1-5 sh /your/path/to/home/directory/bin/

This means the script will be executed at 16.30 every day of the month, every month, but only from Monday to Friday (working days). Next step is to write the script itself.

The main work is done by curl, which downloads the appropriate file at chosen time:

curl "" >> /home/gombang/JKSE/jkse.csv

The URL is quoted, because the special characters in the URL are playing havoc with curl. We only want one file at all times, so we concatenate the downloaded file to the end of a CSV file (jkse.csv), using operator >>.

That’s should be the only line in the script, if only I had got an access to an always online server. I don’t, so I have to check whether my laptop is fully connected to Internet. I do this using nmcli, the command line client of NetworkManager. If we are not connected, wait for 5 minutes, and check again. If connected, download the file.

The full short script turned out like this:

while [ $(nmcli networking connectivity) != "full" ]; do
sleep 300
curl "" >> /your/path/to/home/JKSE/jkse.csv

This added the latest data to file jkse.csv everyday at 4.30pm, or later, if at the time we are not connected, or (thanks to anacron), we are not up yet. This script is easily extended to download additional files like, for example, data of another stock exchange. We may need to check whether a particular day is a holiday (then don’t download any data), but then it maybe easier just to clean up the csv file later.


  1. Introduction to cron
  2. Bash programming howto

Digital journalism tools


, ,

I came across OSJourno yesterday. It is dubbed as “robust power tools for digital journalists”. It is basically a Fedora remix packaged as virtual machine appliance, or (alternatively) a LiveCD. I plan to download and try it out soon, but for now I’ll just note one thing: being a “digital journalist” seems to demand a lot of skills.

If you notice the tools provided by OSJourno, digital journalists should be skilled at: web development, programming (R, Python, Julia), statistics, data science (natural language processing, machine learning, social network analysis, and finance). Not to mention secure communications (encrypted emails and instant messaging, privacy tools, etc). I doubt they teach those at journalism school. At least not now, not in Indonesia.

KDE Plasma 5.2



I lack excitement in life, so I upgraded the operating system on my laptop. Running alpha software is never boring. It is Fedora 22 with KDE Plasma 5.2. Here is a screenshot:


Other than a bug in systemd that obstructed the upgrade (easily solved with updating systemd from updates-testing repository), it has been smooth sailing so far.

Fixing hibernation on Fedora 21



After latest update (29 March), my laptop which runs Fedora 21 could’t resume from hibernation. I can’t determine which update broke the system, but usually the first suspect is the kernel. Reverting to older kernels doesn’t fix the problem, so I guess there are other factors in play.

After some detective work I could see that the system failed to read hibernation image when resuming. My first guess that there was something wrong with swap partition, but it seemed OK.

Further Googling and reading about how to enable hibernation on Linux suggested me the following solution: GRUB should inform the Linux kernel where to find hibernation image (i.e. the swap partition).

That should be straightforward: edit /etc/default/grub, add the following line:

where 6fffdb46-0e7c-4fee-ace4-75cdb30fad5c is the uuid of my swap partition (yours should be different). Next step is to run grub-mkconfig (grub2-mkconfig on Fedora 21):

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Reboot, and hibernation works again. I still don’t know how the update broke it in the first place though.

Project Gutenberg and cloud storage integration


, , , ,

I was writing a blog draft (about politics, so I don’t think it will come out here) when I thought I would benefit from reading Tocqueville’s Democracy in America. This is an old book, written in 19th century, so naturally it is in Project Gutenberg’s collection. The original is in French, but it was translated quickly into English.

Project Gutenberg now offers the option to download ebooks to online storage service, such as Dropbox (and Google Drive and Microsoft One Drive). I have known this for some time, but usually I just ignore it. But this time I was intrigued to try.

If you choose downloading to Dropbox, the service will ask your permission to authorise Dropbox. If agreed, Project Gutenberg will create a new directory inside your Dropbox folder, and place your downloaded books there. This means I am now able to access my downloaded Project Gutenberg’s books using Dropbox service. Which is nice: I don’t always bring my laptop with me. I haven’t installed the Dropbox app on the phone, but I think I will do now.

Shellshocked: A collection of links about the Bash bug


, ,

I don’t really think I understand the new bash bug, cutely named as “shellshock”. I’ll just use this post as a dumping ground for links I have quickly collected. But some explanation first.

Bash is a shell, or command line interpreter, used by various Unix-derived or (in case of Linux) clone operating systems. It is included not only in various GNU/Linux distributions, such as Red Hat, Ubuntu or Debian, but also in a more mainstream operating system: Mac OS X. There is a bug in Bash that enable attackers to execute commands remotely, and potentially enable them to do naughty things.

As far as I know, usual PC systems are largely not affected. Most PCs use Windows, which doesn’t use Bash, thus not vulnerable to this bug. Even personal machines that use Linux or Mac OS X usually doesn’t enable remote service that can be used by attackers to exploit this bug.

The systems affected will be mainly servers. Although Windows rules personal computers, a very large portion of servers run Linux or some version of Unix. Most web servers, in fact, runs on Unixes (with Apache or Ngix). So even though your own system may not be vulnerable, Internet as whole has a great problem.

On to the links. I may add new ones.

  1. Initial report from Akamai
  2. An overview of the bug from Troy Hunt (via Hacker News)
  3. Fedora Magazine explains how the vulnerability works
  4. Apple says most Mac OS X users won’t be affected, but you should update anyway when a patch is released.
  5. The initial patch doesn’t really eradicate the problem. And there may be more bugs lurking.
  6. The bug is quickly exploited
  7. Oracle products (other than obvious one like Solaris and Oracle Linux) are affected as well.
  8. Good explanation about several techniques that can be used to exploit this vulnerability.