Monday, November 04, 2019

You Can Still Contribute to Open Source Projects!

Lately my contribution to open source projects seems lacking. No more time to rekindle my passion on coding. Even my translation efforts suffers. Fortunately for GNOME translation into Indonesian, Kukuh Syafaat has been taking great effort to keep translation percentage 100%. Very big kudos to him!

So when we have a big GNOME event in Gresik, GNOME Asia Summit 2019 on October 11th-13th, I tried to submit paper. I don't have any GNOME specific ideas though :(.

Later, organizing committe also asked me to lead a workshop session, on GNOME translation. So I went to Gresik with two task: GNOME translation workshop on October 11th, and Using Open Sorce to Manage Asian Games IT Security on October 12th.

Interest on open source translation in Indonesia have been difficult to build and maintain. So I have very little expectation on GNOME translation workshop attendees. But aside of not-so-popular Indonesian translation activities, we have a guest from Malaysia who was very interested to revamp Malaysian translation of GNOME. I explained in my workshop session about how to use translation memory to speed up processing of new files. We tried to expand this idea to help cross language translation, since Indonesian and Malaysian have very similar words. So we take fully translated PO files from Indonesian GNOME, feed to PO editor to fill up its translation memory, then try to pretranslate Malaysian ones. Failed. Troubshoot. Problem: those translation memory entries were only usable to the same target language. Well, time to do quick hack. We edit manually language code on source PO files, replacing 'id' with 'my'. Re-feed to PO editor. Try pre-translate again. And success!

It was a very happy moment and quite rare occasion when we can help other translation team effort. Hopefully Malaysian team can quickly reach magic percentage of 80% to be one of officialy supported GNOME languages.


The next day, I present my experience in using various open source application in Asian Games 2018. Ubuntu, Cacti, Nagios, OpenVPN, Snort, .... They were very helpfull, especially when we have very constrained budget, near event execution date. Thankfully, those tools were very helpful for us to manage system availability and overall security.

Presentation on that second day was attended by many, very different to the 'private' workshop class :D


And last but not least, thanks to GNOME Foundation which support me with travel sponsorship!

Hopefully my presentation can share the open source spirits to those attendees, to be a future users and contributors.

Monday, July 09, 2018

Sangat Mudah Mengurus Perpanjangan SIM di Jakarta

Awal Juli, saya perlu memperpanjang SIM A. Karena kesibukan yang cukup tinggi di Jakarta, kesempatan untuk balik ke Bandung guna menyelesaikan perpanjangan SIM ini sangat terbatas. Hasil cari info sana-sini, ada lokasi yang sangat menjanjikan: Mall Pelayanan Publik DKI, di Jalan HR Rasuna Said Kav 22. Patokan menuju lokasi ini: Jalan Episentrum Selatan, di belakang Hotel Luwansa.


Anda bisa memperpanjang SIM A atau C yang diterbitkan di luar DKI. Hanya perlu membawa E-KTP dan SIM asli, serta satu fotokopi dari kedua surat tersebut. Tidak ada antrian saat saya hadir Senin pagi pukul 9 di Mall Pelayanan Publik lantai 3.

Saya belum bisa bercerita rinci tentang berapa lama proses dan berapa besar biaya, karena ternyata SIM saya habis masa berlaku di tahun 2019. Permohonan perpanjangan SIM saya ditolak karena terlalu dini setahun :( 

Sunday, May 06, 2018

Bionic and LXC

This brand new Ubuntu LTS 18.04 surely had given me a big surprise. Major syntax change for LXC, because of upgrade from LXC v2 to v3. All my LXC VMs can't be started after this upgrade.Searching documentation about config syntax change was difficult. So I have resorted to reverse engineering: install new LXC VM, then compare its config to v2. Result is documented here.

Still need more info to run unprivileged LXC container.

Update: use lxc-update-config to migrate configuration files.

Friday, March 30, 2018

Konferensi Lagi

23 Maret kemarin, saya mengisi acara workshop LibreOffice di PENS, Surabaya. Sebenarnya saat mengisi CFP, saya hanya mengusulkan topik yang menjadi sesi ke-2 workshop, yaitu kurang lebih menguji dan memperbaiki terjemahan, yang saya pikir cukup untuk mengisi satu sesi sekitar 60 menit. Tapi ternyata panitia menodong dan memperluas usulan CFP menjadi workshop sehari penuh. Apa boleh buat. Sudah lama tidak ngoceh di depan kelas :D

Kebetulan saya sering mem-build LibreOffice sekedar untuk menguji terjemahan UI. Tapi seringkali malah jadi iseng build tanpa sempat uji terjemahan, atau hanya menerjemahkan tanpa sempat menguji dengan menjalankan dan memeriksa tampilan secara visual. Berhubung sesi-1 workshop bertema mem-build LibreOffice, maka saya perlu menyiapkan lingkungan build yang dapat dipakai oleh semua peserta. Dihitung-hitung, kok VM build saya berukuran lebih dari 40 GB. Cukup berat untuk mengangkut 40 GB dan menyalin ke 30 PC peserta. Percobaan perampingan template build bisa menghasilkan image 10 GB. Lebih manusiawi untuk disedot dan disebarkan. Ada panitia lokal yang membantu saya menyedot image dan mencoba memasang pada mesin para peserta. VM sukses dijalankan. Saya pikir pekerjaan persiapan di sana beres. Tinggal menyelesaikan materi presentasi/panduan workshop. Tengah malam sebelum workshop akhirnya materi bisa beres, karena beberapa jam agak sore habis untuk makan-ngobrol-kopdar-curhat-foto-dsb bareng panitia.


Jumat pagi workshop dimulai. Mayoritas PC bisa menjalankan VM templat. Beberapa mesin bermasalah, tapi bisa dilupakan sejenak. Peserta yang mesinnya bermasalah terpaksa berbagi pakai dengan tetangganya. Tapi ternyata ketika proses build dicoba dijalankan, dan memerlukan mengunduh, akses internet yang mesti melalui proksi tidak berlangsung mulus. Saya saat itu tidak terpikir untuk mencoba mendefinisikan variabel lingkungan yang menggiring akses melalui proksi. Setelah mengeskalasi masalah, dilanjutkan dengan rekonfigurasi jaringan melalui jalur yang tidak perlu memakai proksi, pengunduhan lancar. Build dapat dilanjutkan.

Tentu saja muncul masalah-masalah lain. Misalnya, ada peserta yang terlanjur memakai user root saat mengeksekusi perintah build. Ketika kembali ke user normal, build gagal. Ini adalah tantangan mengajar, mesti berpikir cepat mengatasi masalah. Saat build sendiri, masalah ini tidak pernah muncul. Solusinya cukup berupa [1]:
$ find . -uid 0 -exec sudo chown 1000 {} \;
Masalah lain yang muncul adalah ketidakselarasan jam VM guest dengan host. Tidak sempat saya telusuri kenapa jam jadi maju, sehingga proses build loop, tidak pernah mencapai fase link. Hantam saja dengan perintah:
$ touch abcd; find . -newer abcd -exec touch {} \;
Beres. Waktu untuk sesi 1 habis. Break. Build yang masih berlangsung dibiarkan dengan harapan seusai istirahat telah komplit. Dan harapan ini terkabul, mayoritas build sukses saat kami kembali dari jeda untuk memulai sesi 2.

Saya senang melihat para peserta yang bersemangat mencoba build. Semoga setelah ini tetap mencoba build di tempat masing-masing, dan barangkali scratching-their-own-itch dan berlanjut dengan kontribusi patch/kode ke LibreOffice.


Catatan:
1. hati-hati menjalankan perintah ini. Mesti dilakukan di direktori build. Bila dijalankan di / atau direktori lain, bisa membuat seluruh sistem tidak berjalan normal.

Sunday, June 14, 2015

Quickly Turns On/Off SOCKS Proxy for MacOS X

#!/bin/bash

case "$1" in
  'on'|'off')
    networksetup -setsocksfirewallproxystate Wi-Fi $1
    networksetup -setsocksfirewallproxystate Ethernet $1
    ;;
  *)
    echo "Usage: sudo $0 on|off"
    exit
    ;;
esac

networksetup -getsocksfirewallproxy Wi-Fi
networksetup -getsocksfirewallproxy Ethernet

Thursday, April 18, 2013

Instalasi Linux pada Asus X45U - bagian kedua

Cara mudah memasang Linux yang perangkat jaringannya tak dikenali oleh installer adalah dengan memakai bantuan Ethernet USB yang chipsetnya sudah dikenal oleh kernel lama. Installer Debian 6 yang semula saya pakai memiliki kernel 2.6.32. Setelah memasang versi minimum OS di notebook ini, proses dilanjutkan dengan upgrade OS dari squeeze (Debian 6) ke wheezy (Debian 7). Wheezy memakai kernel 3.2.0.

Setelah wheezy terpasang, reboot, maka ethernet onboard langsung dikenali. Posting selanjutnya akan membahas tentang setup VGA, sound, WiFi, dan berbagai periferal lain di notebook Asus X45U.

Instalasi Linux pada Notebook Asus X45U - bagian pertama

Hari ini berkesempatan ngoprek notebook Asus X45U. Notebook datang dengan OS FreeDOS. Langsung dicoba pasang Linux saja. Coba boot pakai Ubuntu Lucid yang sudah terpasang di USB flash disk. Kok gagal? Bagaimana cara masuk ke menu BIOS? Ternyata cukup dengan menekan F2. Coba lagi diperiksa kenapa tidak bisa boot ke flash disk. Tidak ditemukan masalahnya dimana.

Pindah boot via CD. Debian 6.0. Sukses boot setelah urutan boot diubah paksa. Installer gagal mengenali Ethernet maupun WiFi :(

01:00.0 Network controller [0280] RaLink Device [1814:5390]
02:00.0 Ethernet controller [0200] Atheros Communication Device [1969:1091] (rev 10)
Mesti cari tahu installer Ubuntu/Debian/... mana yang sudah mendukung salah satu dari dua perangkat jaringan di atas, agar instalasi dapat dilanjutkan via jaringan.