Category: Computing (Page 2 of 5)

Bilangan-Bilangan Euler

Hari2 ini, aku jadi sering harus main2 dengan SMS gateway, dan bikin aplikasi web mini dengan itu. Tentu dengan PHP dan MySQL lagi. Dan sebenernya aku ragu, apa scripting dengan PHP masih bisa kita anggap bagian dari programming, seperti zaman kita dulu masih boleh sering2 main2 dengan C++. Batasnya “etika”-nya apa sih? :) Aku selalu berpikir bahwa programming harus agak mengandung hacking, dengan meletakkan kreativitas personal ke dalam kode; yang membuat program ciptaan seorang programmer jadi suatu yang akan berbeda dengan program programmer lain. Atau mungkin aku — seperti biasa — salah menggunakan istilah lagi :).

Dengan bahasa C, aku pernah membandingkan deret untuk menghitung nilai e dan π. Tentu bilangan natural e melejit lebih cepat ke nilai asimptotiknya. Soalnya aku waktu itu cuma menghitung π sebagai arc tan 1 yang dideretkan sebagai 1 – 1/3 + 1/5 – 1/7 + 1/9 dst. Padahal mungkin programmer lain bisa lebih cepat dengan menggunakan π3/32 = 1 – 1/33 + 1/53 – 1/73 + 1/93 dst.

π3/32 diambil dari π3/(16*2!). Dan ini bisa dilanjutkan ke pangkat ganjil yang lain. Jadi:

π/4 = 1 – 1/3 + 1/5 – 1/7 + 1/9 …
π3/(42*2!) = 1 – 1/33 + 1/53 – 1/73 + 1/93
5*π5/(43*4!) = 1 – 1/35 + 1/55 – 1/75 + 1/95
61*π7/(44*6!) = 1 – 1/37 + 1/57 – 1/77 + 1/97
1385*π9/(45*8!) = 1 – 1/39 + 1/59 – 1/79 + 1/99
50521*π11/(46*10!) = 1 – 1/311 + 1/511 – 1/711 + 1/911

Deret angka 1, 1, 5, 61, 1385, 50521, 2702765, 199360981, 19391512145, dan seterusnya itu disebut dengan bilangan-bilangan Euler (Euler numbers). Dia berasal dari sesuatu yang disebut permutasi zigzag. Permutasi zigzag itu kemungkinan kita menderetkan n bilangan p yang berbeda, dengan p1 < p2 > p3 < p4 > dst sampai bilangan n. Dengan kata lain, pi < pi+1 jika i ganjil, dan pi > pi+1 jika i genap. Bolak balik. Zigzag. Untuk n=0, 1, dan 2, tentu hanya ada satu kemungkinan; untuk n=3 ada 2 kemungkinan; untuk n=4 ada 5 kemungkinan; lalu 16, 61, 272, 1385, dan seterusnya. Nah, kita ambil yang genap saja untuk bilangan Euler kita.

Tapi apa kaitannya permutasi ini, dengan Euler, dengan arc tan, dengan π? Nah, itulah asyiknya kalau weekend tidak harus dihabiskan untuk urusan kantor. Jadi ada yang bisa dimainin :)

Sementara itu,

π2/6 = 1 + 1/22 + 1/32 + 1/42 + 1/52 … dan kita bisa memasuki cerita lain …

Pertemoean Peretas

Pun hanya dalam bekerja, aku sering hidup dalam dua dunia. Apakah aku orang komunitas yang memanfaatkan fasilitas Telkom, atau orang Telkom yang memanfaatkan hubungan dengan komunitas? Aku selalu menganggap bukan dua2nya. Telkom bukan hal terpenting dalam hidupku. Dan komunitas itu jamak. Tapi seperti orang lainnya, kita tentu cenderung melakukan sinergi berbagai sisi hidup kita, sambil berharap mudah2an hasil akhirnya optimal. Dan kalau itu berhasil, kita merasa jadi hacker.

Aku sendiri merasa beruntung, bulan ini banyak ketemu dengan para peretas (hackers). Malam tahun baru (1 Muharram 1429), waktu rekan2 Isnet membentuk Koperasi, aku duduk semeja dengan Mas Ahmad Rully (Afumado Rurrii). Ini typical hacker Isnet (dalam budaya yang meliputi misalnya Mas Aria Prima, Mas Kumoro Wisnu Wibowo, sampai Mas Harry SufehmiMbak Ranti enaknya dihitung nggak ya?) — orang2 yang selalu bikin aku kagum, yang lebih banyak bekerja keras di balik layar, namun jarang terdengar suaranya di atas pentas :). Aku hanya ketemu Mas Aria sekali waktu beliau berkunjung singkat ke ITB, dan sekali ketemu Mas Kum waktu beliau beresepsi pernikahan. Jadi beruntung bisa ketemu Mas Rully, yang aku sambar untuk duduk semeja. Dan tak lama Mas Harry Sufehmi (berambut panjang!!) bergabung ke meja itu. Jadilah meja itu sayap hacker Isnet :).

Beberapa hari kemudian, ketemu lagi dengan Mas Harry Sufehmi di Waroeng Podjok of Plasa Senayan, berbincang tentang SMS content dan mobile content lain, dengan Mas Fami Fachruddin, dan Mas Budi Putra. Dan di ruang tak jauh, Café Bean of Plasa Senayan, beberapa jam kemudian, ketemu dengan kelompok besar anggota milis Teknologia. Judulnya Teknologia Offline. Di sini, selain ada wajah lama seperti Avianto dan Kukuh, banyak wajah yang baru buat aku, incl Irfan Tommy, Pitra, Adeline, Hasyim, Andi, Ilya, hmm siapa lagi ya. Tema umum tentang memulai deployment content ke masyarakat, dari berbagai sisi. Notulen ada di milis, dan bisa digoogle. Url ke mereka, bentar ya :).

teknologia-offline.jpg

Masih di Jakarta, aku baca ajakan ketemuan KLuB (Kelompok Linux Bandung). Aku minta ketemuannya ditunda, biar aku ada di Bandung, haha :). Tapi syukurlah mereka mau. Jadi akhirnya baru hari Minggu kemarin aku ketemu para hacker muda dari KLuB. Jumpa diawali di Pondok Baca Arcamanik, dimana KLuB punya komitmen melakukan instalasi dan maintentance LTSP untuk komputer buat anak2 kurang mampu. Trus dilanjutkan makan2 di Suis Butcher. Suasana perhackeran bikin Suis Butcher lebih menarik daripada hari lain. Anggota KLuB yang hadir a.l. Wisnu Manupraba, Antonius Aryo, Zaki Akhmad, dan Rolly Maulana. Tidak ada anggota KLuB dari angkatan tua, haha. Jangan2 udah pada pindah ke Mac :p. Aku coba ajak rekan2 KLuB untuk menggelar LTSP buat jadi solusi pengadaan jaringan komputer di sekolah2 lain yang secara finansial belum kuat, barangkali pakai dana CDC.

klub-at-suis-butcher.jpg

Udah selesai? Belum. Januari belum berakhir. Dalam kerangka Telkom, aku menghabiskan dua hari ini di Lembang, melakukan join plan session bersama Divisi Multimedia. Waaaa, djoempa hacker lagi. Orang2 pintar Telkom ini lebih banyak di balik layar memang. Takut dibajak, haha :). Tapi merekalah yang bikin aku yakin bahwa Telkom masih punya masa depan yang OK. Dan, OK, untuk menghormati gaya hidup mereka, nama mereka juga nggak aku tulis.

Ephremides

Kurasa IEEE harus jadi kategori satu lagi di blog ini. Atau tag, kalau aku sudah memutuskan bermigrasi ke WordPress 2.3.x nanti. Urusan lain deh. So, hari ini aku menikmati jadi mahasiswa. Datang ke Univ Bina Nusantara untuk menghadiri IEEE Distinguished Lecture on Cross Layering Issues. Lecturenya Prof Anthony Ephremides, dari Univ of Maryland. Namanya Yunani bener ya, mengingatkan pada Empieles (tema tesisku, haha). Mantan Presiden IEEE Information Theory Society (dimana aku hanya berstatus ‘mantan anggota’) ini datang ke Jakarta hanya untuk satu sesi kuliah ini, dalam tur kuliahnya keliling Asia Tenggara.

Di dalam ruangan, aku baru sadar bahwa judul kuliahnya adalah Cross-Layer Issued in Wireless Networks. Tadinya aku pikir semacam GMPLS dalam network terkonvergensi, karena sejauh ini aku membayangkan beliau sebagai ahli traffic engineering. Kuliah ini lebih menyoroti kasus2 dalam wireless network berelemen banyak (single hop dan multi hop), dimana akhirnya keputusan untuk membentuk jalinan network (pada layer fisik) akan berkait penuh dengan layer2 di atasnya (MAC, IP, dst). Tapi tak sembarang cara dilakukan untuk melakukan cross-layering. Secara hati2, kita harus amati interaksi antar layer, melakukan eksploitasi atasnya. Selanjutnya adalah formula2 dengan huruf2 Yunani (kan …) yang bikin otak merasa muda lagi (haha). Dan kemudian ide tentang network coding. Yummie.

Buat yang berminat, materi kuliah ini bisa aku kirim via mail. Atau kontak host sesi ini: Mr Lukas Tanutama and Mr Wiejaya of Univ Bina Nusantara, Computer Engineering Department. Telusuri juga beberapa tulisan Pak Ephremides di sini: www.hindawi.com/13692679.html.

Di dekat toilet aku mendengar seorang senior berbincang tentang penanaman saham Telkom baru2 ini di sebuah perusahaan pengembang perangkat lunak. Waktu aku keluar, Mr Endang of Trisakti memperkenalkan aku ke beliau. “Ini Kuncoro, Pak. Dari Telkom.” Beliau menatapku lekat, trus … “Ya, saya melihat kuliah Anda di Trisakti minggu lalu. Saya duduk di belakang.”

Akar Kuadrat dan 5f3759df

Saat source code untuk game Quake III dibuka, orang menemukan kode-kode C menarik dari John Carmack. Salah satunya adalah fungsi invers akar kuadrat, yang pada intinya ditulis sebagai berikut:

float InvSqrt(float x)
{
float xhalf = 0.5f*x;
int i = *(int*)&x;
i = 0x5f3759df- (i>>1);
x = *(float*)&i;
x = x*(1.5f-xhalf*x*x);
return x;
}

Menariknya, hack semacam ini menghasilkan kecepatan kalkulasi yang amat cepat, kira-kira empat kali lebih cepat daripada menggunakan (float)(1.0/sqrt(x)), walaupun sqrt dalam hal ini menggunakan instruksi assembly FSQRT.

Yang jelas, kode ini memanfaatkan metode Newton-Raphson. Tetapi pendekatan yang digunakan, dan terutama penggunaan heksadesimal 5f3759df tentu sangat menarik. Googlekan angka itu, dan temukan petualangan menarik mencari asal-usul baik bilangan ajaib itu, maupun hacknya sendiri. D Ebery misalnya, menganggap shift i>>1 mengakibatkan interpolasi linear pada si invers akar kuadrat. Tetapi, pertama kali, kita harus ingat bahwa si penulis kode sedang memainkan bit-bit floating point yang secara standar akan dikodekan sesuai IEEE 754-1985 (yang memisahkan mantissa dengan eksponen); dan si penulis juga meyakinkan diri bahwa kode ini jalan baik untuk little endian maupun big endian.

Sekarang, metode Newton-Raphson dulu, sambil dipandu C Lomont. Kita akan menghitung 1/akar(x). Definisikan dulu f(y)=1/y2 – x, sehingga nantinya nilai yang kita cari adalah akar positif dari f(x). Dengan metode Newton, jika kita punya pendekatan awal yn, maka kitadapat menghitung pendekatan berikutnya sebagai yn+1 = yn – f(yn)/f'(yn). Dengan f(y) di atas, akan diperoleh yn+1 = ½yn (3 – xyn2), atau dalam kode C di atas adalah x = x*(1.5f-xhalf*x*x), dengan x nilai pendekatan awal y0 kita. Baris i = 0x5f3759df-(i>>1) menghitung nilai awal y0 ini, dengan mengalikan eksponen x dengan -½. Kemudian bagian yang menarik pun dimulai. Karena, hey, yang dishift kan bukan hanya eksponen, tetapi keseluruhan bilangan.

Ada beberapa pendekatan untuk bagian ini. Aku baca baik versi C Lomont maupun C McEniry. Lomont membagi ulasan untuk eksponen genap dan ganjil segala. Tapi akhirnya yang mereka dapati adalah sebuah pola berulang, yang kemudian dicari minimasi kesalahannya, sehingga diperoleh sebuah nilai dengan kesalahan paling kecil. Dan kode di atas itulah hasilnya, dengan sebuah kiraan r 0.4327448899 dst. Lomont sendiri mendapati bahwa ia memperoleh bilangan yang memberikan akurasi lebih tinggi, yaitu 5f375a86. McEniry mengkritik bahwa brutal force yang sempat digunakan Lomont bisa justru tidak mendeteksi jurang sempit antar celah serangan brutal itu. Tapi, sebagaimana Lomont, ia juga memberikan saran perbaikan, baik untuk versi float maupun versi double.

float InvSqrt(float x)
{
union {float f; unsigned long ul; } y;
y.f = x;
y.ul = ( 0xBE6EB50C – y.ul ) >> 1;
y.f = 0.5f * y.f * (3.0f – x * y.f * y.f);
return y.f;
}

Untuk versi double, keyword float harus diganti double, unsigned long menjadi unsigned long long, dan si konstanta ajaib jadi 0xBFCDD6A18F6A6F54.

Mac Macan

Ketidaktahuan memang anugerah :). Ada sense yang menarik waktu kita mempelajari sesuatu yang baru, misal waktu belajar komputer. Aku bahkan masih bisa membayangkan detik2 menarik waktu aku pertama kali mengetik dengan Chiwriter, dan menyaksikan huruf2 bergulir ke baris baru tanpa aku harus menekan Enter (seperti di mesin ketik), sementara kata2 di baris lama mensejajarkan diri dalam baris yang rapi. Juga waktu pertama kali mengetik puts(“Hello world”); dan melakukan kompilasi dengan Turbo C. Dan ternyata yang macam gitu belum sepenuhnya hilang. Dia kembali waktu tahun 2006 aku mengupgrade komputer rumah bukan dengan PC lagi, tetapi dengan Mac.

Menikmati jadi novice, aku coba belajar dari buku (dan juga dari tanya2 — thanks to Eko and Jay). Belajar dari buku juga punya sense lain dibandingkan dari howto, dari ebook, dari i-documents — tak kalah yahudnya dibanding belajar sistem baru itu sendiri. macosxtigerbook.jpgDan buku yang dipilih adalah Running Mac OS X Tiger. Nah lo, kok baru beli sekarang — 1 tahun kemudian? Tadinya sih sekalian menunggu peluncuran Mac OS X Leopard yang dijadwalkan pertengahan tahun ini. Tapi ianya tak kunjung melandas jua. Akhirnya aku beli juga buku ini. (Hm, khabarnya akhirnya Leopard akan diluncurkan bulan Oktober ini juga — tapi biar deh, updatenya dipelajari via e-documents sahaja).

Buku ini bukan untuk novice sebenernya (hey, aku udah jadi user 1 tahun, masa novice melulu); tapi juga bukan untuk geek. Dia untuk power user. Mulai mendalami hal di balik GUI. Syukurlah aku nggak terlalu asing sama Unix. Tapi tentu Mac OS X bukan hanya Unix + GUI Aqua. Banyak serentetan hal menarik yang dihasilkan dari evolusi + revolusi + optimasi panjang dunia Mac; termasuk keputusan untuk menggeser dari Mac Classic ke Mac bergaya NeXT, lalu ke Unix BSD-based Darwin sebagai core. Banyak alternatif dimana kita bisa memainkan optimasi dan development. Toolsnya pun menarik untuk dicobai. Dan itu sebabnya buku ini jadi mengasyikkan.

Dan entah kenapa mimpiku jadi berisi tiger, panther, cheetah, puma, leopard, sekalian juga ocelot. Kecanduan Mac Macan kayaknya. Jadi lebih pintar? Not necessarily. Tapi hidup jadi lebih menarik.

Stroustrup Lagi

Hah, zaman Web 2.0 gini, masih membahas Stroustrup?
Dan ini jawabanku: Bjarin!

Waktu ditanya tentang contoh program C++ yang berhasil :), Stroustrup menjawab dengan: Google. Ia juga bertanya: masih ingat, seperti apa dunia tanpa Google, baru 5 tahun yang lalu? Selain ini ia juga menyebut Mars Rovers, yang bisa melakukan pengemudian secara mandiri di planet asing itu. Dan dalam wawancara lain juga ia menyebut Human Genome Project. Tapi waktu ditanya tentang kenapa sebagian besar program bermasalah, ia menyebut bahwa programmer tidak lagi sempat memeriksai “correctness, algorithms, data structures, maintainability” dari program — mereka dikelola oleh para micromanager yang membuat pekerjaan selalu seperti dalam keadaan darurat yang permanen. Hal2 seperti ini tidak pernah tampak oleh user, selain bahwa misalnya Internet Explorer tiba2 freeze. Hm, Google di sisi plus, Microsoft di sisi minus.

Ini tentu soal klasik. User, manager, hingga media, memuja software (dan produk akhir) yang murah, cepat, biarpun buggy. Orang tidak suka kerumitan, tidak suka belajar hal2 baru, dan tidak mau membayar lebih untuk kualitas. Soal lain yang tidak klasik adalah bahwa para pakar memaksakan satu atau dua aspek tertentu sebagai pemecahan masalah. Secara praktis, Stroustrup mencontohkan: “Better design methods can help, better specification techniques can help, better programming languages can help, better testing technologies can help, better operating systems can help, better middle-ware infrastructures can help, better understanding of application domains can help, better understanding of data structures and algorithms can help–and so on. For example, type theory, model-based development, and formal methods can undoubtedly provide significant help in some areas, but pushed as the solution to the exclusion of other approaches, each guarantees failure in large-scale projects. People push what they know and what they have seen work; how could they do otherwise? But few have the technical maturity to balance the demands and the resources.”

cpluxplux.jpgKritik2 atas C++ ditanggapi Stroustrup dengan mengiyakan bahwa memang C++ ditujukan untuk expert, tetapi dengan mengingatkan bahwa terdapat generalitas yang tertanam dalam bahasa itu. Dan performansi. Waktu si pewawancara mengingatkan bahwa Stroustrup pernah mengatakan bahwa salah satu motivator atas C++ adalah Kierkegaard :), ia membalas bahwa kecenderungan saat ini untuk mengintegrasikan manusia dalam corporate culture (tanpa melihat lagi keunikan dan talenta individual) itu kejam dan tak efektif. Kierkegaard adalah pendukung peran individu melawan “the crowd,” dan cukup serius membahas pentingnya estetika dan etika. Maka C++ jadi dicipta dengan mengandaikan setiap programmernya memiliki keleluasaan untuk mencipta dan mengatur yang terbaik bagi mereka sendiri.

Namun tentang aspect-oriented programming, Stroustrup meramalkan bahwa benda nan unik ini masih perlu waktu lama untuk meninggalkan dunia akademis dan memasuki industri nyata. Tentu ia tidak antipati pada benda elegan ini. Hanya, ia mengingatkan bahwa selain konsep yang baik, ada banyak hal yang harus disiapkan untuk masuk ke lingkungan skala industri.

Dan tentang C# dan .Net? Ah, Microsoft masih di sisi minus buat Stroustrup. Hmmh.

Lebih lanjut, baca sendiri:
The Problem with Programming
More Trouble in Programming

Juga lihat:
Stroustrup asli
Stroustrup wannabe

Installing Days

Mentang2 lebaran kali ye, disuruh bersuasana serba baru. So, beberapa menit setelah WordPress 2.0.5 diluncurkan, mumpung waktu lagi luang, aku langsung upgrade site ini ke WordPress 2.0.5. Link ini membahas perubahan dari WordPress 2.0.4: Mark Jaquith. Tapi sambil sekaligus download Firefox 2.0. Beresin WordPress (edit dikit), Firefox mulai diinstal (Hal-hal baru di versi ini dibahas di link ini: Mozilla). Tapi nggak lama, trus inget bahwa Microsoft juga konon mau meluncurkan Explorer 7.0 hari2 ini juga. Jadi, berkunjung ke Microsoft, dan ternyata memang udah siap diload (Apa yang baru? Lihat di link ini: Microsoft). OK, install juga yang satu itu. Plus beberapa add on, baik untuk Firefox 2 maupun Explorer 7. Apa lagi? Ah ya: Turbo C++. Abis download yang selalu tertunda, akhirnya dapat juga file instalasi Turbo Explorer (C++, C#, Delphi — info lengkap ada di sini: Turbo Explorer) dari majalah PC Media edisi November, dalam bentuk DVD. Install lagi! Baru C++ aja sih. Install Delphi juga udah nggak punya bayangan sintaksnya kayak apa. C#, ntar deh di komputer lain, buat iseng kali ye.

Anyway, hari ini mulai ke kantor lagi. Mudah2an ada yang baru juga :).

Turbo C++ Diluncurkan

Ini jelas deja vu. Dan barangkali juga candaan — tapi candaan yang serius. Tapi, punten ah, mau heboh bentar. Aaaaaaaaaaaaaaaaaaaaaaaaaa. Benda ajaib ini bisa kembali! Dan Ariya yang menginfokan bahwa keluarga Turbo dari Borland kembali diluncurkan. Aaaaaaaaaaaaaaaa. Eh, tadi udah.

Turbo pernah jadi semacam pahlawan di pertengahan akhir tahun 1980an. Di zaman itu, Anda pikir, berapa waktu yang diperlukan untuk bisa jadi programmer awal Bahasa C? Atau Pascal? Kurang dari setengah jam! Masukkan disket IDE ke Drive A, ketik TC pada prompt DOS, tunggu kira2 setengah menit sampai IDE termuat. Editor bergaya WS itu tak lagi perlu dipelajari. Tinggal soal bahasanya. Tekan F1 untuk meminta bantuan. Ketikkan sebuah contoh yang diberikan. Save. Panggil menu Run. Eit, jalan! Terus kita periksa apa yang baru saja terjadi. Dengan ritme detak jantung yang bahkan terasakan sampai sekarang. Dan kemudian eksplorasi panjang pun dimulai. Thanks, Borland.

Turbo C++Kalau versi aku (yang lebih banyak ketemu orang elektro), minggu2 awal bukannya diisi pembelajaran fungsi2 dari kepustakaan C, tetapi belajar memprogram kode-kode pengganti assembler dalam bahasa C. Wow, aku udah secanggih kakak2 angkatanku :). Baru fungsi2 C sendiri. Dan bikin editor sendiri (VIE dan kemudian TVE, hihi), sehingga nggak lama kemudian TC jarang dipakai lagi (selain untuk tracing). Kompilasi menggunakan TCC yang merupakan versi command line. File yang dihasilkan bukan cuma EXE, tetapi juga COM. Eh, COM yang ini beneran ekstensi loh, bukan seperti yang kata seorang pakar: ekstensi domain. Trus, tentu saja terimbas migrasi dari kompiler C ke kompiler C++. Biarpun, sebenernya, nulis programnya tetap dalam C. Dan baru kemudian pindah ke C++, tanpa heboh.

Oh ya, ini site keluarga Turbo yang akan diluncurkan kembali: turboexplorer.com. Diluncurkan 13 hari lagi, Turbo Explorer akan mencakup Turbo C++, Turbo C#, Turbo Delphi, dan Turbo Delphi .NET. Turbo Assembler dan Turbo Prolog nampaknya cuman akan tersedia di museum. Turbo Profiler juga — takut ketuker turbo propeller. Baca rinciannya di site itu yaa.

Charles Simonyi

Tadinya aku berminat nulis tentang beberapa matematikawan lagi. Kawanan matematikawan mati kawanan, semacam itu lah. Tapi, gara2 masih doyan buku2 string, nama yang pertama teringat itu Edward Witten. Kebetulan, tahun 2003 aku pernah nulis nama ini di blog ini. Trus aku baca2 dikit di Wiki tentang Witten.  Pemenang Medali Field, tentu. Pendiri teori M, dimana lima macam teori string yang ada pada waktu itu dapat dipandang hanya sebagai kasus2nya. Sekarang merupakan Charles Simonyi Professor of Mathematical Physics di Institute for Advanced Study. Lucunya, nama Charles Simonyi ini kedengeran akrab. Ini juga adalah jabatan profesor yang dipegang Richard Dawkins (yeah, Dawkins yang itu tentu).  Dawkins adalah Charles Simonyi Professor in the Public Understanding of Science di Oxford University. Ostosmastis, jadi penasaran: siapa sih Charles Simonyi, yang memberikan professorship kepada dua orang yang betul-betul outstanding di bidangnya? Terutama Ed Witten, tentu.

Charles Simonyi ternyata … programmer! Dan kerja untuk Microsoft! Anak ini lahir di Hongaria. Waktu SMA, dia kerja jadi satpam di lab komputer. Trus belajar komputer. Lulus SMA, dia sudah bisa menulis kompiler sendiri, dan menjualnya ke pemerintah. Trus pindah ke AS, sekalian kuliah Engineering Mathematics. Kerja di Xerox PARC, dia menyusun program penyiapan program pertama yang bersifat wysiwyg. Trus, tahun 1981, dia melamar ke Bill Gates untuk kerja di Microsoft. Di sini, sia bekerja menyusun Multiplan dan kemudian Excel. Juga Word. Simonyi membawa ke Microsoft teknik pemrograman berorientasi obyek, dan penamaan variabel “bernotasi Hongaria.” Untuk menyusun disertasi, Simonyi menyusun metode pengelolaan software yang dinamai metaprogramming. Metaprogramming memperkaya knowledge di Microsoft, sehingga mereka mengambil pendekatan baru untuk programming setelahnya. Namun tahun 2002 Simonyi keluar secara kasar dari Microsoft, dan mendirikan perusahaan baru.

Simonyi seorang philanthropist. Buktinya tentu adalah beberapa professorship yang ia danai. Juga ia membuat Dana Simonyi untuk Seni dan Sains. Sekarang, cita2nya adalah menjadi turis luar angkasa yang kelima. Rencananya mau berangkat bulan Maret 2007.

Web 2.0

Google menyebut belasan juta hit untuk istilah ini. Factive menunjukkan 1500 kutipan. Technorati bilang ada seratusan ribu weblog yang mengulasnya. Dan satu lagi sekarang. Web 2.0. Banyak yang membahasnya dengan becanda. Kenapa? Definisinya memang tak pernah jelas. Entah karena cakupannya yang terlalu luas untuk disempitkan, atau memang dia tidak  sungguh2 punya arti. Spectrum coba2 mendefinisikannya secara kasar: fase kedua dari evolusi web dimana para pengembang mencipta site yang berlaku mirip program desktop serta mendorong komunikasi dan kolaborasi antar user. Tuh kan, kali ini nggak becanda :). Beberapa keywordnya: tagging, folksonomy, long tail, dan collective intelligence.

Yang mungkin terbayang dengan kata kolaborasi tentulah Wiki, dan berbagai proyeknya. Tapi yang membuat istilah Web 2.0 banyak dipakai justru Gmail dari Google. Juga Flickr yang dibeli Yahoo dan Writely juga dibeli Google. Google juga main spreadsheet sekarang. Belum nyoba. Dilarang dokter untuk sering ketemu spreadsheet, for God’s sake.

Web 2.0 dibasiskan pada web yang secara dinamik memanfaatkan database. Interface ditata dengan AJAX (kaitan asinkron antara Javasript dan XML). Web services banyak dimainkan. Yang menarik tentu adalah menciptakan info atau layanan baru dengan memanfaatkan web services dari beberapa sumber sekaligus.
Orang IT memang suka mengalihkan satu istilah ke istilah lain. Misalnya, dari dulu ada web service dan infoware. Dari dulu ada XML dan Javascript. Trus kenapa ada AJAX sekarang? AJAX memang sekedar Javascript bermain XML :). Tapi ada skemanya. User interface yang standard dengan DHTML dan CSS, dinamisasi interaktivitas dengan document object model, transformasi dan transfer dara dengan XML dan XSLT, komunikasi asinkron dengan XMLHttpRequest, dan JavaScript yang menggabungkan komponen2 itu.

Tapi, repot2, konon sebenernya Web 2.0 itu cuman semangat baru, menyambut kembalinya uang ke Internet. Tuh kan, becanda lagi. UUD pula :).

« Older posts Newer posts »

© 2024 Kuncoro++

Theme by Anders NorénUp ↑