The Hobbyist Scientist

When you make science your hobby.

Saturday, December 05, 2009

Reboot

Setelah lama tidak disentuh, blog ini akan didefinisikan ulang. Stay tuned.

Addendum: I'll also switch the blog language to English.

Sunday, May 15, 2005

Tes

Friday, March 18, 2005

Unsolved Mysteries

Perhaps it's good I left physics now. At least I won't be polluted by unadequate theories.

What I mean is this. Seems science has some embarassing problem unresolved.

Tuesday, July 13, 2004

Mengoptimasi kinerja Mozilla Firefox

(Oke, ini bukan tentang sains, tapi teknologi kadang-kadang dicampur-campurkan dengan sains...)

Firefox, browser dengan ikon panda memeluk bola dunia, dibangga-banggakan oleh para pencintanya karena cepat dan ringan. Namun sebenarnya masih ada cara untuk mengoptimalkan browser ini supaya terasa lebih tanggap dan lebih cepat, yaitu dengan mengubah-ubah settingnya.

Menyetel Firefox



Ada tiga cara untuk menyetel Firefox. Pertama melalui menu. Cara ini, walaupun yang paling gampang dilakukan, tidak bisa menyentuh semua setting yang tersedia. Setelan yang lebih lanjut bisa dilakukan menggunakan file konfigurasi.
File konfigurasi tentunya tidak akan asing bagi anda yang sudah terbiasa menggunakan sistem operasi Linux. Banyak setting program di Linux dilakukan dengan menyunting file teks yang biasanya berekstensi .conf. Banyak program aplikasi di Linux juga menyediakan setelan untuk masing-masing pemakai, yang biasa dilakukan dengan file berawalan titik di depannya. Contoh file-file seperti ini misalnya .bashrc, .cshrc, .winerc. Firefox menggunakan file konfigurasi yang bernama user.js untuk menyetel Firefox sesuai kehendak pemakai. File ini pada instalasi default Firefox tidak ada sehingga pemakai harus menciptakannya terlebih dahulu.
Setelah anda membuat file user.js, anda harus mengetikkan perintah ke dalam file tersebut dengan sintaks berikut:

user_pref(“nama-setting”, nilai);


Penjelasan lebih lanjut akan diberikan di bawah.


Cara ketiga mungkin lebih disukai oleh para pemakai yang tidak ingin bersusah-susah membuat dan mengedit file konfigurasi. Ketikkan URI about:config pada address bar tempat anda biasa memasukkan alamat web. Anda akan menjumpai daftar setting beserta nilainya yang diurut abjad. Bila anda mengklik ganda salah satu setting tersebut Firefox akan meminta anda untuk memasukkan nilai baru.


Dari ketiga cara tersebut, cara yang disarankan adalah cara kedua, menggunakan file konfigurasi. Karena file ini hanya dibaca oleh Firefox tapi tidak pernah diubah, anda akan lebih mudah menyimpan setelan browser apabila anda berniat memperbarui browser.


Sekarang, setelah anda menemukan cara menyetel Firefox, apa yang harus anda lakukan?

Mempercepat/menunda tampilan




Setting: nglayout.initialpaint.delay
Default: 250 (ms)
Type: integer


Firefox tidak langsung menampilkan halaman web ketika anda mengklik taut atau mengetikkan alamat web. Firefox akan menunggu selama beberapa waktu sebelum menayangkan halaman web yang anda tuju.


Nama setting yang mengatur berapa lama ini adalah nglayout.initialpaint.delay. Anda bisa mencari setting ini dengan membuka about:config. Nilai default setting ini adalah 250, yang artinya Firefox akan menunggu selama 250 milidetik sebelum mulai menampilkan halaman web di layar monitor.


Anda bisa menaikkan atau menurunkan nilai ini, tergantung pada kecepatan koneksi dan kecepatan prosesor komputer anda. Firefox akan menampilkan halaman web di layar setelah waktu yang ditentukan pada setting nglayout.initialpaint.delay, walaupun data situs web bersangkutan belum sepenuhnya masuk. Ketika data susulan masuk Firefox harus menyesuaikan tampilannya dengan menambahkan data tersebut. Proses penyesuaian ini menguras kerja prosesor.


Apabila anda punya koneksi cepat sehingga halaman web bisa didownload hampir seketika, menurunkan angka setting ini adalah pilihan yang baik. Dengan koneksi cepat dan nilai setting nglayout.initialpaint.delay rendah, kemungkinan besar sudah cukup banyak data yang masuk ketika Firefox mulai menampilkan halaman web di layar.


Di sisi lain bila koneksi anda lambat, mungkin menurunkan setting ini malah berakibat buruk. Menurunkan setting ini menjadikan Firefox tampak lebih responsif, namun memperlambat kinerja keseluruhan. Tentu saja bila komputer anda sudah sangat cepat hal ini tidak akan menjadi masalah besar (buat apa lagi prosesor anda yang mencapai milyaran Hertz itu?), tapi bagaimana kalau prosesor sudah gaek dan renta?


Buat koneksi lambat dan prosesor lelet memperpanjang waktu tunda ini—misalnya sampai 750 milidetik—malah lebih baik. Saat Firefox sudah mulai menayangkan halaman web sudah cukup banyak data yang masuk dan browser tidak perlu menguras tenaga prosesor terlalu banyak untuk menyesuaikan tampilan.


Sebagai contoh, untuk mengubah nilai ini sehingga waktu tunda menjadi 750 milidetik menggunakan file user.js ketikkan:


//menunda sampai 750 milidetik
user_pref(“nglayout.initialpaint.delay”, 750);


Menggunakan pipelining



Setting: network.http.pipelining
Tipe: boolean
Nilai default: false

Setting: network.http.proxy.pipelining
Tipe: boolean
default: false

Setting: network.http.pipelining.maxrequests
Tipe:integer
default: 4


Pada koneksi web biasa (tanpa pipelining), permintaan data pada server-server web ditangani secara berurutan. Browser akan meminta data pada satu server dan menunggu sampai mendapat tanggapan. Setelah itu barulah browser mulai mengirim permintaan lain.


Pendekatan ini memperlambat browser karena dia harus menunggu permintaan data diproses sebelum dapat meminta data lagi. Penggunaan pipelining mengatasi masalah ini dan demikian bisa mempercepat browser. Dengan pipelining browser tidak akan menunggu tanggapan server sebelum mengirim permintaan berikutnya.


Sebenarnya fitur pipelining sudah menjadi standar protokol HTTP versi 1.1, namun fitur ini tidak ditemukan pada IE (Internet Explorer), dan juga tidak didukung sepenuhnya oleh beberapa jenis peranti lunak web server. Web server dengan standar HTTP 1.1 seharusnya dapat menangani permintaan browser yang menggunakan pipelining. Namun pada kenyataannya ada beberapa situs yang tidak mendukung pipelining dan malah menimbulkan masalah pada browser dengan pipelining. Karena itulah setelan default Firefox tidak menggunakan pipelining.


Saat ini selain Mozilla/Firefox, browser Opera juga mendukung fitur pipelining.


Tiga setting yang berkaitan dengan pipelining adalah network.http.pipelining, network.http.proxy.pipelining, dan network.http.pipelining.maxrequests.
Setting pertama berguna untuk mengaktifkan fitur pipelining pada koneksi tanpa proxy server, sedangkan setting kedua untuk koneksi dengan proxy server. Aktifkan fitur pipelining untuk kedua jenis koneksi ini dengan mengubah nilainya dari false menjadi true.


Setting ketiga, network.http.pipelining.maxrequests berguna untuk menentukan berapa banyak permintaan data yang bisa antri pada satu sambungan. Default nilai ini adalah 4, dan nilai maksimumnya 8. Untuk mempercepat browser, ubah nilai ini ke maksimumnya.


Contoh setting fitur ini pada file user.js adalah:


user_pref(“network.http.pipelining”, true);
user_pref(“network.http.proxy.pipelining”, true);
user_pref(“network.http.pipelining.maxrequests, 8);

Monday, May 31, 2004

Masalah Friendster

Ikut Friendster? Kalau iya, coba perhatikan halaman web yang ditampilkan setelah login. Salah satu informasi yang bisa kamu baca adalah berapa banyak teman derajat pertama, kedua dan ketiga yang kamu miliki. Sebagai contoh, halaman Friendster gua saat ini menunjukkan 17 teman derajat pertama, 1819 teman derajat kedua dan 64391 teman derajat ketiga.


Apa kesimpulan yang bisa ditarik dari angka-angka di atas? Hal yang paling jelas tentunya gua kuper berat. Tapi anehnya walaupun kuper, dengan hanya 17 teman derajat pertama (teman yang gua kenal langsung dan berada pada daftar teman gua) gua bisa punya 1819 teman derajat kedua. Itu sekitar 100 kali lipat dari jumlah teman derajat pertama. Artinya rata-rata teman yang gua miliki punya 100 teman unik. Artinya lagi bahwa biarpun gua kuper, teman gua jauh lebih gaul karena mereka rata-rata punya 100 orang teman unik.


Apa lagi yang bisa dilakukan dengan angka-angka ini? Tentu saja menggambar grafiknya. Misalkan S(n) adalah jumlah teman derajat ke-n. Bila kita menggrafik S(n) terhadap n, bagaimana bentuk kurvanya?


Dugaan yang pertama masuk akal adalah grafik tersebut akan berbentuk eksponensial (fungsi a * exp (b*n)). Ternyata data teman-teman Friendster gua tidak mengikuti asumsi ini. Tapi mungkin ini cuma karena gua kuper :P Bila gua mengikuti pola orang lain dalam mencari teman di Friendster, siapa tahu gua juga bisa punya teman lebih dari 100 orang sehingga grafik tersebut akan berbentuk eksponensial


Pertanyaan lain yang timbul:


  1. Berapa jumlah S(4), S(5), S(6)...dst?

  2. Bagaimana bentuk kurvanya?

  3. Bisa diduga bahwa fungsi diskret S(n) monoton naik (artinya naik terus dan tidak pernah turun. Mungkin istilah ini tidak tepat. Mohon maaf, pengetahuan Matematika gua sudah mulai berkarat). Pada angka n=m S(n) akan berhenti naik dan mencapai maksimum. Berapa angka m ini?


Silakan jawab. Gua tidak punya waktu memecahkan semua persoalan di atas :P

Posting Pertama

Akhirnya blog ini jadi juga :)


Di sini gua bermaksud memposting hal-hal yang berkaitan dengan sains dan teknologi. Jadi kita akan membahas fisika, matematika, biologi, ekonomi, komputer, dan hal-hal lain yang gua pikir menarik.