NSQ Middleware

NSQ is a real-time distributed messaging platform developed in bit.ly. It’s really easy to use and my company heavily used it in production.

NSQ middleware will enhance NSQ flexibility in handling consumed messages. It allows us to add custom handlers that can run before the main handler function.

You can check the source code here: https://github.com/ariefrahmansyah/nsq-middleware.

Go Library: Bind GraphQL

You have your RESTful API. You have your struct, it use JSON tag. Then, one of your developer friend introduce you to GraphQL. If you want to migrate your API to GraphQL without so much pain, this library is for you.

Easily create new graphql.Object from existing struct with bindgraphql.

Source code: https://github.com/ariefrahmansyah/bindgraphql
Docs: https://godoc.org/github.com/ariefrahmansyah/bindgraphql

Hackathon Merdeka 2.0 Palembang

Baru saja kemarin saya mengikuti Hackathon Merdeka 2.0 bersama dua kakak tingkat saya, Kak Reza dan Kak Faisal. Kami membentuk tim yang bernama Pempek Kerupuk. Nama Pempek Kerupuk dipilih setelah perdebatan yang cukup panjang hahaha 😀

Berbeda dengan Hackathon sebelumnya, Hackathon kali ini diselenggarakan serempak di 28 kota di Indonesia! Euforianya sangat terasa sekali. Begadang ngoding sendirian, udah biasa. Kali ini, kami ngoding bersama ribuan programmer dalam negeri untuk menyelesaikan masalah dalam negeri!

Sesuai dengan tema hackathon kali ini yaitu mengenai masalah data kependudukan, kami membuat solusi aplikasi pengingat kependudukan cerdas yang kami beri nama Lily.

Hackathon Merdeka Palembang. Tim Pempek Kerupuk ngoding di meja khusus (kiri-atas)
Hackathon Merdeka Palembang. Tim Pempek Kerupuk ngoding di meja khusus (kiri-atas)

Continue reading “Hackathon Merdeka 2.0 Palembang”

Cerita – Sidang Tugas Akhir II

Pada jurusan saya, kami harus melewati 3 sidang untuk lulus. Yang pertama adalah Sidang Tugas Akhir I atau sidang proposal, kemudian Sidang Tugas Akhir II atau sidang program, dan yang terakhir Sidang Komprehensif. Saya melaksanakan sidang TA 1 pada bulan Februari lalu. Butuh waktu 8 bulan bagi saya untuk dapat lanjut ke sidang TA 2. Hal ini juga ditanyakan oleh penguji, apa kendalanya kenapa bisa sampai butuh waktu 8 bulan, dan saya jawab karena saya gagal memanajemen waktu saya dan sibuk dengan pengerjaan proyek program lainnya. Juga saya terkendala di bagian dokumentasi dan desain diagram-diagram program saya. Well, saya sangat malas mengerjakan dokumentasi.

Saya juga sudah sangat lama tidak menulis di sini. Hampir setahun. Ini hiatus terparah sejak saya memulai blogging. Sebenarnya banyak yang saya ingin tulis dan ceritakan di sini, namun pada ujungnya saya tidak jadi menulisnya, dan cerita-cerita tersebut akhirnya hanya menjadi draft di otak saya saja. Sudah lama saya ingin menulis lagi, namun karena kesibukan hingga saya tidak sempat menulis di sini. Seharusnya, sesibuk apapun saya, saya harus bisa menyempatkan waktu untuk menulis, namun saya gagal. Ya, manajemen waktu saya sangat berantakan selama ini. Tentang hal ini tidak akan saya tulis di postingan kali ini. Di postingan ini saya akan bercerita tentang Sidang Tugas Akhir II saya.

Continue reading “Cerita – Sidang Tugas Akhir II”

Getting Started: Weka

Weka adalah sebuah perangkat lunak yang memiliki banyak algoritma machine learning untuk keperluan data mining. Weka juga memiliki banyak tools untuk pengolahan data, mulai dari pre-processing, classification, regression, clustering, association rules, dan visualization. Weka adalah perangkat lunak open source berbasis Java dan kita dapat menggunakannya secara langsung atau melalui program Java kita. Weka juga bisa diimplementasikan ke program python. Untuk penjelasan Weka lebih lengkap, kamu bisa membuka halaman dokumentasinya di sini.

Pertama kali saya mengenal Weka ketika mengikuti mata kuliah Information Retrieval, pada pertemuan tentang Clustering. Clustering adalah proses mengelompokkan sekumpulan objek ke kelas-kelas dengan objek yang mirip (Cluster). Clustering adalah salah satu bentuk unsupervised learning. Banyak sekali algoritma untuk clustering, namun secara umum terbagi dua yaitu flat algorithms dan hierarchical algorithms. Pada kuliah tersebut, saya mempelajari tentang algoritma K-means yang merupakan flat algorithms, mulai dari teori K-means hingga implementasinya menggunakan Weka. Pada tulisan ini saya akan berbagi tentang penggunaan Weka untuk aplikasi Simple K-means. Diharapkan teman-teman telah sedikit membaca tentang K-means.

Oh ya, Weka juga dapat diimplementasikan untuk big data!

Instalasi Weka

Kamu bisa mendownload program instalasinya dari sini : http://www.cs.waikato.ac.nz/ml/weka/downloading.html. Sebelum menginstall, cek terlebih dahulu apakah kamu sudah menginstall JRE (Java Runtime Environment). Kamu bisa mengeceknya di folder ini : C:\Program Files\Java. Jika JRE sudah terinstall, kamu cukup mendowload file weka-3-6-11.exe. Jika belum menginstall JRE, kamu harus mendownload file weka-3-6-11jre.exe. Sesuaikan juga file yang didownload dengan tipe sistem operasi kita, apakah 32-bit atau 64-bit.

Setelah berhasil mendownload filenya, jalankan proses instalasi. Ikuti petunjuk instalasi, mudah kok. Setelah selesai, segera buka Weka 🙂

Tampilan Awal Weka
Tampilan awal Weka

Continue reading “Getting Started: Weka”