All posts by Zaki Akhmad

Membantu Peneliti Lewat Software Carpentry

A simple sign in a tutorial class: post it. Put post it at your laptop which means you're having trouble and helpers will come to help.

Pada bulan September lalu, saya menyempatkan diri datang ke Python Bootcamp dari http://software-carpentry.org/ di University of Melbourne. Saya ingin tahu secara langsung, apa yang orang-orang software carpentry lakukan. Saya tahu soal software carpentry saat menghadiri PyCon APAC 2014 di Taipei, Taiwan. Jadi pendek kata, saya sendiri belum terlalu mahir dengan apa yang diajarkan di software carpentry ini.

Mayoritas peserta bootcamp ini adalah para peneliti. Entah apakah Master students, PhD students, atau mereka yang bekerja di institusi penelitian. Salah seorang TA (teaching assistant) yang saya tahu bekerja di VLSCI (Victorian Life Sciences Computation Initiative). Damien Irving sebagai instruktur, merupakan seorang PhD candidate di Unimelb.

Saya memiliki ketertarikan bagaimana menganalisis data. Sayangnya saya belum ada waktu untuk latihan menganalisis data. Hehehe…

Pada bootcamp Python ini disimulasikan format data berupa csv. Lalu bagaimana scripting menggunakan Python dilakukan untuk membantu mengolah data. Dengan scripting, data yang berjumlah banyak bisa diotomasi sehingga bisa diproses lebih cepat. Termasuk juga bagaimana memvisualisasikan data sehingga bisa lebih cepat dimengerti.

Apakah di Indonesia ada yang tertarik memulai komunitas software carpentry? Sayangnya saya sudah tidak lagi di dalam dunia kampus.

Helping the researchers at software carpentry bootcamp.

Menarasikan Grafik Menggunakan Wordgraph

Kemarin sore, saya datang ke kopi darat komunitas Python di Melbourne. Entah ini kebetulan atau tidak. Saya melewatkan stasiun Richmond saat berangkat, padahal seharusnya saya turun di stasiun ini. Akibatnya saya harus berputar dulu mengikuti kereta di jalur City Loop.

Saat kembali menuju Stasiun Richmond, saya menjumpai seorang penumpang yang dipandu oleh seekor anjing. Ternyata orang ini buta. Ia berjalan dipandu oleh seekor anjing. Saya lihat anjing ini diberi kalung. Pada kalung ini tertera nama dan nomor telepon. Barangkali nomor yang bisa dihubungi dalam keadaan darurat.

Karena salah turun, saya jadi terlambat datang.

Pada kopi darat kali ini dibawakan materi bagaimana menarasikan grafik. Jadi ide dasarnya adalah aksesibilitas untuk semua. Termasuk mereka yang buta dan ingin mengakses web yang dilengkapi grafik. Itulah tujuan utama aplikasi ini.

Teennessee Leeuwenburg menceritakan proyek wordgraph. Di awal presentasi ia menunjukkan grafik, lalu berikutnya ia memutar suara bagaimana grafik ini dinarasikan.

Proyek yang menarik!

Rilis Video DebConf14

Komunitas Debian baru saja usai dengan debconf14. Tim video sudah merilis video konferensi ini. Wow, bananastastic!.

Saya jadi teringat, bagaimana saya berusaha membuat rekaman video kopdar Python Indonesia dengan segala keterbatasan sumber daya yang ada. Salut lah untuk tim video debconf14.

Di Indonesia sebenarnya saya lihat banyak pengguna Debian. Teman-teman di UI/ITB, misalnya. Namun belakangan dengan munculnya Ubuntu, saya kira generasi muda di Indonesia rasanya jadi lebih banyak yang menggunakan Ubuntu. Err tapi setahu saya sekarang teman-teman Blankon menggunakan Debian sebagai sistem base.

Selamat menonton! Bagi yang sudah menonton, tulisan resensi video akan berguna.

Apa Kabar Perpustakaan Pusat ITB?

Apa kabar Perpustakaan Pusat ITB?

Kurang lebih 10 tahun lalu, di depan Gedung PAU ITB, terdapat gedung yang diberi julukan gedung kamar mandi. Julukan ini datang dari material keramik yang menyelimuti gedung ini mirip dengan keramik yang digunakan di kamar mandi.

Saat saya terakhir melihat Gedung Perpustakaan Pusat ITB, gedung ini direnovasi dengan diberi “selimut baru” layaknya gedung-gedung anyar. Lalu, di media sosial, saya lihat Perpustakaan Pusat ITB mulai berbenah dengan penambahan fasilitas baru. Yang saya ingat adalah American Corner. Lalu komputer Macintosh Apple.

Adalah Perpustakaan Pusat ITB yang “mengajarkan” saya akan Dewey Decimal Classification. Lalu etika bagaimana meletakkan buku saat kita mengambilnya dari rak. Awalnya saya kira merupakan hal tidak sopan saat kita mengambil buku dari rak lalu menggeletakkan begitu saja di meja. Ternyata tindakan ini merupakan tindakan yang benar. Akan lebih sulit bagi pustakawan untuk menemukan buku yang salah taruh di lemari daripada mengembalikan buku ke rak yang benar dari meja.

Usai meninggalkan Bandung, di Jakarta saya menemukan Perpustakaan Diknas. Yang saya tahu perpustakaan diknas ini merupakan hibah koleksi perpustakaan British Council. Perpustakaan Diknas hadir di tengah kota Jakarta dengan interior yang menawan. Satu oase segar bagi kehidupan yang pelik di Ibukota.

Perpustakaan Diknas “mengajarkan” saya bagaimana menjadi anggota perpustakaan. Satu sistem yang sama, dengan perpustakaan publik Monash. Bagi mereka yang ingin menjadi anggota, perlu menuliskan alamat surat yang jelas, untuk nanti dikirimkan surat dari perpustakaan.

Saya tahu, budaya lisan memang lebih dominan di Indonesia. Namun tak ada salahnya kita mulai mengurangi budaya mengobrol, dan mencoba lebih aktif dengan membaca/menulis. Karena perbedaan zaman prasejarah dengan sejarah ditandai dengan tulisan. Bukan dengan budaya lisan.

PS: Foto di atas merupakan pemandangan dari salah satu perpustakaan publik Monash, persisnya di Wheelers Hill. Siapa yang tidak akan betah membaca dengan pemandangan seperti itu?

Donasi untuk Komunitas Python Indonesia

Akhirnya, setelah sekian lama, kini komunitas Python Indonesia menerima donasi!

Ide ini sudah lama dilontarkan namun baru bisa dieksekusi baru-baru ini. Wow, ternyata jalan dari ide untuk dieksekusi begitu panjang.

Donasi ini pun masih menggunakan rekening a/n pribadi. Belum atas nama organisasi. Yang saya tahu, jika ingin membuka rekening atas nama organisasi maka organisasi harus berbadan hukum. Dan … jalan menuju organisasi berbadan hukum juga masih panjang.

Satu organisasi komunitas di Indonesia yang sudah berbadan hukum yang saya tahu adalah Wikimedia Indonesia. Saya sendiri menjadi menjadi anggota Wikimedia Indonesia. Tapi sayangnya energi saya sudah habis untuk bisa aktif dalam Wikimedia Indonesia. Ingin sekali datang, minimal datang ke RUA, tapi sudah tak ada waktu lagi 😐

Sebenarnya, selama ini “donasi” sudah ada. Mulai dari perusahaan yang menyediakan tempat (dan makanan!) untuk kopdar. Lalu para pembicara-pembicara yang bersedia berbagi ilmu. Dan tentu termasuk mereka yang datang dan meluangkan waktu. Dalam kopdar Agustus 2014 nanti, teman-teman malah berencana mengadakan codesprint proyek members.

Semoga langkah donasi ini bisa menjadi satu dari seribu langkah untuk kontribusi komunitas F/OSS di Indonesia.

Blog Pemrograman

Pagi ini saya membaca tulisan yang menurut saya sangat bagus. Tulisan A. Jesse Jiryu Davis, Write an Excellent Programming Blog. Saya sempat bertemu dengan Jesse dalam PyCon APAC 2014, walau saya tak sempat bercakap-cakap langsung dengannya.

Saya kutip bebas bagian-bagian yang saya suka:

I want you to write. Not just code. Also words.

Thinking by writing.

Dari pengalaman saya menjadi maintainer planpin selama ini, sungguh sulit mendapatkan penulis yang bisa konsisten menulis. OK, tidak mulai dari kualitas, tapi kuantitas dulu saja. Kualitas bisa dibangun dengan kuantitas yang terus menerus ditingkatkan.

Memang, sifat tulisan ini bukanlah sesuatu yang dibayar. Bukan seperti menulis di kolom koran. Tapi bukankah menulis itu jadi satu bagian penting dalam komunitas open source? Bagaimana ide/gagasan disebarkan, bagaimana diskusi dilakukan, dan bagaimana koordinasi dilakukan.

Saya pun sadar, saya masih harus belajar menulis (dan juga membaca!) kode dengan lebih baik.

HP Untuk Orang Tua

Saat ini orang tua saya mengalami kesulitan untuk membaca tulisan pada HP-nya. Orang tua saya menggunakan HP Nokia, dengan keypad ABC DEF GHI (yang perlu diketik sekian kali untuk mendapatkan huruf tertentu) bukan tipe layar sentuh. Tulisan pada HP ini sudah terlalu kecil untuk mata orang tua saya.

Sayagnya, saya kesulitan mencari HP yang cocok untuk orang tua saya. Saat saya coba besarkan tulisan pada iPhone, orang tua saya dapat membaca dengan jelas. Sayangnya iPhone menggunakan keyboard QWERTY dan layar sentuh. Perubahan ini tentu bukan suatu hal mudah yang dapat dihadapi oleh orang tua saya.

Saya mencari HP dengan spesifikasi:

  • Tulisan besar
  • Keyboard ABC DEF GHI
  • Bukan layar sentuh

Masih ada tidak ya HP dengan spesifikasi ini? Atau apakah ada rekomendasi tipe dan merk HP yang cocok untuk mata orang tua?

PS: Oh ya, foto di atas adalah foto makanan Bulu Babi. Seumur-umur baru sekali saya lihat dan makan Bulu Babi. Foto ini saya gunakan sebagai ilustasi HP saja. Judul foto di atas adalah Photoception.

Review Pelaksanaan Workshop Python QGIS #qgisjk

Pada hari Sabtu (7 Juni 2014) lalu, saya berkesempatan mengikuti workshop Python QGIS. Acara ini menggunakan tagar #qgisjk. Tulisan saya kali ini akan mereview dari sisi pelaksanaan workshop, bukan isi materi workshop. Untuk review isi materi workshop bisa baca tulisan saya di sini.

  1. Waktu Pemberitahuan
  2. Saya baru dikabari oleh Akbar Gumbira (@akbargumbira) akan acara ini pada hari Selasa 3 Juni. Berarti ini sudah H-4. Waktunya sangat mepet (bagi saya) untuk pemberitahuan. Lalu segera saya bantu sebarkan informasi workshop ini.

  3. Informasi Acara
  4. Tidak ada run down acara. Nanti akan saya jelaskan kenapa. Awalnya tidak ada informasi transportasi publik dan parkir kendaraan, lalu belakangan dilengkapi.

  5. Persiapan Sebelum Acara
  6. Di hari Jum’at (H-1) saya menerima email dari eventbrite (workshop ini menggunakan layanan eventbrite untuk mengelola acara) bahwa peserta diminta untuk meng-install lebih dulu QGIS 2.2 Valmiera dan pycharm. Instruksi ini menurut saya bagus, sehingga peserta bisa menyiapkan lebih dulu dan pada pelaksanaan workshop bisa menghemat waktu instalasi.

    Peserta workshop tidak dibatasi harus menggunakan sistem operasi tertentu. Bebas, boleh Windows, GNU/Linux atau Mac. Dengan cara seperti ini, peserta bisa lebih banyak yang datang. Yang sulitnya adalah dari sisi instruktur, berarti harus menguasai ketiga sistem operasi tersebut.

    Oh ya syaratnya hanya satu. Peserta diharapkan membawa laptop sendiri. BYOL (Bring Your Own Laptop).

  7. Pelaksanaan Acara
  8. Acara dimulai tepat waktu, ok mungkin meleset 3-5 menit karena untuk masuk ruangan harus rombongan. Tidak ada sesi sambutan. Tim Sutton langsung membuka acara, dengan memperkenalkan diri. Diikuti oleh Martin Dobias. Saya merekam video perkenalan mereka di sini.

    Tim mengungkapkan acara ini lebih bersifat unconference jadi tak terlalu kaku dan terencana di awal. Lebih fleksibel.

    Acara dibagi dalam 2 sesi. Sesi 1 pagi – makan siang diisi dengan perkenalan QGIS dan Python. Dunia GIS (dan QGIS) adalah hal yang benar-benar baru bagi saya. Saya tak memiliki background sama sekali dalam dunia GIS. Dalam pengumuman acara, untungnya tak dibatasi bahwa peserta diharuskan memiliki pengetahuan minimal dalam dunia GIS 😉

    Saya sekalian menguji kemampuan saya sendiri dalam mempelajari hal yang baru. Seberapa cepat saya bisa memahaminya. Satu quote bagus yang saya jumpai adalah:

    A densely populated area is vulnerable to disaster.

    Tim memperkenalkan QGIS plugin builder plugin buatannya. Ini merupakan plugin QGIS untuk membuat plugin. Kok rekursif? Jangan bingung ya. Lalu giliran Martin memperkenalkan Python console dalam QGIS. Martin memberikan demo hal apa saja yang bisa dilakukan dari Python console. Dimulai dengan hal sederhana seperti memunculkan layer dan menyembunyikannya lagi. Jadi konsepnya adalah plugin berisi script Python untuk membantu melakukan analisis terhadap data yang ada di QGIS. Itu yang saya tangkap.

    Di sela-sela acara, Tim menginterupsi acara. Tim bertanya kepada para peserta workshop apakah ingin makan siang di sini? Jika ya, maka nanti akan dipesankan. Silakan tuliskan lauk nasi padang. Dan jangan lupa siapkan uang Rp 28.000 Menurut saya cara bayar sendiri-sendiri ini bagus, peserta jadi ada rasa memiliki akan workshop.

    Karena tak ada pembatasan sistem operasi peserta, maka saat akan melakukan compile di Windows, Tim dan Martin membutuhkan 2-3 menit mencari tahu bagaimana melakukan compile di Windows. Compile diperlukan untuk membuat plugin yang dibuat bisa berjalan di QGIS.

    Di sesi kedua, setelah makan siang, Tim memutuskan untuk membagi ke dua grup. Grup pertama adalah mereka yang belum terbiasa dengan Python. Grup kedua adalah yang ingin membuat plugin QGIS menggunakan Python. Saya pilih grup yang kedua. Grup kedua dibantu oleh Martin. Dalam grup kedua ada kurang lebih 6-7 orang.

    Biarpun katakanlah saya sudah terbiasa dengan Python, tapi pengetahuan Python saya masih minim. Apalagi yang berkaitan dengan tampilan grafis.

    Martin membuka sesi kedua dengan bertanya, “Jadi kira-kira apakah kalian sudah ada ide untuk membuat plugin apa?”. Salah seorang peserta menjawab soal Voronoi. Wah, apa lagi ini? Saya baru tahu. Setelah saya baca-baca di Wikipedia, menarik juga permasalahan ini. Martin pun berpendapat sama. Namun menurut Martin plugin ini akan terlalu sulit jika dicoba sekarang.

    Jadilah Firman Hadi, salah seorang peserta di grup kedua, mengungkapkan ide untuk membuat plugin yang bisa menghitung jarak dari satu titik ke titik Poin of Interests (POI) di sekitarnya. Jarak terdekat bisa dihitung dengan rumus phytagoras sederhana.

    Satu kesulitan yang saya jumpai di awal adalah colokan listrik yang rusak. Power extension yang dimiliki ternyata rusak, jadi saya harus bergantian dengan teman-teman yang lain. Untungnya hanya satu power extension yang rusak, sehingga teman-teman yang lain tak ada kesulitan.

  9. Penggunaan Tagar
  10. Penggunaan tagar #qgisjk menurut saya sangat memudahkan dalam mengumpulkan informasi yang berserakan di mana-mana. Dengan memberikan label (atau tagar) informasi bisa lebih mudah dipilah. Mengapa hal sederhana ini tak pernah terpikirkan oleh saya sebelumnya ya?

Penutup. Workshop ini berjalan dengan baik. Dengan peserta 21 orang, dan instruktur hanya 2 orang (Tim dan Martin), semua berjalan dengan lancar. Biarpun mayoritas sistem operasi peserta workshop adalah Windows. Apa ini memang karena Tim dan Martin sudah benar-benar pakar dalam bidang QGIS dan Python(?) 😉 Saya sempat bertanya Martin, sudah berapa lama menjadi pengembang di QGIS? Ia jawab awalnya saat kuliah ia mencari proyek yang bisa di-hack, lalu sejak itulah ia menjadi pengembang dengan QGIS. Sudah 8 tahun!

Kesimpulan: tak ada jalan singkat menjadi hebat.

Update: Berikut ini adalah source code house finder plugin yang dibuat saat workshop dengan bantuan dari Martin.

Planet dari Para Peserta GSoC Python

Hari ini saya mengunjungi halaman awal planet python. Di kiri atas ternyata ada tautan ke Planet Python Summer of Code. Saya buka, wah bagus sekali isinya. Inilah yang saya cari.

Jadi planet ini berisi cerita para mahasiswa yang mengikuti GSoC, lebih spesifiknya dengan bahasa pemrograman Python. Beberapa waktu lalu, saya posting mengenai Python di GSoC 2014.

Dengan membaca blog ini, kita jadi tahu cerita bagaimana para peserta dalam mengikuti GSoC. Selama ini saya ingin mencari tahu, lebih detail, tentang kontribusi Python dalam GSoC. Planet ini minimal sudah membuka jalan.