Tag Archives: python

Ke Konferensi Bahasa Pemrograman

Awal tahun ini saya beruntung, bisa mengikuti konferensi bahasa pemrograman Ruby Conference AU 2015. Konferensi ini merupakan konferensi bahasa pemrograman kedua yang saya ikuti setelah PyCon APAC 2014 lalu.

Saya sendiri, sebenarnya belum segitu pengalamannya dalam dunia program-memrogram. Tidak jago lah. Tak teruji. Programmer yang teruji kan programmer yang terbukti bisa memecahkan masalah yang ada.

Konferensi, pendek cerita, merupakan acara kumpul-kumpul besar para programmer.

Teman-teman dari komunitas Python Indonesia ada yang sempat bertanya, kapan Indonesia mengadakan PyCon? Saat itu jawaban saya, jalannya masih panjang. Saya sendiri masih lebih suka jika bisa konsisten mengadakan kopi darat alih-alih satu-dua hari konferensi lalu kegiatan berhenti.

Dan belum lama ini, teman-teman baru saja mengadakan kopi darat dengan tema Python 101.

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!

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.

Ke Konferensi Python Asia-Pasifik 2014

Di sela-sela waktu kosong yang tersedia, awal tahun lalu saya sempatkan menulis paper sebagai jawaban dari CFP (Call For Proposal) panitia PyCon APAC. Tanpa disangka, paper saya diterima! Dari 81 paper yang masuk, paper saya menjadi 26 paper yang terpilih. Akhirnya, setelah melalui perjalanan (dan juga pengorbanan!) panjang, akhir pekan ini saya akan ke konferensi Python Asia-Pasifik 2014.

Saya akan berbagi bagaimana saya menggunakan Python untuk menguji keamanan aplikasi. Jika tertarik dengan topik ini, bisa mention saya di @zakiakhmad.

Python dan Social Engineering

Saat mendengarkan kata-kata ‘social engineering’, entah mengapa otak saya langsung mengasosiasikan dengan ‘Social Engineering Toolkit (SET)’. Apakah otak saya sudah sedemikian teracuni dengan Python?

Bagi yang masih asing dengan kata-kata social engineering, social engineering adalah rekayasa manusia. Dalam konteks keamanan informasi, social engineering menyerang kelemahan manusia, bukan menyerang kerentanan sistem (komputer/jaringan/aplikasi).

Kok bisa Python berkaitan dengan social engineering? Saya juga masih belum tahu. Baiklah saya clone dulu, dan mulai lihat/baca isi di dalam SET ini. Berikut ini adalah URL github SET https://github.com/trustedsec/social-engineer-toolkit.