Kalau Ragu Tanya Google

Banyak orang salah menggunakan “worthed” ketika yang dia maksud adalah “worth it”, memakai “dateline” (baris tanggal) padahal dia ingin menuliskan “deadline” (tenggat/batas waktu). Hal sederhana tersebut sebenarnya bisa dicek dengan mudah di Google. Cara pertama adalah dengan mencari definisinya, tapi biasanya orang akan bingung membaca definisi yang rumit. Cara kedua lebih mudah: bandingkan jumlah hasil pencariannya, yang lebih banyak biasanya benar.

Misalnya, mencari kata “worthed” akan menunjukkan ada 136.000 hasil, sedangkan “worth it” menghasilkan 83.500.000 hasil. Anda lalu bisa mengecek beberapa hasil pertama, apakah kata yang ingin Anda pakai itu memang yang Anda cari. Kata “worthed” merupakan kata dalam bahasa Inggris kuno yang sudah tidak dipakai lagi (artinya “To befall; betide” atau “terjadi”). Perhatikan bahwa jika kita ingin mencari frasa, harus dilingkupi kutip “seperti ini” (jika tidak ada kutipnya maka hasilnya adalah halaman yang ada kata “seperti” dan kata “ini”).

worthed

worth_it

Lanjutkan membaca “Kalau Ragu Tanya Google”

Tutorial membuat interpreter/compiler

Rasanya banyak sekali orang yang ingin bisa membuat interpreter dan/atau compiler. Sejak setahun yang lalu saya sudah berniat menuliskan artikelnya, tapi selalu terdistract hal yang lain. Nah kemarin saya sempat membereskan tulisan yang belum selesai itu, sudah ada 5 bagian. Ternyata agak sulit menuliskan penulisan compiler dalam format tutorial, karena saya harus berusaha menjelaskan isi program bagian demi bagian.

Tutorial ini semoga bisa berguna untuk Anda yang ingin membuat bahasa pemrograman baru, baik yang general purpose, maupun yang domain specific.

Untuk Anda yang berminat membaca, silahkan kunjungi http://yohan.es/compiler/. Kritik, saran, dan komentarnya ditunggu.

Nusa jadi Nusaptel

Sudah lama saya tidak mendengar kabar bahasa pemrograman Nusa. Ternyata sekarang namanya berubah (lagi) menjadi Nusaptel. Dulu di awal namanya adalah batak, lalu berubah menjadi nusa, dan sekarang menjadi nusaptel.Saya juga tidak tahu kenapa namanya berubah, atau apa arti akhiran ptel itu. Satu hal yang jelas: bahasa ini katanya mulai diajarkan di training/tutorial di berbagai universitas (kalau tidak salah di antaranya adalah ITS, UKSW, dan Amikom). Training diberikan ke dosen, dan bukan ke mahasiswa. Saya pun tidak tahu versi compiler mana yang diberikan di training tersebut, karena menurut rekan yang ikut milis nusa, belum ada compiler baru yang dirilis.

Kegiatan ini rupanya didukung oleh Depkominfo. Bahkan ternyata ada lelang pengadaan library untuk nusaptel senilai 280 juta rupiah. Kalau dilihat dari jadwal di situs Sistem e-Pengadaan Pemerintah, proyek ini seharusnya sudah berjalan.

Saya sendiri masih agak heran dengan dukungan Depkominfo ini. Apakah boleh seseorang membuat produk (dalam hal ini compiler Nusaptel), lalu minta bantuan pemerintah untuk mempromosikan dan bahkan mendanai untuk membuat librarynya? perlu dicatat Nusaptel ini tidak open source, bahkan tidak tersedia gratis secara umum, perancang bahasanya pun terang-terangan menyatakan bahwa bahasa ini nantinya akan komersial. Untuk mendownload compiler nusa saja, kita harus mendaftar jadi anggota milis (perlu mendapat persetujuan moderator dan bisa ditendang keluar jika membuat kritik, seperti yang terjadi pada saya). Sampai saat ini pun belum ada sama sekali paper baik nasional maupun internasional yang ditulis mengenai bahasa Nusa, jadi produk ini merupakan produk proprietary.

Dalam salah satu komunikasi dinyatakan bahwa lambatnya perkembangan bahasa nusa adalah karena tidak tersedianya dana. Jika itu benar, semoga dana yang diterima untuk pengembangan nusa tersebut bisa dimanfaatkan. Seharusnya 280 juta (yg sekarang setara dengan 27 ribu USD) itu cukup, sesuai dengan kutipan dari situs ini:

“Ridho bercerita pernah mencoba menyerahkan pembuatan translator ke pihak peneliti di AS. “Tapi biayanya mahal sekali berkisar US$10.000 – US$ 30.000 tergantung tipe translator yang diinginkan, apakah mau yang sederhana atau sampai yang mendukung GUI (Graphical User Interface-red). Saya tidak punya uang sebanyak itu,” paparnya.”

Kita tunggu saja bagaimana kelanjutan bahasa ini, apakah benar bisa menjadi bahasa yang besar dengan adanya dukungan pemerintah. Atau justru hal ini akan membuktikan bahwa bahasa tersebut belum layak untuk dikembangkan.

Mari beralih ke compiler baru

Saya gemes, sampai tahun ini (2008) saya melihat masih ada dosen yang menyarankan mahasiswanya memakai Visual Basic 6, Turbo C++ 3.0, Turbo Pascal 7, atau software sejenis yang sudah sangat ketinggalan jaman. Saran ini bisa dalam bentuk praktikum di kelas, atau untuk tugas akhir.

VB 6 versi terakhir adalah tahun 1998, dan sudah tidak disupport lagi (untuk siapapun juga) oleh microsoft pada tahun 2008. Turbo C++ 3.0 dirilis tahun 1991 (17 tahun yang lalu), dan Turbo Pascal 7 dirilis tahun 1992 (16 tahun yang lalu).

Mungkin sebagian akan bertanya, mengapa harus pakai software yang baru? yang lama kan masih bisa dipakai?. Ada banyak alasan mengapa sebaiknya pindah ke compiler yang baru.

Alasan pertama adalah: pembajakan. Software-software tersebut memang sudah tua, dan tidak dijual lagi, tapi bukan berarti boleh disebarkan secara bebas. Perusahaan-perusahaan pembuat software itu masih memiliki hak cipta atas software-software tersebut. Dulu mungkin belum banyak alternatif pengganti compiler, tapi sekarang sudah ada banyak. Jika bisa memakai yang legal, kenapa harus membajak?. Turbo C++ bisa digantikan dengan GCC, atau jika perlu IDE, bisa memakai Micosoft Visual C++ versi gratis. Turbo Pascal bisa digantikan dengan FreePascal, atau jika perlu IDE bisa memakai Turbo Delphi Explorer (Turbo Delphi versi gratis) Lazarus. Visual Basic bisa digantikan dengan Gambas, atau Visual Basic .NET (versi gratis).

Lanjutkan membaca “Mari beralih ke compiler baru”

Menyimpan Foto di Flickr

Sejak Risna beli Nokia 3650 yang memiliki kamera di masa awal kami pacaran, kami sudah mengumpulkan banyak foto. Kami bukan fotografer professional, jadi foto-fotonya boleh dibilang sekedar dokumentasi (atau zaman sekarang orang yang semacam ini disebut photoblogger). Sudah ada beberapa kamera yang kami pakai, sejak kamera cicilan kartu kredit, sampai kamera saat ini.

Jumlah foto-foto kami totalnya sudah puluhan gigabyte, dan semakin sulit mengaturnya. Dulu sempat memakai iPhoto di iBook, tapi makin melambat ketika jumlah foto mencapai ribuan. Ketika pindah ke Linux, segala metadata yang pernah dimasukkan jadi hilang lagi 🙁 . Akhirnya diputuskan bahwa penyimpanan online akan lebih mudah dikelola.

Lanjutkan membaca “Menyimpan Foto di Flickr”

Why I Like cat

Bukan, posting ini bukan soal kucing, tapi soal perintah cat di UNIX (Linux/Mac/BSD). Perintah ini gunanya untuk menggabungkan (concatenate) file-file input ke standard output (bahasa sederhananya: ditampilkan ke layar). Jika hanya satu file yang diberikan sebagai input, maka file itu akan ditampilkan.

Di UNIX, kita bisa mengkomposisi banyak perintah dengan menggunakan pipe. Output perintah satu bisa dijadikan input perintah yang lain. Nah banyak orang suka menggunakan cat untuk memberikan file ke program lain, misalnya seperti ini:

cat file.txt| grep secara | wc -l

(hitung berapa jumlah baris yang mengandung kata secara)

Penggunaan perintah cat tersebut sebenarnya tidak perlu, karena seharusnya cukup

grep secara file.txt | wc -l

atau bisa juga menggunakan redirection

grep secara < file.txt | wc -l

Sebagian orang memandang penggunaan cat dalam kasus ini sangat tidak diperlukan, dan dianggap membuang resource (karena proses cat harus dieksekusi plus pipe harus dibuat). Orang-orang ini (sejak 1995) kadang-kadang memberikan “penghargaan” Useless Use of cat.

Saya termasuk orang yang suka menggunakan cat di 99% situasi. Dalam posting ini saya akan memberikan alasannya kenapa.

Lanjutkan membaca “Why I Like cat”

Jaringan Kecil di Apartemen Kami

Ternyata setelah dihitung ada 12 benda di rumah kami yang memiliki satu atau lebih alamat IP: modem ADSL, Router, 2 komputer, 2 laptop, 2 ponsel, 1 ipod touch, 2 network attached storage, 1 PDA, dan 1 Wii. Tanpa disadari, pengalaman menjadi admin di informatika ITB selama 3 tahun sangat membantu dalam mengurus masalah jaringan di rumah. Sekarang mau cerita dikit-dikit deh mengenai jaringan di apartemen.

Ada banyak OS yang terlibat dalam jaringan ini, 1 komputer memakai Linux 64 bit (Debian Lenny), 1 komputer memakai Linux 32 bit (Debian Lenny), NAS juga menggunakan Debian (versi ARM), satu laptop (mac book pro) menggunakan OS X Leopard, satu lagi menggunakan Windows XP. Satu ponsel menggunakan Nokia S60 3rd edition, yang lain menggunakan UIQ 3.0.  PDA menggunakan Windows Mobile, iPod touch menggunakan OS turunan OS X, dan Wii menggunakan OS-nya sendiri.

Router Wifi yang sudah diinstall linux dan dimodifikasi, berfungsi sebagai gateway, proxy, DHCP server, dan DNS server. Proxy server ini dibutuhkan oleh Wii, karena ISP kami yang sangat aneh (tidak meneruskan request HTTP tanpa user agent). Karena kadang ada tamu yang datang dan perlu IP, kami perlu server DHCP dan tidak menggunakan alamat statik untuk sebagian device kami. DNS server diperlukan untuk mengcache request, dan sekaligus supaya device-device di rumah bisa diakses dengan nama.

Network Attached Storage Agestar (namanya irina) difungsikan sebagai download station, web server, backup server dan music station. Kalau ingin mendownload sesuatu yang besar, kami cukup menjalankan perintah wget atau transmissioncli (dalam layar “screen”) dan ditinggal. NAS ini juga sekaligus menjadi web server (bisa diakses di http://irina.homelinux.com).

Lanjutkan membaca “Jaringan Kecil di Apartemen Kami”