Friday, April 30, 2004

Memrogram itu sulit.

Saya mulai kenal BASIC di Casio FX-702P di tingkat 1. Saat itu PC (XT, RAM 640kB; ada yang pernah pakai?) masih jarang. Tahun berikutnya belajar FORTRAN di mesin Apple II. Mengedit source code dengan WordStar (harus mode non-text(?), agar isi file murni ASCII). Lalu kenal Turbo Pascal, suatu program ajaib yang merangkap fungsi editor, compiler, dan library dalam satu file executable berukuran kurang dari 64kB. Masih di Apple II juga.

Tahun berikutnya mulai merambah ke machine code (ini bahkan lebih rendah dari assembler, kita harus menulis bahasa assembly di kertas, menterjemahkannya ke opcode, lalu memasukkan byte-demi-byte opcode ke MicroProfessor, mesin Z-80 yang cute. Lalu Assembler. Mulai pakai SideKick, program ajaib lain yang memperkenalkan manisnya multitask ke dunia DOS. Sampai tahap ini, learning curve cukup landai rasanya.

Tiba-tiba harus bertemu dengan Mark Williams C. Saat itu saya memperhatikan dengan takjub rekan saya Bambang Sugiantoro asyik berkutat dengan teks editor, lalu harus meng-compile dengan perintah command line. Di masa saya belajar FORTRAN, bahkan sampai Assembler, saya tidak alergi dengan command line. Tapi entah kenapa saya gentar melihat C. (Mungkin juga kronologi dalam ingatan saya tidak runut, mungkin saya melihat C pertama kali malah sebelum Assembler).

Tapi ketika Borland menaburkan kharismanya lagi dengan Turbo C, saya langsung jatuh cinta dengan C. Tidak ada lagi rasa terintimidasi. Mungkin saya telah berubah menjadi manja.

Sebenarnya, flashback, kenapa saya tertarik memrogram? Karena saya tidak cukup mampu untuk membeli komponen elektronik. Hobby saya mulai SD adalah elektronik. Tapi reusability komponen elektronik cukup rendah. Bahkan kesalahan disain maupun implementasi bisa menyebabkan kerusakan komponen. (Bayangkan kalau kita memrogram dengan tingkat kesulitan seperti itu :)).

Karir saya di pemrograman lumayan lama. Mulai Casio (tanpa grafik), sampai Turbo Pascal dan Turbo C di atas DOS dan grafik di VGA. Tapi ketika Windows datang, saya tidak mampu menyeberangi energy barrier, bahkan untuk sekedar menulis program "Hello, world" GUI di Windows 3.1. Cukup lama saya bertahan di DOS, dan sempat tertarik dengan Novell Netware juga.

Ketika, lagi-lagi, Borland datang dengan Delphi, saya baru mau mencicipi pemrograman di Windows. (Saya tidak ingat apakah Visual Basic hadir lebih awal dari Delphi, tapi walaupun saya pernah memakai Visual Basic, tidak terasa "greng"-nya, sehingga saya tidak mendalami).

Lalu ada internet, Linux, Solaris, Oracle, DB/2, Informix, dan masih banyak lagi. Semua cukup menantang. Saya jadi lupa bagaimana memrogram. Lebih-lebih setelah bertemu Perl dengan cacingnya yang mengerikan. Jadi, memogram memang sulit. Saya bagian mengkritik program orang sajalah :))

----

Sudah lama saya ingin menyumbangkan patch ke kernel Linux. Ketika saya menemukan sebuah bug di kernel 2.4 (dan 2.6 juga), saya sangat gembira. Lebih-lebih ketika saya menemukan cara mengatasinya. Tapi rupanya maintainer subsistem itu juga tidak setuju dengan bugfix yang saya ajukan.

andika@xxxxxxxxxx.com (Andika Triwidada) writes:

>> Well, before fix, we will need to find the cause of this problem.
> On the other hand, this problem did exist. Is it justified enough to patch kernel then?
If this is undocumented specification of windows, it would be added as workaround for it.
If the crash or something is cause of the problem, it should not be added.
> I don't see any potential future problem from application of my patch.
The principle of "Keep It Simple, Stupid".
The fsck is separated from kernel, and it does on userland. Since the
repair is fsck's job, there is no reason that kernel does it.
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxx.jp>


Jadi, memrogram, apalagi di level kernel, itu memang rumit bukan?

Friday, April 23, 2004

Bagaimana cara cepat menguji fitur google mail? Satu giga byte?

Salah satu cara adalah dengan berlangganan milis trafik tinggi, semacam Linux Kernel mailing list. Mari kita lihat dan tunggu. Mungkin seminggu lagi saya baru bisa ceritakan rasanya.

Update:
Alih-alih thread, gmail menyediakan fasilitas search. Dua hal yang jauh berbeda. Yang agak mengkhawatirkan, sekelompok mail pada thread yang sama akan disajikan oleh gmail pada satu halaman. Bagaimana kalau thread tersebut cukup panjang dan kita mengakses internet melalui koneksi kecepatan rendah?

Ide lain:
Apakah membantu apabila koleksi SPAM di server saya semua saya bounce ke account di gmail, lalu semua saya laporkan sebagai SPAM?

Monday, April 12, 2004

Teknik Pemasaran(?) Jepang

Baru-baru ini saya mencoba aplikasi P2P. Kenapa sangat terlambat? Karena saya baru saja merasakan nikmatnya bandwidth 512kbps. Download berbagai ISO dengan wget maupun Download Accelerator dan semacamnya terasa mulai membosankan. Jadi apa lagi?

Saya coba Kazaa. Parah. Penjatahan yang sangat bergantung kepada proporsi ukuran download / upload tidak nyaman. Lirik ke sana kemari. Ketemu Bearshare. Lebih enak. Tapi search yang saya lakukan sudah mendekati titik jenuh, yang saya cari jarang ketemu (mungkin karena Bearshare tidak memiliki fitur 'extra info' untuk objek-objeknya, sehingga info dipaksakan dipasang pada nama file). Terakhir ketemu BitTorrent.

Mekanisme penyebaran data BitTorrent lebih baik daripada generasi P2P sebelumnya. Client BitTorent dengan cepat ikut serta menjadi penyedia data setelah memperoleh satu blok penuh. Keduanya serupa dalam hal memecah data besar menjadi beberapa bagian terlebih dahulu, sehingga kalau salah satu bagian rusak, pengulangan transfer memakan jalur yang relatif kecil, dibanding kalau seluruh data harus dikirim ulang secara utuh. Kembali kepada BitTorrent, karena client bisa segera terlibat sebagai supplier data, alih-alih P2P generasi sebelumnya dimana supplier hanya bisa memulai setelah memperoleh salinan lengkap data.

Salah satu file pertama yang saya download menggunakan BitTorrent adalah anime Naruto, website fan Naruto disini. Fenomena yang sangat menarik: anime Naruto ditayangkan seminggu sekali di TV Tokyo. Saat ini sudah tahun ke-3, mencapai episode ke-78 dan belum akan berakhir segera. Manga-nya saja sudah sampai nomor 212. Memang tidak ada korelasi satu ke satu antara manga dan anime Naruto.

Apa yang menarik? Well, tayangan TV di-grab, di-subtitle dalam bahasa Inggris, lalu disebarluaskan secara gratis melalui jaringan BitTorrent. Produsernya tidak protes. Karena hal ini adalah publikasi internasional secara gratis, apalagi sudah di subtitle. Tidak hanya satu-dua grup yang melakukan grab, subtitling, dan redistribusi ini, tapi banyak. Kelihatannya mereka menjajakan kemampuan penerjemahan ke para calon pembeli (studio TV atau publisher VCD/DVD diluar Jepang), sekaligus mengumpulkan massa / fans. Setelah seri yang mereka subtitle dibeli lisensinya, maka file-file tersebut tidak disebarluaskan lagi.

Efektifkah cara ini? Mungkin. Member www.narutofan.com saja sudah lebih dari 60.000 orang.

Jadi semua untung, dan ekonomis. Cerdik bukan?

-- andika

Saturday, April 10, 2004

Pemilu 1999 vs 2004, perbandingan beberapa aspek teknis

1. kapasitas IIX
Pada tahun 1999, belum ada IIX 2 yang terletak di Gedung Elektrindo. Saat itu IIX di Grha Citra Caraka (gedung Telkom - Jl Gatot Subroto). Kapasitasnya hanya 10Mbps. ISP yang tersambung ke sana tidak sebanyak saat ini. Tahun 2004, koneksi ke IIX 2 sudah kelas fast-ethernet.

2. arus data
Entry pada tahun 1999 dilakukan via terminal-terminal di Bank BNI atau BRI di setiap Kabupaten. Dari sana, koneksi ke Datacenter via SNA pada saluran privat. Dari Datacenter ke web server juga saluran privat. Dari web server ke internet via IIX. Maka tidak ada rebutan jalur. Tahun 2004, jalur entry data dan penyajian data melalui saluran yang sama, yang awalnya hanya sebesar 1 Mbps. Beberapa hari setelah perhitungan suara dilaksanakan, diperbesar ratusan kali lipat dengan adanya saluran fiber optic (bantuan dari berbagai pihak, bukan atas inisiatif KPU) dari datacenter ke IIX. Entry dari tingkat kecamatan, sehingga mestinya data dapat dikumpulkan secara lebih cepat.

3. operator
Operator peng-entry data pada tahun 1999 adalah karyawan bank BNI dan BRI yang sehari-hari memang sudah bekerja dengan terminal komputer. Aplikasinya memang beda, tapi mereka adalah operator terlatih dan berpengalaman yang sudah sangat terbiasa memakai numeric-keypad dan entry angka dengan presisi tinggi. Tahun 2004 operator yang dikerahkan jauh lebih banyak, tetapi mayoritas relawan yang walaupun sudah mengenal komputer dengan baik, belum tentu terlatih sebagai data entry operator.

4. teamwork
Tim pengembang aplikasi pengolahan data, serta penyedia infrastruktur komunikasi data pada tahun 1999 dirangkap oleh PT PCI; komunikasi data dan terminal entry menyewa jaringan Siskohaj; pengembang web server PT Indosat; masalah security Budi Raharjo cs. Hardware untuk pengolahan data bukan pengadaan baru, tapi menyewa, sehingga tentu saja "bahkan kabelnyapun tidak ada bekasnya" di KPU. Untuk tahun 2004, infrastruktur komunikasi data disediakan oleh PT Telkom dan PT PSN; terminal entry dari pengadaan baru; komputer di datacenter juga dari pengadaan; software tidak di-tenderkan.

5. audit
Seluruh sistem pengolahan data pemilu 1999 di-audit oleh pihak ketiga (kalau tidak salah dari Andersen Consulting). Pada tahun 2004 tidak ada audit independen.

v1.1

-- andika

catatan: IIX adalah Indonesia Internet Exchange, tempat para ISP saling bertukar trafik, sehingga bisa menghemat jalur keluar negeri yang mahal

Thursday, April 01, 2004

Asyik juga pakai WiKi

Kalau Anda suka Linux, dan ingin membantu mengembangkan dokumentasinya, silahkan kunjungi LinuxOrId Wiki