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.