Bug dalam Browser Sniff

Salah satu plugin WordPress yang saya sukai adalah Browser Sniff. Plugin buatan Mas Priyadi ini mendeteksi dan menampilkan jenis web browser dan sistem operasi yang digunakan oleh pemberi komentar dalam tulisan dalam blog kita. Gara-gara mencoba menggunakan Safari versi Windows sebagai web browser, saya menemukan sedikit bug di plugin browser sniff tersebut. Lihat keanehan tampilan berikut ini :

browser_sniff_bug1

Saat saya memberikan komentar balik, tampilan yang muncul membuat saya tersenyum 🙂 . Saya menggunakan Safari di dalam Windows XP saat memberikan komentar, tapi malah dideteksi oleh plugin bahwa saya menggunakan Safari dalam Mac OS X :)) . Mungkin waktu Mas Priyadi membuat browser sniff ini, Apple belum mengeluarkan Safari versi Windows. Makanya plugin mengenali Safari sebagai web browser milik Mac OSnya Appple. Padahal yang saya gunakan sekarang adalah Safari versi Windows (saya jalankan di Windows XP).

Setahun

Sudah beberapa hari ini kabarnya di Lapangan Banteng Jakarta Pusat diadakan pameran flora dan fauna (“flona”). Setahun lalu pameran flora dan fauna juga diadakan di Lapangan Banteng. Anda tahu kan Lapangan Banteng? Itu loh lapangan yang dikelilingi Mesjid Istiqlal, Gereja Katedral, Hotel Borobudur, Gedung Pertamina…(apa lagi ya yang ada di sekelilingnya?). Pada pameran flona sebelumnya saya diajak nonton pameran oleh seorang rekan yang menjalankan bisnis di bidang agrobisnis.

Beberapa hari yang lalu saya berpikir kok aneh pameran flona sering sekali diadakan. Saya merasa belum lama saya datang ke pameran flona itu, masih dalam hitungan bulan (belum sampai 1 tahun). Saat saya berpikir seperti itu saya tidak ingat kalau tahun lalu pameran flona diadakan di bulan Agustus. Baru kemarin ini saya ketemu lagi dengan rekan saya yang dulu mengajak saya ke pameran flona. Saat ngobrol-ngobrol itulah saya baru ingat kalau ternyata sudah 1 tahun berlalu sejak pameran yang saya kunjungi. Saya kaget juga mengingat ternyata sudah 1 tahun berlalu. Saya jadi ingat momen saya mengunjungi pameran tahun lalu adalah awal-awal saya tinggal di Jakarta (karena Agustus 2007 saya diterima bekerja untuk pertama kali pertama kalinya).

Gara-gara mengingat pameran flona banyak hal yang saya ingat. Utamanya adalah ternyata sudah 1 tahun saya bekerja di Jakarta 😀 .

Boot Loader di Windows

Boot loader adalah sebuah program kecil dalam komputer yang dipakai untuk mengenali sistem operasi yang ada di dalam komputer. Ketika komputer dinyalakan yang terjadi adalah proses booting, salah satu sekuen yang terjadi adalah boot loader mengenali adanya sistem operasi dan membawanya (loading – apa ya terjemahan yang bagus untuk loading?) ke dalam memori. Tanpa adanya boot loader, sistem operasi tidak dapat digunakan, karena di dalam memori tidak ada sistem operasi. Semua sistem operasi rata-rata disimpan di dalam harddisk.

Boot loader di Linux yang paling umum adalah LILO atau GRUB (saya tidak tahu apa ada yang lain 🙂 ). Windows memiliki NTLDR sebagai boot loader-nya. Untuk dapat beroperasi NTLDR memerlukan file boot.ini (file ini menyimpan konfigurasi sistem operasi yang ada di dalam harddisk).

Dulu saya sering sekali menginstal Linux di dalam komputer yang berisi Windows. Rata-rata distro Linux yang saya instal mengenali adanya Windows, sehingga dalam menu GRUB/LILO selalu ditampilkan pilihan untuk menggunakan sistem operasi Windows daripada Linux. Dengan begitu saya jadi mudah memilih mana sistem operasi yang ingin saya gunakan.

Saya juga pernah menginstal Windows ke dalam komputer yang sudah berisi Linux. Windows tidak semerta-merta mengenali adanya Linux dalam komputer tersebut. Akibatnya setelah Windows terinstal dengan baik, kita tidak bisa masuk ke dalam Linux (tidak ada menu pilihannya). Biasanya kalau ini terjadi, saya akan boot lagi Linuxnya dengan CD instalasinya untuk kemudian menginstal ulang boot loadernya, baik LILO maupun GRUB.

Hari ini saya iseng browsing ingin mencari tahu apakah ada cara lain untuk memudahkan kita menginstal Windows tanpa menghilangkan akses ke dalam Linux yang sudah ada. Beberapa waktu browsing saya menemukan link ini. Saya lalu melakukan sedikit percobaan untuk membuktikan cara yang diajarkan di situs yang saya dapat tadi. Komputer saya saat ini hanya berisi Ubuntu Linux. Langkah-langkah eksperimennya kira-kira seperti ini :

  1. Jalankan perintah ini pada terminal :
    # dd if=/dev/sda1 of=/bootsect.lnx bs=512 count=1
    Perintah ini akan menghasilkan file bootsect.lnx di dalam direktori root. /dev/sda1 adalah direktori /boot Ubuntu saya.
  2. Copy file bootsect.lnx ke dalam flash disk.
  3. Saya buat partisi baru di dalam Ubuntu saya, lalu saya instal Windows XP ke dalamnya. Setelah Windows sudah selesai diinstal, saya sekarang tidak bisa lagi masuk ke Ubuntu. Setelah restart, sistem akan langsung masuk ke dalam Windows XP tanpa ada pilihan apapun.
  4. Di dalam Windows, saya copy file bootsect.lnx dari flash disk tadi ke partisinya sistem (C:\).
  5. Saya perlu mengubah file boot.ini dengan menambahkan baris berikut ini :
    c:\bootsect.lnx="Linux". Setelah sedikit diubah, file boot.ini sekarang isinya seperti ini :
    [boot loader]

    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP
    Professional" /noexecute=optin /fastdetect

    c:\bootsect.lnx="Linux"
    Sedikit catatan, file boot.ini adalah file read-only. Kita perlu mengubah atributnya terlebih dulu menjadi read-write supaya bisa dimodifikasi.
  6. Restart komputer dan lihat hasilnya, Windows akan menampilkan pilihan untuk masuk ke dalam Linux atau langsung masuk ke dalam Windows. 😀