corat-coret

Open Data dan Privasi

Pernah dengar dengan istilah Open Data?

Saat ini kepikiran aja mengenai masalah Open Data dengan privasi. Sebenarnya saya mendukung data yang terbuka, karena mudah dimanfaatkan. Tapi mudah dimanfaatkan, dapat berarti mudah disalahgunakan. Sebagai contoh adalah data DPT dari KPU.

Mungkin sebenarnya tidak ada maksud dari KPU untuk membuat data tersebut terbuka. Tapi tetap saja, data tersebut dapat dengan mudah di-crawl. Syukur kalau dimanfaatkan untuk hal yang positif (misal, data mining). Tapi kalau digunakan untuk sarana SMS mama papa? *doh*

Saya sendiri sebenarnya sedang melakukan crawling terhadap data tersebut. Mungkin dapat digunakan untuk data machine learning yang kelasnya sedang saya ikut di coursera. *Iye, gw baru ngikutin, kenape emangnya?*
Walau mungkin tidak relevan dan tidak dapat digunakan. Tapi yang namanya informasi itu pasti mahal. Agak takut sih, sebenarnya. Tidak tahu apakah ada UU yang menetapkan web crawling menjadi pelanggaran. Harusnya sih ga masalah. Salah programmernya web KPU dong, kenapa ga mikirin aspek ini. Harusnya ga boleh dengan mudah di-crawl. Tapi ya sudahlah. Setidaknya tidak ada data yang benar-benar sensitif, selain lokasi tempat tinggal dan sekian digit NIK.

Semoga hardisk saya cukup untuk menampung datanya (perkiraan butuh 30GB), dan semoga internet baik-baik saja selagi melakukan crawling. Kode yang digunakan sangat bruteforce, karena pola yang terlalu simple untuk melakukan crawling.

Dan semoga besok ga tiba-tiba ada FBI (Folisi Bangsa Indonesia *maaf*) yang menggrebek.

$100 yang akan meningkatkan kualitas hidup seorang programmer

Berdasarkan pertanyaan di Quora di link ini, saya mencoba untuk meningkatkan kualitas hidup saya sebagai seorang programmer. Jawaban nomor 1 menyatakan untuk membeli karpet yoga dan mengikuti kelas yoga. Well, because yoga is not a mainstream in Indonesia, I skipped that.

The second best is noise cancelling headphones. I don’t listen to music that much, so it’s useless for me.

The third most answer are ergonomics thingy. Ergonomic itu… barang yang dibuat nyaman dan didesain sedemikian rupa sehingga tidak merusak tubuh. Beberapa yang disarankan: standing desk / good chair, mouse, keyboard, armrest.

Selain itu juga ada yang ngejawab buku: Code Complete, Design Pattern, Dragon book, etc.

So… I decided to spent my money on:

  • Razer Deathadder Black 3500 High Precision 3.5G Infrared Gaming Mouse
  • Kinesis Freestyle Solo Ergonomic USB Keyboard
  • Ergo Rest
  • Code Complete
  • Design Pattern
  • Dragon Book

It’s…. kind of spur of the moment?

Anyways, sekarang saya lagi ngebiasain diri dengan keyboard yang unik ini. Kenapa saya milih ini? Soalnya saya sering ngerasa harus membengkokkan tangan untuk mengetik, jadi kayanya keyboard ini lebih cock dengan kebiasaan saya. Yang sulit untuk adaptasi di keyboard ini adalah huruf B. Biasanya saya menggunakan tangan kanan untuk mengetik huruf B, tapi karena huruf B berada di keyboard kiri, saya harus menggunakan tangan kiri saya untuk mengetik huruf B. Selain itu page up, page down, home, dan end juga perlu disesuaikan, karena posisinya terbalik jika dibandingkan dengan keyboard laptop saya…

chrome://chrome-urls/

Baru-baru ini saya menemukan kalau kita bisa melihat keseluruhan proses chrome. Selain proses, kita juga bisa menyetting banyak hal yang tidak bisa di setting di menu setting biasa.

Ketikakan url atau klik chrome://chrome-urls/, di browser anda, di sana akan banyak link-link lain yang bisa melihat banyak proses internal chrome. Seperti chrome://cache/ yang akan menampilkan seluruh file yang di-cache di browser anda. Anda juga bisa melihat status GPU anda (termasuk WebGL) di chrome://gpu-internals/. DI chrome://flags/, anda bisa melihat banyak pilihan untuk mengaktifkan atau menon-aktifkan aplikasi eksperimen di chrome, seperti auto-login, new downloads UI, panels, dan banyak lainnya. Perlu diperhatikan, karena masih eksperimen, mereka mungkin “menggigit”. Kita bahkan bisa melihat profiler dari browser chrome, chrome://profiler/.

Chrome FTW!!

Little Alchemy

Baru nemu (ga baru juga sih, udah hampir seminggu) situs littlealchemy.com. Seperti namanya, situs ini bermain dengan alchemy, atau alkimia, yaitu ilmu yang berkaitan dengan unsur-unsur atau elemen. Ga tau sih apakah sama dengan kimia atau Chemistry. But in my opinion alchemy is older than chemistry, and chemistry come from alchemy.

Kalo dulu itu, ilmu alkimia dipelajari karena kepercayaan orang bisa mengubah batu menjadi emas. Setiap sesuatu berasal dari sesuatu yang lebih kecil, dan apakah mungkin penyusun tersebut bisa diubah menjadi bentuk yang lain? Pemikiran ini muncul tahun 1400-an. (mungkin, soalnya dari novel the Alchemyst, umurnya si Nicholas Flamel 600an, so it should be right).

Nah, kembali ke situs tadi, Continue with reading

Tebak-tebak Bahasa Pemrograman

Baru nemu situs yang menarik, sesuai dengan judul post saya, yaitu menebak bahasa pemrograman dengan diberikan potongan kode program.

Ini link situsnya: http://wtpl.heroku.com/

Kalau anda bisa menebak bahasa dengan benar, maka situs akan langsung meberikan soal selanjutnya. Anda bisa melihat skor anda di bagian kiri atas, dan jika anda ingin tidak tahu bahasa pemrograman yang dimaksud, anda bisa menekan tombol forfeit atau menekan escape di keyboard untuk mengetahui jawabannya.

Pada awal mencoba, saya, timmy, dan ecky mendapatkan nilai 33%, dan kali kedua tentu saja mendapatkan score 100%. Bukan karena jago, tapi karena make script berikut:

[sourcecode language=”javascript”]
langs = [‘ACL2’, ‘ActionScript’, ‘Ada’, ‘ALGOL 68’, ‘APL’, ‘Assembly’, ‘AutoHotKey’, ‘AWK’, ‘Bash’, ‘BASIC’, ‘Batch file’, ‘Befunge’, ‘Brainfuck’, ‘C’, ‘C#’, ‘C++’, ‘Chef’, ‘Clojure’, ‘COBOL’, ‘CoffeeScript’, ‘Common Lisp’, ‘D’, ‘Dart’, ‘Delphi’, ‘Erlang’, ‘F#’, ‘Factor’, ‘Falcon’, ‘FALSE’, ‘Forth’, ‘Fortran’, ‘Go’, ‘Golfscript’, ‘Groovy’, ‘Haskell’, ‘haXe’, ‘Icon’, ‘Inform 7’, ‘Intercal’, ‘Io’, ‘J’, ‘Java’, ‘JavaScript’, ‘K’, ‘LaTeX’, ‘Logo’, ‘Lua’, ‘make’, ‘Mathematica’, ‘MATLAB’, ‘Modula-2’, ‘Nemerle’, ‘Objective-C’, ‘OCaml’, ‘Pascal’, ‘Perl’, ‘PHP’, ‘Piet’, ‘Pike’, ‘PowerShell’, ‘Prolog’, ‘Python’, ‘Racket’, ‘Ruby’, ‘Scala’, ‘Scheme’, ‘Seed7’, ‘Smalltalk’, ‘SNUSP’, ‘Standard ML’, ‘Tcl’, ‘TI-BASIC’, ‘Visual Basic’, ‘Whenever’, ‘XPath 2.0’];
for (i=0; i<langs.length; i++) {
$("#guess").val(langs[i]);
$("#guess").keyup();
}
[/sourcecode]

Freak? Hanya ingin memuaskan rasa ingin tahu. Haha.

Application Compability

Pernah buka web pake chrome hasilnya keren tapi pake firefox webnya berantakan? Atau pake IE? Atau dapat pesan “maaf, anda menggunakan IE jadi tidak bisa membuka situs ini”?

Tidak gampang lho ngebuat aplikasi yang bisa berjalan di berbagai platform, yang berbeda spesifikasi, baik dari segi processor, ram, vga, ukuran layar, dan lain sebagainya. Web juga begitu, tapi jauh lebih gampang dibandingkan mobile application. Coba lihat artikel ini: Developing for Android Looks Like.

Haha. Luar biasa lah start up yang aplikasinya bisa jalan di banyak device.

Now that’s a mobile phone, bentuk fisiknya macam2, tapi mungkin dalemnya masih sama. Sekarang coba naik ke atas sedikit, PC. Bentuknya sama sih, kotak, ada tombol power, ada tempat colok USB dan ada tempat masukin CD. Tapi dalamnya beda-beda, mulai dari processor, ram, vga, harddisk, dvd, cd, dan berbagai macam benda lainnya. But, semua aplikasi diatas Windows bisa berjalan dengan benar tanpa perbedaan selain secara speed dsb.

I underestimate them. :))

This comment from above link felt so great:

This is why I tell people we (Microsoft) don’t get enough credit for our compatibility work with Windows. Can you imagine what it would be like developing software for the PC if your OS maker couldn’t guarantee you a set of APIs and behaviors that you could write to once and know would work everywhere? There are literally millions of unique configs out there you’d have to decide how to test against. There are corner case problems even with Windows of course, but for the most part this post is exactly why Windows is such a massive project. The work is to avoid exactly this.

This also makes Linux is a great product as well. But apple is not. With their own limited set of hardwares apple can perform outstanding. But Windows & *nix are doing really hardest work in OS.

That’s why Apple is a great product, because they focus on performance, not compability.