Tuesday, July 19, 2016

Go Programming Language

Ada hal yang menarik dari Go programming language, yaitu adanya fitur cross compilation. Yaitu kita bisa membuat executable file yang dihasilkan untuk dijalankan pada platform (OS) yang berbeda. 

Sebagai contoh kasus, kita melakukan pengembangan sebuah aplikasi di Linux. Setelah berhasil, maka bila kita ingin menjalankannya di Windows, maka yang perlu kita lakukan adalah sebagai berikut:

$ GOOS=windows go build hello.go

Maka output dari build ini adalah hello.exe dan bila kita cek, dengan perintah $ file hello.exe, maka akan muncul penjelasan sebagai berikut:

hello.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
Hal ini menunjukkan bahwa file hello.exe tersebut runnable di Windows. Bila kita coba jalankan di Linux, akan muncul error message berikut:

 -bash: ./hello.exe: cannot execute binary file: Exec format error

Hal yang menarik lagi adalah bahwa untuk menjalankan file hello.exe tersebut, kita tidak perlu menginstal Go di Windows yang kita tuju. Tidak seperti Java yang mensyaratkan untuk menginstall Java Runtime Environment (JRE) pada Windows tujuan. 

Inilah cara yang cerdik dari para pengembang bahasa Go tersebut. It's a cool thing. 



Friday, July 15, 2016

Konfigurasi Keymap di Emacs

Konfigurasi utf-8 sudah berjalan dengan baik, di lingkungan GUI. Adapun di lingkungan text mode (console), diperlukan beberapa konfigurasi berikut:
 

a. Pastikan saat instalasi kita meng-enable utf-8 tersebut. Untuk memastikannya bisa kita lihat di /etc/lilo.conf berikut:
append=" vt.default_utf8=1"
 

b. Mengubah LANG=en_US dengan LANG=en_US.UTF-8, yaitu pada file /etc/profile.d/lang.sh. Yaitu dengan cara menambah komentar # pada baris:
#export LANG=en_US
dan hilangkan tanda komentar # pada dua baris berikut:
export LANG=C
export LANG=en_US.UTF-8
 

c. Tambahkan kode berikut pada /etc/rc.d/rc.local
loadkeys us.map.gz


Dengan demikian, maka semua key dan variasinya seperti M->, M-! pada lingkungan console bisa berfungsi dengan baik. Dan tampilan kode unicode, akan muncul huruf yang proper.

Slackware 14.2

Setelah cukup lama ditunggu sejak versi beta sampai dirilis resmi pada akhir Juni 2016, maka berakhir sudah waktu menunggu itu. Dan berikut adalah beberapa improvement yang ada pada versi 14.2 kali ini.

0. Instalasi
Hanya dua hal yang saya rasakan, yaitu improvement cfdisk saat melakukan partisi hard disk, yang lebih intuitif. Yang lain adalah adanya pertanyaan mau di reboot sekarang atau nanti, dimana pada versi sebelumnya, kita diminta untuk melakukannya dengan cara Ctrl-Alt-Del sendiri. Adapun semua proses instalasi tidak banyak perubahan dengan versi sebelumnya. Tetap menggunakan text mode.

1. Tidak Menggunakan systemd
Merupakan khabar baik, karena pada versi 14.2 ini, tidak diadopsi. Mengingat systemd menimbulkan kontroversi diantara para pengguna.

2. Emacs

Ada tambahan theme leuven yang ditambahkan. Menurut saya ini adalah theme light yang cool dan secara default sudah ditambahkan pada Emacs. Good improvement.

3. Fonts
Ada tambahan font yang memberi impresi OS Linux, yaitu Linux Libertine dan Linux Biolinum, yang ditambahkan secara default. Adapun tambahan webcore-fonts menurut saya tetap perlu ditambahkan agar tampilan font di aplikasi dokumen bisa konsisten dengan kolega yang mungkin masih menggunakan OS non-Linux, serta memperkaya font seperti Cambria, Calibri, Verdana pada aplikasi Libre Office.

Demikian.

Thursday, July 14, 2016

Paket Dependensi Okular di Slackware 14.2

Untuk Slackware 14.2 kali ini, yang menggunakan KDE Platform 4.14.21, berikut adalah daftar 15 paket dependensi aplikasi Okular pdf reader:
  1. kactivities
  2. kde-runtime
  3. kdelibs
  4. kdepimlibs
  5. libkdcraw
  6. libkexiv2
  7. libkipi
  8. libkomparediff2
  9. libksane
  10. libkscreen
  11. libmm-qt
  12. libnm-qt
  13. okular
  14. oxygen-gtk2
  15. oxygen-icons

Bila tidak terpenuhi paket dependency-nya maka yang muncul adalah error message:
"Unable to find the Okular component."

Demikian.

Thursday, May 12, 2016

Mengganti Wallpaper di Blackbox Window Manager

Secara default, blackbox window manager menawarkan styles: Blue, Gray, Green, Purple dan Red. Apabila kita bosan dengan wallpaper warna solid yang ditawarkan, maka berikut adalah cara bagaimana mengganti wallpaper color tersebut dengan gambar yang kita suka sebagai wallpapernya.

Perlu diketahui bahwa lokasi styles tersebut tersimpan pada direktori: /usr/share/blackbox/styles/

Langkah pertama adalah mencopy salah satu styles tersebut, sebagai contoh ketik:
# cp Purple Chelsea
Setelah itu, editlah file Chelsea tersebut:
# emacs Chelsea
Kemudian cari perintah berikut:
rootCoomand: bsetroot -solid rgb:77/aa/77
Gantilah menjadi:
rootCommand: bsetbg /home/purnomo/Pictures/danau.jpg
Lalu simpan perubahan tersebut.

Kemudian kita jalankan blackbox dengan perintah: $ startx. Maka akan muncullah wallpaper danau.jpg tersebut.

Demikian.

Monday, May 09, 2016

Window Manager Openbox

Untuk mengakses aplikasi berbasis GUI di Linux, selama ini saya selalu
mengandalkan dekstop environment. Setelah puas dengan Gnome dan XFCE,
maka sekarang saatnya kita mengeksplorasi Window Manager, bukan
Desktop Environment. Window Manager adalah program yang memanage
Window saat kita menggunakan aplikasi berbasis GUI.

Teman saya yang memberi statement bahwa icons itu tidak ada gunanya,
ia sudah lama menggunakan Window Manager blackbox. Pada awalnya, saya
coba menggunakan blackbox, akan tetapi ada kebingungan. Karena tombol
Alt-Tab tidak berfungsi untuk switch aplikasi. Rupanya, kita perlu
tambahkan bbkeys, agar tombol Alt-Tab bisa digunakan untuk switch
aplikasi yang ada.

Dan lagi, blackbox versi terakhir yaitu versi 0.70.1 dirilis tahun
2005. Alias sudah 11 tahun berselang. Akhirnya saya ketemu dengan
Openbox, yang rupanya dikembangkan dari Blackbox. Dan ini memberi
tawaran yang berbeda dengan Blackbox dengan tampilan panel yang simple
dibawah. Openbox menawarkan tampilan blank wallpaper dan hanya dengan
klik kanan mouse, maka menunya akan tampil.

Jadi bila kita memaksimalkan window yang sedang kita gunakan, ia akan
benar-benar full. Jadi panel itu tidak penting. Dan lebih hebatnya
openbox bisa bekerja sama dengan aplikasi lain seperti KDE, GNome atau
XFCE yang menyediakan panel. Jadi kita bisa menggunakan panel dari
xfce. Dengan cara memanggilnya dari command prompt: $
xfce4-panel. Maka panel xfce akan muncul. Dan semua pengaturannya kita
ikuti aturan main xfce.

Adapun untuk pengelolaan wallpaper, biasanya kita gunakan aplikasi
feh. Jadi kita perlu install itu untuk mengelola wallpaper yang kita
suka. Kemudian untuk mempercantik tampilan desktop, kita bisa
menggunakan monitoring aplikasi seperti conky, dan tema conky yang
saya suka adalah gotham, yang menampilkan tanggal, jam dan sistem
informasi cpu usage di wallpaper.

Bila kita lebih mementingkan performa sistem agar lebih cepat, maka
conky bisa kita hapuskan.

Ada hal yang perlu kita lakukan lagi, adalah untuk memanage semua
aplikasi yang ada, kita bisa lakukan secara otomatis dengan tools
menumaker atau mmaker. Yaitu dengan cara $ mmaker -f OpenBox3, maka ia
akan mengatur semua aplikasi yang ada pada komputer kita kedalam menu
yang baru. Dan outputnya berupa file .config/openbox/menu.xml.

Maka sistem kita akan bisa menjalankan GUI, cukup dengan window
manager + wallpaper manager feh dan menumaker mmaker. Dan kita akan
mendapatkan performa sistem yang lebih baik. Jauh lebih responsif
ketimbang bila kita menggunakan desktop environment seperti Gnome, KDE
atau XFCE sekalipun.

Silakan mencoba.

Untuk mengkostumisasi openbox, bisa diikuti dari website ini:
http://www.devdungeon.com/content/customizing-openbox-window-manager-arch-linux

Semoga bermanfaat.

Slackware Yang Simple

"Simple is beautiful" kelihatannya adalah terminologi yang cocok
disematkan kepada Slackware, yang memang memegang teguh tradisi
Unix. Karena kita tidak akan menemukan kerumitan seperti halnya pada
openSUSE, sebagai contoh, bila kita ingin membaca manual dari sebuah
command, misalnya $ man passwd

Maka pada openSUSE kita akan ditanyakan, mau melihat man(1) atau
man(1p) ? Karena yang man(1p) itu erat kaitannya dengan
pemrograman. Sementara man(1) itu adalah berkaitan dengan normal
user.

Hal itu tidak akan kita temukan pada Slackware. Jadi begitu kita
mengetikkan $ man passwd, maka langsung muncul manual passwd
tersebut.

Yang lain, adalah sewaktu kita melakukan scroll layar dengan tombol Pg
Down, maka di Slackware akan tergulir full 1 layar. Beda dengan
openSUSE yang hanya akan bergulir setengah layar.

Bila kita ingin membuat sleep komputer kita, pada openSUSE kita perlu
ketik # systemctl suspend, sementara di Slackware cukup ketik #
pm-suspend.

Karena memang semua init system di openSUSE menggunakan systemd, itu
membuat semuanya menjadi rumit dan kompleks. Tidak menjadikannya
sebagai sebuah tool yang sederhana dan mengerjakannya secara tuntas.

Oleh karena itu, sekarang ada gerakan no-systemd. Dimana pengguna
Debian lalu membuat forking dengan membuat cabang distro Debian tanpa
systemd, yaitu Devuan.

Untung Slackware sampai versi 14.1 dan versi 14.2 RC 2 tetap teguh
untuk tidak mengadopsi systemd. Semoga kedepan tetap berpegang pada
tradisi Unix yang portable, simple dan to the point.

Thursday, April 07, 2016

Visual Studio Code Untuk Belajar Python, C, C++ dan C#

Setelah mencari IDE (Integrated Development Environment) apa yang terbaik untuk mendevelop Python, Akhirnya saya mendapatkan pencerahan setelah menemukan Visual Studio Code. Rupanya ada perbedaan antara IDE dengan Editor. Bila Editor adalah semacam text editor saja, seperti notepad++, Emacs, vim, maka IDE adalah editor + compiler.

Oleh karena itu, maka IDE biasanya lebih berat dalam hal performance. Karena memang membundle editor + compilernya. Secara default, Visual Studio Code didesain bagi pengembang aplikasi web, yang meliputi html, css, java script, type script. Jadi untuk mendevelop bahasa pemrograman seperti Python, perlu sedikit cara agar bisa digunakan juga sebagai compiler.



Setting Python


Tekan F1, lalu ketik Task: Configure Taks Runner. Kemudian gantilah "command" : "python.sh", "isShellCommand" : true, "showOutput" : "always", "args" : ["{$file}"]
Itu artinya bila kita menjalankan task runner (run build Task), maka compiler yang digunakan adalah shell script python.sh. Jadi program python yang sudah dibuat, bisa dibuild dan run dengan cara menggunakan shortcut Run Build Task ini yaitu (Ctrl-Shift-B).

Adapun source code shell script /usr/bin/python.sh adalah sbb:

#!/bin/bash
xfce4-terminal --hold --geometry 80x20 --hide-menubar --command="python3 $1"

Bila Anda menggunakan python 2, maka ganti "python3 $1" menjadi "python $1".



Setting C, C++ dan C#


Untuk mendevelop bahasa C, C++ atau C#, kita perlu mengganti "command" : "python.sh" dengan satu shell script khusus. Misalnya kita menggunakan compiler clang, maka shell script yang diperlukan adalah:

script c.sh :

#!/bin/bash
clang $1
xfce4-terminal --hold --geometry 80x20 --hide-menubar --command="./a.out"

Lalu simpan file c.sh ini ke folder: /usr/bin. Kemudian gantilah "command" : "python" menjadi "command" : "c.sh". Maka Run Build Task akan mengkompilasi source code C dan menjalankannya.

Adapun, berikut adalah shell script untuk C++ dan C#.

Script untuk C++: simpan dalam file /usr/bin/cpp.sh

#!/bin/bash
clang++ $1
xfce4-terminal --hold --geometry 80x20 --hide-menubar --command="./a.out"

Scipt untuk C#: simpan dalam file /usr/bin/cs.sh

#!/bin/bash
mcs $1 -out:hasil
xfce4-terminal --hold --geometry 90x20 --hide-menubar --command="mono hasil"

Dengan catatan bahwa shell yang digunakan dalam hal ini adalah xfce4-terminal.



Komentar


Visual Studio Code ini memiliki performance yang lebih ringan dan responsif daripada Eclipse atau Atom.

Demikian, semoga bermanfaat.

Thursday, February 04, 2016

Mengeksplorasi Desktop Environment Dengan Open SUSE

Bila Anda termasuk orang yang suka mengeksplorasi desktop environment, maka distro yang enak untuk itu adalah Open SUSE. Karena dengan beberapa jenis desktop environment bisa kita install pada distro ini tanpa mengalami gangguan.
Secara oficial, open SUSE menawarkan desktop environment KDE, Gnome, XFCE, Mate. Akan tetapi kita juga bisa menambahkan desktop environment lain seperti yang ditawarkan distro Solus dengan desktop environment budgie-desktop.
Bila ingin mengeksplorasi desktop environment budgie-desktop, bisa dilakukan dengan cara menginstallnya dari software open suse, tinggal masukkan kata kunci budgie-desktop, maka kita bisa install dengan metode 1-click install.
Begitu juga bila kita ingin mencicipi desktop environtment Cinnamon. Hal itu bisa kita coba dari software.opensuse.org.
Ini adalah kelebihan lain dari Open SUSE yang bisa memberi kesempatan kita untuk mengeksplorasi desktop environment yang lain. Tanpa perlu mendownload file iso dari distro lain.
Selamat bereksplorasi !