PHP sucks: yup, backslash dipilih sebagai pemisah namespace, need I say more?

October 31st, 2008 by steven

Berulang kali, keputusan desain bahasa di PHP selalu membuat saya geleng2x kepala. Kali ini pun gak kalah kontroversialnya: karakter backslash (\) dipilih sebagai simbol pemisah namespace. Susah mau bilang apa, apalagi mengingat karakter emoticon seperti :> dan :) dipertimbangkan serius.

Paling2x saya bilang, seperti di sebuah milis PHP, “Yah, abis gimana, sudah biasa dikecewakan oleh PHP sih.”

Budaya PHP memang bagaikan anak mutan cacat hasil perkawinan antara Unix, CGI, dan Web. Anak muda yang beranjak remaja ini kadang berusaha inovatif (tertular sindroma NIH tepatnya), tapi hasilnya seringkali gak jelas dan amat diragukan apakah superior/inferior: memadukan array dan hash, menciptakan format patch sendiri (di PHPBB), dan yang terakhir kali ini tentu saja memilih karakter escape yang amat bentrok dengan budaya Unix/C.

Mari kita lihat dagelan2x desain berikutnya dari bahasa aneh ini :)

Tipe dan jurus pengemudi/penumpang angkot

October 29th, 2008 by steven

Berikut ini kumpulan hasil pengamatan kasual selama bertahun2x menggunakan kendaraan murah meriah dan unik yang bernama angkot, terutama di daerah Bandung. Kelakuan angkot di daerah lain, misalnya Bogor, mungkin berbeda.

Sopir

Klaksonis. Sopir tipe ini doyan banget mencet klakson di setiap saat, bahkan waktu berhenti sekalipun. Umumnya sopir yg begini tuh malah pendiem orangnya, mungkin karena suaranya gak keras, jadi alih2x manggil “Neng! Dago, Neng!” dia menggunakan klakson sebagai pengganti mulutnya. Meyebalkan jika klaksonnya termasuk tipe bising. Barangkali supir kayak gini sekali2x perlu dikirim ke negara maju di Barat, sapa tau kapok karena digebugin :p

Tipe pengetem. Sopir seperti ini gemar ngetem, mungkin dengan pemikiran bahwa dengan ngetem dia bekerja lebih efisien: penumpang jadi banyak tapi bensin irit (padahal belum tentu, dengan banyak berdiam mungkin saja dia kehilangan calon2x penumpang yang sedang menunggu jauh di depan, belum lagi penumpang yang minggat karena gak sabar, dan kecenderungan penumpang untuk bayar lebih sedikit karena kesal). Bahaya deh kalo waktu lagi mepet trus ketemu tipe ini. Jika sopir normal biasanya tau diri dan membatasi tiap sesi ngetem, sopir tipe pengetem gak akan peduli berapa lama dia ngetem. 10 menit atau lebih pun bisa. Dan kadang2x maju 10 meter pun bisa mulai ngetem lagi. Selama ngetem, si supir mungkin melakukan hal2x ini yang kadang bikin penumpang tambah kesel: ngitung duit, ngerokok, nyetel musik, bersiul.

Tipe harus penuh. Ini adalah bentuk ekstrem dari tipe pengetem, di mana si supir angkot cenderung akan bersikeras menunggu angkot penuh dulu sebelum mau berangkat. Jika di tengah jalan angkot mulai dikosongkan 1-2 penumpang, dia akan cenderung ngetem lagi untuk memenuhkan angkotnya.

Jurus maju mundur. Jurus ini sering diperagakan oleh tipe pengetem. Mungkin dengan tujuan membuat penumpangnya tidak terlalu kesal, sekaligus memancing calon penumpang baru, si supir akan menekan2x gas agak dalam agar mobil meraung2x, lalu melepas kopling dikit agar si angkot maju barang selangkah dua langkah. Tapi setelah itu dia akan mundur lagi, untuk kemudian mengulangi jurus. Ini membuat ilusi seolah2x angkot akan segera berangkat, padahal belum.

Tipe kelewat gigih. Tipe supir seperti ini ngotot dan gigih banget merayu calon penumpang, sampe2x membuat calon penumpang kesel. Mulai dari menguntit dari belakang orang yang lagi jalan di trotoar, memijit klakson, memanggil2x, sampe sedikit memepet-mepet calon penumpang, berharap agar si pejalan kaki mau naik. Padahal sebetulnya si pejalan kaki sudah memberi isyarat bahwa dia tidak ingin naik angkot. (Ini sebetulnya efek samping dari terlalu banyak angkot, sehingga setiap angkot harus berjuang ekstra keras untuk seorang penumpang. Lihat juga: tipe penumpang jual mahal)

Tipe rusuh. Supir tipe begini suka sok rusuh, tancap gas duluan saat penumpang yang lagi naik belum duduk, atau saat penumpang baru turun tapi belum sepenuhnya menjauh dari angkot.

Tipe “Brrmm… Ciiit!” Waktu kecil suka gak main mobil2xan dengan adik/teman main, di mana si teman memegang pundak kita di belakang lalu kita berlari2xan sambil menirukan suara mobil: brrrrmmmm… (atau: ngeeeennng) lalu tiba-tiba berhenti sambil menirukan suara rem: ciiiitttt! Nah, tipe supir yang satu ini mungkin waktu kecilnya kebanyakan main mobil2xan. Dia gemar tancap gas dan ngerem terlalu tiba2x, gak mulus. Sehingga, kalo kita gak duduk di depan (dan searah dengan si supir), bakalan ngerasa gak enak banget karena terhentak-hentak dan harus sigap melawan gerakan angkot. Tipe supir seperti ini harus sering2x dijadiin penumpang di belakang dan ngerasain sendiri betapa gak nyamannya cara dia ngegas dan ngerem terlalu mendadak. Lihat juga: Tipe rusuh.

Tipe susah berenti. Tipe supir seperti ini kalo dibilangin “kiri” atau “stop” oleh penumpang suka gak mau cepat2x berhenti, tapi berhenti 50 meter di depan, dengan alasan mengepaskan tempat berhenti dengan tempat yang mungkin bisa mengangkut penumpang baru. Atau memang gatel aja gak mau cepet2x ngerem karena gak ingin laju angkotnya terganggu.

Tipe ugal-ugalan. Supir angkot mayoritas memang ugal2xan, dengan alasan mengejar setoran, tapi sebagian kecil memang senang ugal2xan for fun. Dan sebagian supir normal bisa berubah menjadi ugal-ugalan selama beberapa menit sehabis menerima bayaran kurang dari penumpang, sebagai ungkapan kekesalannya. Banyak berdoa dan cepat2x turun, itulah resep jika ketemu supir seperti ini.

Jurus zig zag. Sebetulnya jurus umum supir angkot. Karena tidak ada aturan harus berenti di mana, sebuah angkot bisa menepi dan menengah kapan saja dia mau, seperti ular. Setiap kali ada penumpang bilang stop, atau setiap kali si supir menemukan calon penumpang potensial. Berhati2xlah pengemudi motor atau mobil yang kebetulan berada di belakang angkot.

Jurus “berangkat”. Jurus ini sering sekali dipakai oleh supir/kenek angkot yang lagi ngetem, yaitu merayu calon penumpang dengan kata2x, “Ayo Neng, berangkat sekarang!” agar calon penumpang mau masuk dengan harapan angkot akan segera berangkat. Padahal yang benar, angkot baru akan berangkat setelah si supir angkot merasa puas dengan tingkat keterisian angkotnya.

Jurus “penumpang pancingan”. Jurus ini dipakai umumnya jika angkot sedang berada di stasiun atau di tempat angkot2x banyak ngetem, di mana satu atau lebih teman si supir akan nongkrong di dalam angkot untuk membuat kesan seolah2x angkot sudah berisi. Dengan begini, calon penumpang akan lebih tertarik masuk dengan harapan tidak harus menunggu terlalu lama sampai angkot penuh.

Penumpang

Tipe jual mahal. Calon penumpang yang bahkan sedikitpun enggan untuk memberi isyarat apakah dia ingin naik angkot atau tidak. Baik dari gerak mata, anggukan, kibasan tangan, atau isyarat tubuh yang sedikit menjorok ke depan saat si angkot mendekat. Umumnya tipe penumpang jual mahal adalah gadis-gadis muda. Ini adalah efek samping dari terlalu banyak angkot, sehingga penumpang pun jadi pasang harga. Tidak dapat angkot yang ini, gak ada 5 detik sudah ada angkot lain yang menyusul di belakang. Akibatnya, angkot pun harus berusaha lebih keras untuk menerka maksud hati si calon penumpang. Lihat: Tipe supir kelewat gigih.

Tipe lelet. Penumpang yang sudah ditunggu angkot tapi tetep aja bukannya bergegas melainkan berjalan lambat2x. Biasanya penumpang ibu2x atau wanita bertipe seperti ini.

Tipe ingin turun instan. Penumpang yang begitu bilang stop atau kiri ingin segera angkotnya berhenti saat itu juga, dan kalo angkotnya baru berhenti agak di depan, kesal dan mengomel. Biasanya penumpang yang termasuk tipe ini adalah ibu2x yang kurang kenal aturan lalu lintas, karena gak pernah kenal yang namanya nyetir, sehingga gak ngeh bahwa untuk sebuah kendaraan berhenti itu harus menepi dan mengerem pelan2x, dan jika jalan sedang ramai mungkin dibutuhkan jarak 10-50m sebelum benar2x bisa berenti.

Tipe ingin naik instan. Mirip dengan tipe sebelumnya, namun kali ini dalam hal naik. Penumpang seperti ini juga umumnya ibu2x atau perempuan yang kurang mengerti aturan lalu lintas. Mereka menunggu angkot di tempat2x yang aneh yang nyaman bagi mereka namun tidak nyaman bagi sebuah kendaraan untuk ngetem.

Jurus “bayar lari”. Tipe penumpang yang (secara sadar atau tidak sadar) bayar kurang dari seharusnya, tapi langsung cepat2x menyerahkan (atau setengah melempar) duit bayaran lalu cepat2x ngeleos biar gak ditagih. Ada beberapa kemungkinan mengapa si penumpang melakukan hal ini: memang duitnya pas2xan, gak ada duit kecil dan males mecah duit, atau memang pelit.

Jurus “pura2x budeg”. Mirip dengan jurus “bayar lari”, tapi alih2x ngeleos, si penumpang pura2x budeg saat ditagih kekurangan ongkos.

Opera (used to rule but now kinda) sucks

October 25th, 2008 by steven

Kenapa ya, di seri2x belakangan ini (9.5x, 9.6x?) saat rendering Opera sering sekali freeze sesaat, terutama jika halaman yang harus dirender mengandung HTML form elements yang banyak (mis: puluhan/ratusan select box). Beda dengan Mozilla/Firefox ato IE yang kagak pake freeze2xan.

Trus pas nyobain beta FF 3.1 kemaren, takjub juga. Cepet loh. FF di Linux telah menjelma dari kura2x di 1.5 menjadi makin snappy aja dari versi ke versi. Sementara kok di Opera gw seperti mengalami degradasi kecepatan?

Belum lagi benchmark Javascript enginenya yang udah dikalahin jauh ama browser2x baru dari IE8 sampe FF3 sampe Chrome. Quo vadis, Opera?

MySQL rules (and sucks): GROUP_CONCAT() yang praktis tapi menyebalkan

October 25th, 2008 by steven

Kalo ditanya apa fungsi favorit di MySQL, jawaban gw kayaknya GROUP_CONCAT() [diperkenalkan sejak 4.1]. Gw sering sekali pake dan seneng ada convenience kayak gini. Tapi nyebelinnya, implementasi MySQL sering sekali mengandung bug. Liat aja changelog MySQL dan search GROUP_CONCAT(). Sampe sekarang pun, di MySQL 5.0.32 (dari Debian stable 4.0) gw masih menjumpai hasil GROUP_CONCAT() dengan teks yang garbled (sebuah bug yg parah banget!).

Andai bisa pake Postgres… Di Postgres, melakukan hal yang serupa dengan GROUP_CONCAT() gak kalah mudah yaitu dengan ARRAY(SELECT …) . Sayangnya ada beberapa convenience MySQL lain yang sampe sekarang belum ada aja di Postgres, dari SELECT IGNORE / REPLACE INTO ato CREATE TABLE IF NOT EXISTS. Dan tentunya alasan utama bagnet gw gak bisa pindah ke Postgres adalah karena 99,9% aplikasi web yang ada memilih berhubungan dengan MySQL doang.

Komputer dan Mobil

October 21st, 2008 by steven

Pernahkah Anda membaca “berita” di Internet, bahwa Bill Gates suatu hari berkomentar menyindir bos General Motors dengan berkata kurang lebih seperti ini, “Seandainya industri mobil kemajuannya sama seperti komputer, maka hari gini kita mungkin sudah bisa mengendarai mobil yang efisiensi bahan bakarnya 1000 km/liter dan harganya hanya $25.” Bos GM Jack Smith membalas, “Benar itu, tapi apakah orang mau mengendarai mobil yang crash sehari dua kali?”

Tentu saja, kata-kata di atas sebetulnya tidak pernah diucapkan Bill Gates maupun bos GM karena hanya merupakan lelucon yang beredar di Internet. Tapi menarik juga bila kita membandingkan komputer dengan mobil, terutama jika dipandang dari kacamata pemakai awam.

Dari waktu ke waktu saya, dan tentu sebagian dari Anda juga, harus mengajarkan penggunaan komputer pada kalangan awam senior, mereka yang berusia di atas 40-60 tahun. Mereka ini kebanyakan tidak memiliki masalah dalam mengendarai mobil. Bahkan memakai ponsel pun bisa, walaupun ponsel-ponsel tipe sederhana. Tapi saat harus mengoperasikan komputer, tak sedikit dari mereka yang angkat tangan dan akhirnya sama sekali menjauhi komputer bak alergi.

Padahal, saya berani bertaruh bahwa mereka yang perlu dan/atau seharusnya menggunakan komputer jumlahnya lebih banyak daripada yang perlu menyetir. Mobil harganya lebih mahal, tidak semua orang mampu membelinya. Jalanan semakin macet, tidak semua orang seharusnya ikut menambah macet dengan membeli kendaraan pribadi. Juga, pengemudi mobil haruslah orang dewasa yang masih sehat, tidak cacat, dan awas. Di lain pihak, komputer dapat berguna bagi anak kecil hingga lansia, dapat membantu berbagai kebutuhan dari komunikasi hingga informasi hingga hiburan.

Memang, mengendarai mobil adalah sebuah tugas yang lebih spesifik dan sederhana (istilah inggrisnya, structured task). Namun, bagi banyak orang awam, penggunaan komputer bersifat spesifik juga untuk kebutuhan-kebutuhan tertentu saja, misalnya mengetik surat atau mengirim email saja.

Menurut saya pribadi, penyebab utama komputer masih sulit digunakan pemula adalah karena memang komputer pribadi sudah terlalu kompleks, baik dari konsep-konsep dan softwarenya.

Konsep. Salah satu konsep komputasi yang membingungkan pemula adalah saving, yang sebetulnya merupakan konsep kuno peninggalan 2-3 dekade lampau saat komputer belum multitasking dan media penyimpanan masih superpelan. Bayangkan mengapa konsep ini sulit diterima jika Anda seorang pemula: apa yang Anda ketik sudah tercetak di layar, sudah bisa dilihat oleh mata, tapi sebetulnya “belum benar-benar ada” di komputer sampai di-save. Anda masih harus melakukan tindakan eksplisit save ini, karena banyak program masih juga belum memiliki fitur autosave. Jelas saja, rata-rata pemula, sulit sekali diingatkan agar rajin melakukan save.

Konsep lain yang juga membingungkan adalah folder/direktori, drive/disk, dan desktop. Banyak yang hanya tahu menyimpan dokumen, tapi tidak tahu di mana. Jangankan di folder mana, apa itu harddisk atau drive pun banyak pemula yang tidak mengerti. Yang mereka tahu, mereka menyimpan “di komputer”. Dan saat harus membantu mereka memindahkan dokumen via email atau flashdisk, kita harus dengan sabar menerangkan konsep storage komputer.

Software. Di sisi software, kita sama-sama tahu bahwa sistem operasi Windows/Linux, Microsoft Office/OpenOffice, adalah software generik yang amat kompleks, dibangun dari puluhan-ratusan juta baris kode sumber, memiliki ratusan fitur, dan tentunya ribuan bug. Pemakai pemula yang masih harus bersusah payah menguasai penggunaan dasar software ini, dibuat pusing tujuh keliling dengan serangan spam, virus, dan malware lain yang bisa masuk dengan memanfaatkan bug software di komputernya.

Kedua kompleksitas ini bisa dikurangi dengan mengalihkannya ke server Internet. Sama seperti penumpang mobil yang mengalihkan kendalinya pada supir sehingga ia sendiri tidak perlu (keahlian) menyetir lagi, demikian pula seorang pengguna komputer bisa mengalihkan banyak kendali komputer lokalnya pada layanan online. Sehingga, ia tidak perlu lagi menguasai banyak ilmu untuk mengerti konsep storage komputer lokal maupun manajemen perangkat lunak. Komputer (atau laptop, portable reader, PDA) jadi tak lebih dari alat mengetik dan browser. Sisanya, aplikasi, penyimpanan, dilakukan oleh server Internet yang dikelola profesional. Kehilangan kendali memang tak terelakkan jika ingin mengurangi kompleksitas.

Hanya saja, mungkin nanti akan muncul masalah baru di mana pemula bingung apakah dokumennya disimpan di “komputer” atau di “Internet”, karena aplikasi online dan aplikasi desktop makin melebur. (PCMedia 2008)

“Pencurian” Identitas

October 21st, 2008 by steven

BusinessWeek edisi April lalu menceritakan percobaan hacking terhadap komputer salah satu kontraktor Pentagon. Metode hackingnya sebetulnya sederhana, hanya berupa email phishing yang menjebak kontraktor tersebut agar mengklik sebuah link. Bedanya adalah, email phish ini dirancang spesifik dengan nama dan alamat email petinggi militer AS (yang dikenali oleh si kontraktor) beserta cerita meyakinkan tentang rencana pembelian senjata. Andai diklik, sebuah malware akan terinstal untuk merekam ketikan keyboard dan mencuri data-data rahasia pertahanan AS, karena jaringan komputer perusahaan kontraktor tersebut memang menyimpan berbagai dokumen Pentagon yang sifatnya classified. Email phish ini datang dari sebuah server di China, namun identitas jelasnya belum diketahui.

Phishing yang kita terima sehari-hari saat ini kebanyakan masih masal dan tidak tertarget, misalnya undangan memperbarui data di ISP AOL atau bank Wells Fargo (padahal kebanyakan orang di Indonesia tidak memiliki akun tersebut). Namun dengan banyaknya data pribadi yang tersedia gratis di Internet, bisa saja phishing masa depan lebih tertarget dan dipersonalisasi seperti kasus di atas. Bayangkan jika kita menerima email dengan nama dan alamat email dari teman yang memang kita kenal, dengan isi email sesuai topik hangat yang memang sedang kita bicarakan, dan mengundang kita mengklik link yang nampaknya menuju website yang memang sering kita kunjungi. Tentu akan lebih banyak orang terkecoh.

Internet memang gudang informasi, termasuk informasi personal. Situs jejaring sosial, misalnya, adalah surga digital untuk menimba data-data pribadi. Pengguna Internet di Amrik saja sekitar 220 juta atau 73% (di Indonesia baru di bawah 10%). Sementara pengguna jejaring sosial di AS sekitar 20%, tapi di kalangan muda 18-29 tahun mencapai 66%. Bayangkan banyaknya data pribadi yang bisa digali.

Masih di AS, selama 2003-2007 sekitar 8-10 juta orang (atau 3% penduduk) menjadi korban penyalahgunaan identitas, dengan total kerugian per tahun sekitar $50 milyar. Namun, alih-alih dari data akun-akun di situs Internet, kebocoran utama data pribadi malah dari kartu kredit. Pengguna kartu kredit di AS pun sama seperti populasi Internetnya, 75% penduduk, namun 3 dari 4 kasus penyalahgunaan identitas adalah pada kartu kredit: entah dari lembar tagihan bulanan yang dibuang ke tempat sampah, dari kartu yang diserahkan kepada petugas kasir (karena CCV yang katanya seharusnya rahasia dan menjadi kunci transaksi Internet malah dicetak permukaan di kartu), atau dari pendaftaran kartu kredit di mal/tempat umum (di mana si penerima pendaftaran bisa saja penjahat yang sedang mengoleksi data).

Memang kita tidak dapat langsung membandingkan kedua set angka ini. Akun di situs Internet sering kali tidak berhubungan dengan uang, sesuatu yang diincar oleh pelaku kriminal. Akun di situs Internet juga seringkali berisi data palsu dan asal.

Namun itu jugalah salah satu kelebihan Internet: mereka yang ingin anonim bisa melakukannya. Mendaftar akun kartu kredit, di sisi lain, mewajibkan kita menyerahkan (terlalu) banyak data pribadi asli seperti nama, tanggal lahir, nomor KTP, alamat, dsb. Bila data ini bocor (bukan sekali dua kali terjadi baik di bank besar maupun kecil), identitas kita ini mudah sekali disalahgunakan dan dipakai ulang di tempat lain.

Istilah penyalahgunaan di bahasa Inggris, identity theft (diterjemahkan menjadi “pencurian informasi”) sebetulnya tidaklah tepat karena data pribadi kita tidak bisa dicuri sehingga hilang, melainkan hanya bisa disalahgunakan.

Alangkah asyiknya jika terdapat mekanisme untuk membuat data pribadi, atau persona, “acak” untuk mendaftar ke bank atau lembaga lain, sama seperti kita membuat akun-akun asal di Internet. Data pribadi utama kita yang asli diketahui hanya oleh satu lembaga tepercaya untuk tujuan hukum, dan dicatat linknya ke persona-persona buatan kita. Sisanya, untuk mendaftar ke pihak-pihak ketiga termasuk bank kita menggunakan persona-persona buatan. Jika persona kita disalahgunakan, bisa kita deklarasikan hilang dan ganti dengan yang baru. Persona lama kini invalid dan tidak bisa lagi disalahgunakan. Dengan kata lain, alangkah enaknya jika identitas kita benar-benar bisa “dicuri.” (PCMedia Jul 2008)

Masa Depan Buku

October 21st, 2008 by steven

Sejak kecil saya suka buku. Uang jajan selalu habis untuk buku. Sampai kuliah dan awal bekerja pun buku jadi sumber informasi utama bagi saya. Tapi kini tidak lagi. Nyaris seluruh informasi yang saya dapat, saat ini didapat dari Internet: Google, wiki, manual online, milis dan forum, blog, website berita.

Dibanding medium lain di era digital, buku adalah salah satu yang paling kolot, paling mahal, paling memiliki berbagai kekurangan. Tidak terlalu di luar akal jika saya mengatakan buku cepat atau lambat akan punah. Berikut ini pemikiran saya akan masa depan buku.

Semua akan menjadi e-buku. Mengubah distribusi buku fisik menjadi elektronik akan menghilangkan sebagian besar kekurangan buku. Pertama, tidak ada lagi biaya dan efek samping dari kertas. Harga buku seharusnya langsung turun 20-25% saat menjadi e-buku karena sebanyak itulah porsi rata-rata biaya cetak. Para pecinta lingkungan bisa lega karena untuk AS saja 20 juta pohon akan dapat diselamatkan (atau dipakai untuk kebutuhan yang lebih penting) seandainya 3 miliaran buku tidak lagi perlu dicetak setiap tahunnya.

Kita pun terbebas dari keharusan membawa dan menyimpan buku. Beberapa tahun lalu saat mulai bekerja bolak-balik Jakarta-Bandung setiap minggunya, saya capek karena harus membawa buku-buku manual yang 3-4 buah saja sudah berbobot 2-3 kg. Akhirnya saya membuat poor man’s e-book sendiri dengan menjepreti belasan buku yang sering diperlukan sebagai referensi, menggunakan kamera digital. Membawa semua file lembaran buku berformat .PNG itu pun praktis tidak menambah berat barang bawaan satu gram pun. Tahun-tahun belakangan akhirnya saya melepas berkarung-karung buku yang ada karena rata-rata sudah usang isinya.

Semua orang hanya akan membaca ringkasan. Rata-rata dari kita saat ini saja sudah tidak punya waktu untuk membaca lebih dari 1 buku per minggu atau bahkan per bulan. Ke depan akan lebih parah karena jumlah dan jenis kegiatan yang harus dilakukan makin beragam, selain itu akan ada media-media baru yang menyaingi buku, sementara waktu yang ada tetap 24 jam sehari. Banyak buku, terutama buku bisnis atau psikologi praktis, yang sebetulnya intinya hanya 1 halaman namun dimelarkan menjadi 250. Jadi, menurut saya, ke depannya kegiatan membaca buku akan makin digantikan oleh cukup membaca selama 5-30 menit website yang isinya ringkasan buku.
Semua akan menjadi interaktif. Meskipun e-buku memberi kelebihan seperti dapat di-search, disalin gratis, dan disimpan tanpa makan tempat, namun format dasarnya saat ini masih begitu-begitu saja: statik. Mengikuti transisi web yang juga dari statik ke dinamik, e-buku di masa depan seharusnya menjadi lebih interaktif. Misalnya, orang dapat langsung mengirim komentar atau pertanyaan ke penulis dengan mengklik tombol di e-buku. Ada tes/kuis interaktif untuk menguji pemahaman pembaca. Grafik dan tabel yang ada bisa disortir, difilter, dibolak-balik.

Semua akan menjadi kolaboratif. Rasanya berakhir sudah masa keemasan di mana sebuah karya besar dihasilkan oleh satu otak saja. Dua (apalagi banyak) kepala lebih baik dari satu. Perangkat lunak open source sudah membuktikan itu, buku pun akan menyusul. E-buku yang layak baca dan berpengaruh, terkecuali fiksi, umumnya nanti akan merupakan hasil kerjasama beberapa penulis, a la Wikipedia, dan bukan karya tunggal lagi.

Kapan?

Tentu saja perubahan ke arah ini tidak akan selesai dalam semalam, dan saat saya mengatakan “semua”, akan selalu ada perkecualian. Industri besar buku, percetakan, penerbitan tradisional butuh waktu lama untuk berubah. Akses ke laptop terutama bagi anak-anak dan kalangan bawah masih belum merata. Tapi ini semua hanyalah masalah waktu. Seleksi alam pada akhirnya akan mengenyahkan medium yang sudah tidak kompetitif ini.

Bagaimana Anda sendiri melihat masa depan buku? Saya nantikan komentar Anda. (PCMedia Jun 2008)

Meramal Open Source Masa Datang (1)

October 21st, 2008 by steven

19 Maret 2008 lalu, Sir Arthur Charles Clarke wafat dalam usia 90 tahun. Beliau adalah seorang penemu, futuris, dan salah satu penulis fiksi ilmiah paling kenamaan abad XX. Karyanya antara lain 2001: Space Odyssey dan Rendezvous with Rama. Mulainya saya menggemari fiksi ilmiah dan dunia teknologi secara luas, selain dari serial TV Startrek, adalah karena membaca Profiles of the Future. Kumpulan esai Clarke yang diterbitkan 1962 namun sampai kini masih amat menarik dibaca ini menjelaskan berbagai prediksi teknologi s.d. tahun 2100. Beberapa “tebakan” cukup tepat, terutama seputar komunikasi nirkabel yang merupakan bidang pekerjaan Clarke semasa Perang Dunia II. Clarke meramalkan keberadaan satelit geostasioner sejak tahun 1945, dan memiliki visi bahwa tahun 2005 akan ada “perpustakaan global”. Keduanya kini sudah menemani keseharian kita. Ramalan-ramalan lainnya perlu diakui terlalu optimistis, seperti kolonisasi planet (2000, jauh melenceng), kendali cuaca global (2010, kecil kemungkinan tercapai), dan imortalitas (2100).

Jika ada di antara pembaca yang mengikuti beberapa tulisan saya di PC Media sejauh ini, maka mungkin melihat benang merah yang sering saya pilih, yakni prediksi masa depan. Saya tidak hendak menyamakan diri dengan Arthur Clarke atau bahkan mengklaim diri seorang futuris, namun mencoba menerka-nerka masa depan itu memang asyik.

Open source

Dari sekian banyak tren di dunia IT yang bergerak cepat ini, ada satu yang menarik untuk dibahas, yaitu open source.

Berbagai pihak mengakui bahwa open source adalah sesuatu yang benar-benar revolusioner. Penulis buku The World is Flat menyebutnya sebagai faktor perata dunia paling disruptif. Majalah The Economist gemar menulis seputar dampak open source. Jawara bisnis baru seperti Redhat dan Canonical, yang sepenuhnya bertaruh pada open source, bermunculan. Sementara raksasa lama seperti IBM atau Sun harus melakukan reposisi total ke arah open source agar tetap kompetitif. Bahkan sang goliat Microsoft pun mau tak mau sudah mulai merangkul pendekatan open source.

Open source mengubah cara mengembangkan peranti lunak dari tim tertutup menjadi publik terbuka. Cara ini secara drastis mempercepat laju dan/atau jumlah variasi pengembangan.

Bagi pemakainya, open source menawarkan biaya total yang lebih rendah, ketergantungan terhadap vendor yang lebih kecil, serta kebebasan memodifikasi program untuk kebutuhan sendiri.

Open source merevolusi dunia keamanan karena mengizinkan siapa saja mengintip “daleman” sistem operasi dan peranti lunak servis. Open source memaksa pengembangan sistem yang lebih aman secara fundamental ketimbang lewat ketidakjelasan (“security by obscurity”).

Open source dapat memberikan ungkit bagi negara berkembang untuk lebih cepat mengejar negara maju. Berlawanan dengan model hak milik intelektual seperti paten, hak milik, hak cipta, yang membatasi penggunaan hasil litbang, open source justru memberikannya secara gratis dan bebas.

Model pengembangan peranti lunak open source juga kini diadopsi lebih luas untuk konten (mis: wikipedia), riset, dll.

Nah, kembali ke urusan ramal-meramal. Berdasarkan sifat dari tren open source tersebut di atas, seperti apakah 5, 10, 20 tahun lagi? Sejalan dengan prinsip inti open source, sebelum menyimpulkan hasilnya di tulisan berikut, saya mengajak pembaca untuk bersama-sama dulu melakukan brainstorming. Sejauh mana dampak open source terhadap industri perangkat lunak, pemakai komputer secara luas, perkembangan iptek, Indonesia? Bagaimana jika tren open source ini berlanjut terus hingga tahun-tahun ke depan?

Saya menunggu masukan-masukan Anda di steven-at-masterweb.net. (PCMedia Mei 2008)

Impian Akan Kesederhanaan

October 21st, 2008 by steven

Oke, barangkali saya menjadi kolumnis kesekian di Indonesia dalam 1-2 bulan ini yang mengambil pembukaan Mak Erot, berhubung adanya film komedi lokal yang baru-baru ini beredar. Biarlah. Saat memperhatikan poster film tersebut, saya bertanya-tanya mengapa sesuatu yang sudah jelas-jelas terbukti tidak berhasil, seperti pembesaran alat vital lelaki dewasa secara permanen melalui cara-cara nonbedah, terus saja laku. Seandainya yang dijual Mak Erot adalah jasa membetulkan sepatu, saya yakin dia sudah bangkrut dari dulu karena tingkat keberhasilan yang terlalu rendah bahkan nihil. Saya lalu sadar, ternyata menjual mimpi memang punya daya jual yang begitu kuat. Bisa mengalahkan akal sehat. Sehingga mulai tukang obat jalanan hingga politikus pun menggunakan strategi yang sama. Pemasok TI pun tak terkecuali.

Apa mimpi di dunia TI? Saya bisa bilang, kesederhanaan. Kita selalu mendambakan hidup kita akan menjadi lebih sederhana dengan kehadiran teknologi, khususnya teknologi informasi. Sayangnya seringkali semuanya hanyalah mimpi. Mimpi yang membuat kita mau membeli produk dan menganut paham teknologi tertentu. Padahal kenyataannya jauh berbeda dari mimpi.

Ambil contoh XML misalnya. Saya ingat tahun 1997 terkagum-kagum saat membaca betapa luar biasanya XML. Sebuah bahasa pertukaran data universal yang akan membuat semua sistem berkomunikasi dalam bahasa yang sama. Semua akan jadi lebih sederhana bukan? Nyatanya, saat ini terdapat begitu banyak standar, inisiatif, dan API pemrosesan XML. Untuk mulai mengenal XML saja, dibutuhkan banyak buku dan waktu. Dan kehadiran XML malah melahirkan banyak bahasa baru, termasuk bahasa-bahasa yang merupakan reaksi respon terhadap kompleksitas XML, seperti JSON dan YAML.

Java contoh lainnya. Janji yang begitu muluk dari vendor Java tentu membuat kita membayangkan dunia yang lebih sederhana dengan kehadiran bahasa yang portabel, aman, siap jaringan, dan bisa dipakai menggantikan bahasa tingkat rendah sekalipun. Kenyataannya, dari dunia Javalah lahir banyak standar yang kelewat ruwet seperti EJB. Impian portabilitas hanyalah semu, dan slogan compile once run everywhere dalam kenyataan menjadi debug everywhere.

Windows 7. Setelah kehadiran Vista yang kurang berhasil merayu para pengguna XP untuk segera upgrade, Microsoft mengumumkan bahwa versi Windows berikutnya akan memiliki kernel baru yang kecil, MinWin. Di luar alasan teknis, barangkali ini adalah respon dari kenyataan bahwa para pengguna sudah tidak mentolerir lagi terlalu banyak bloat yang kompleks. Barangkali sudah saatnya untuk kembali menjual mimpi kesederhanaan kepada mereka. Betapa Windows yang baru nanti akan lebih kecil, lebih ringkas, lebih sederhana daripada para pendahulunya.

Kenapa kita selalu mengharapkan kesederhanaan? Karena otak kita memiliki bajet kompleksitas yang terbatas. Di atas tingkat kerumitan tertentu, kita tidak dapat memahami lagi sesuatu di “luar kepala.” Dan semakin banyak hal yang kompleks, semakin habislah bajet kita. Karena itu kita selalu mencari hal-hal yang sifatnya sederhana agar masih tersisa ruang untuk memahami hal lainnya.

Di lain pihak kita sadar bahwa segala sesuatu berubah menjadi lebih kompleks. Jumlah transistor dalam chip telah meningkat dari 2300 tahun 1971 menjadi 2 miliar tahun ini. Prosesor tidak lagi memanfaatkan peningkatan clock speed, melainkan berubah menjadi multikor, sesuatu yang akan menuntut pemrograman multithreading. Dan kita tahu betapa ribetnya men-debug program multithreaded.

Kalaupun sesuatu bisa dibuat lebih sederhana, menurut prinsip termodinamik kesederhanaan ini harus dibayar dengan memindahkan entropinya ke pihak lain. Sayangnya, tidak seperti barang-barang teknologi umum lainnya seperti mobil atau mesin cuci, produk-produk TI kadang tidak bisa menyembunyikan kompleksitasnya dari pengguna. Jadi, saatnya para vendor TI berhenti menjual mimpi dan bekerja lebih keras mewujudkan mimpi tersebut bagi kita para pengguna. (PCMedia Apr 2008)

Prosesor Otak

October 21st, 2008 by steven

Dalam sebuah kolom di New York Times 26 Okt 2007, David Brooks menulis bahwa kini dirinya bergantung penuh pada GPS setiap mengemudi. Dengan kata lain, ia telah mengalihkan pengetahuan geografis dari otak sendiri ke satelit. Untuk memilih musik ia tinggal meminta bantuan iTunes, yang memanfaatkan algoritma penyortiran kolaboratif, untuk rekomendasi. Ingatan otaknya pun telah dialihdayakan; tak perlu mengingat apa-apa lagi, sudah ada ponsel pintar, layanan kalender dan kontak web, Google, dan Wikipedia. David menyebutnya, eksternalisasi total.

Revolusi telekomunikasi

Berkat bantuan GPS, ponsel, dan Internet, hidup kita jadi amat kolaboratif. Kita dapat memanfaatkan kecerdasan dan ingatan kolektif. Jika dianalogikan, kita adalah sebuah titik dalam jaringan klaster raksasa. Sebuah kor inti dalam prosesor multikor masif. Kemampuan individu kita tidaklah besar, namun kita adalah bagian dari koloni raksasa yang ampuh. Bahkan di zaman sekarang ini, kebergantungan kita pada kolektif sudah sangat tinggi. Bekerja, mencari informasi, hiburan, sampai jodoh dilakukan lewat Web. Ini tentu lebih dirasakan di negara maju, tapi dengan makin meluasnya internet 24 jam berkecepatan tinggi, tinggal masalah waktu saja negara-negara berkembang seperti kita pun menuju ke sana.

Revolusi otak tunggal

Di sisi lain, jika komunikasi antartitik jaringan atau antarkor dalam prosesor sudah cukup cepat dan efisien/murah, maka jalan yang tersisa untuk meningkatkan lagi kemampuan keseluruhan adalah dengan meningkatkan kemampuan titik atau kor tunggal.

Sepanjang sejarah manusia sampai saat ini, belum banyak kemajuan drastis yang diperoleh otak melalui teknologi. Kemampuan otak kita membaca, mendengar, melihat informasi tetaplah sebegitu-begitu saja. Manusia dewasa rata-rata hanya sanggup membaca 250-300 kata per menit. Kecepatan pendengaran maksimum sekitar 400 kata per menit. Kecepatan menulis/mengetik lebih parah lagi, antara 25-100 kata per menit. Metode-metode seperti membaca cepat hanya bisa meningkatkan ini hingga 2-3 kali saja.

Akibatnya, meskipun sambungan Internet kita berkecepatan tinggi dan mampu mengunduh banyak buku elektronik dalam semenit, hanya 1-2 buku per minggu saja yang dapat kita nikmati. Meskipun prosesor komputer kita cukup kuat untuk memainkan 10 film MPEG4 sekaligus secara paralel dengan kecepatan tinggi, hanya 1 yang dapat kita tonton setiap saat dan dengan kecepatan tidak jauh dari kecepatan normal (1x).

Melihat ketimpangan yang terjadi ini, saya berpendapat bahwa revolusi agung berikutnya setelah telekomunikasi/Internet adalah peningkatan kemampuan otak individual secara dramatis. Internet (“jaringan”) meningkatkan kecepatan berbagi informasi dari satu titik ke titik lainnya. Bertambahnya kemampuan otak (“prosesor”) akan meningkatkan kecepatan sebuah titik tunggal memproses informasi.

Bayangkan bila Anda nanti bisa membaca sebuah buku dalam hitungan detik. Atau, sama seperti Anda meninggalkan komputer malam-malam untuk mengunduh sesuatu lalu pergi tidur, Anda bisa mengunggah materi ke otak Anda untuk diproses sambil tidur, sehingga besok pagi tahu-tahu Anda sudah menguasai materi tersebut. Bayangkan bila penyimpanan data sekunder dapat ditempelkan ke otak sehingga Anda ke mana-mana membawa seluruh koleksi CD, DVD, dan ensiklopedia: menjadi perpustakaan berjalan yang sesungguhnya. Bayangkan dapat memiliki otak fotografis dan menjepret/merekam dengan mata Anda.

Tentu saja melihat tahap kemajuan yang baru dicapai saat ini di bidang sibernetika dan antarmuka komputer-otak, revolusi ini mungkin baru akan datang banyak tahun ke depan. Bahkan barangkali generasi seperti saya belum akan melihat otak-otak super ini. Tapi manusia boleh saja bermimpi kan?
Bagaimana revolusi besar TI berikutnya setelah Internet menurut angan-angan Anda? (PCMedia Mar 2008)