Negeri Auto Pilot

Spanduk bertuliskan “Negeri Auto Pilot” sempat terbentang dibeberapa titik strategis di ibu kota awal tahun ini (2012). Meski keberadaannya hilang dalam sekejab dan tampaknya kurang popular, tapi kalimat ini membuat saya tersenyum getir. Ada sedikit humor yang coba diselipkan dalam kalimat yang menggambarkan betapa negeri ini berjalan tanpa arah dan tujuan yang jelas. Negara berjalan dengan sendirinya, bahkan andai kata tidak ada pemimpin didalamnya. Pemimpinan hanya sekedar jabatan formalitas saja dan menyelesaikan kegiatan-kegiatan administratif. Keberadaannya tidak banyak memberi arti.

Kondisi yang seperti ini layaknya manusia yang hidup tanpa tujuan yang jelas. Ia hanya sekedar menjalani kehidupan sehari-hari tanpa tahu apa yang ingin ia capai hari ini, besok, bulan depan, atau lima tahun lagi. Apa lagi cita-cita setalah mati. Kehidupannya mengalir saja seiring dengan waktu yang telah dilalui. Hari-harinya hanya berisi makan, tidur, bekerja, dan bersenang-senang. Memikirkan pekerjaannya saja mungkin sudah sangat sibuk, apalagi memikirkan cita-cita dan bagaimana cara menggapainya.

Kondisi auto pilot ini juga bisa terjadi di setiap organisasi. Terutama organisasi-organisasi yang sudah “mapan” yang kepemimpinannya dipegang oleh generasi ketiga atau lebih. Tujuan organisasi memang tertuang dalam AD/ART. Tapi para pemimpinnya hanya menjalankan tugas-tugas manajerial saja. Program kerjanya hanya sekedar mencontek dari tahun-tahun sebelumnya tanpa ada improvisasi. Jikapun ada hanya beda bentuk saja. Esensinya tidak banyak berubah.

Agar Internet Tidak Hanya Menjadi Media Hiburan Saja

Saat ini Televisi (TV) hampir ada disetiap rumah bahkan satu rumah bisa ada dua atau tiga buah. Dari sisi apa yang bisa dilakukan oleh pengguna TV, ia hanya punya sedikit pilihan, yakni menonton atau matikan. Mencari channel yang mendidik hampir2 tidak ada. jadi saya mengerti jika televisi memiliki madharat yang jauh lebih besar dari pada panfaat yang diberikan.

Layaknya televisi, internet adalah hanyalah salah satu alat/media yang saat ini juga sudah menyebar kemana-mana dan juga mudah mendapatkannya. Untuk memblokir layanan internet, bisa dibilang hampir tidak mungkin. Namun, berbeda dengan TV, internet memberikan banyak pilihan bagi penggunanya. Pengguna internet tidak hanya disuguhi, tetapi bisa ikut andil dalam memperkaya kontent di internet. Pengguna bisa menuliskan apa saja, mulai ringkasan hasil belajar, tutorial, sharing pengetahuan dll. Pengguna juga bisa memilih konten-konten yang berguna dari sekian banyak konten yang tersebar. Wikipedia yang merupakan ensiklopedia bebas hanyalah salah satu contoh kecil yang berguna dari internet.

Sayangnya tidak banyak yang menggunakan internet sebagai alat untuk menunjang produktifitas. Internet hanya digunakan sebagai media hiburan saja, tidak lebih. Penetrasi internet kesekolah-sekolah sudah meluas, tapi belum banyak berita tentang pemanfaatan internet sebagai media belajar. Anak-anak usia sekolah mestinya sudah mulai diajari bagaimana memanfaatkan internet, agar tidak hanya belajar dari teman seusianya, apalagi belajarnya bagaimana mencari “hiburan” diinternet. Mungkin belajarnya bisa dimulai dari menulis dan belajar nge-blog.

Menginstall Git Di Windows

Git adalah salah satu revision control yang sangat popular saat ini meski datangnya belakangan dibanding pendahulunya seperti Subversion, VCS, dan lain-lain. Dengan adanya github.com yang mengusung motto “Social Coding”, lengkaplah sudah kepopularannya.

Untuk menggunakan Git dalam lingkungan Windows, ada beberapa langkah instalasi yang mesti dilalui.

  1. Download dan install Git-.1.7.x…exe dari http://code.google.com/p/msysgit/downloads/list?can=3
  2. Download dan install TortoiseGIT dari http://code.google.com/p/tortoisegit/downloads/list

TortoiseGIT berguna untuk mengintegrasikan Git dengan Windows Explorer. Integrasi ini memunginkan bekerja dengan Git langsung dari Windows Explorer dengan hanya mengklik kanan untuk memunculkan menu yang berhubungan dengan Git. Tidak diperlukan lagi command line.

Dengan terinstallnya dua tool diatas, sebenarnya sudah cukup untuk bekerja dengan Git. Lalu bagaimana jika ingin mempublish atau membuat repository di github.com atau sourecode hosting server lain yang mendukung Git  seperti assembla.com, Gitorious, bitbucket.org, dll)?

Otentikasi di Git server menggunakan public dan private key. Kalau cara kerja publik dan private key silahkan googling aja. Sedangkan cara membuat public dan private key bisa pakai Putty Key Generator (puttygen.exe). Caranya:

  1. Download puttygen.exe di http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
  2. Jalankan file puttygen.exe dengan mengklik ganda, kemudian klik tombol Generate, gerakkan mouse secara bebas selama hinggak public dan private key berhasil di generate.
  3. Masukkan key passphrase (sama dengan password) atau biarkan kosong.
  4. Simpan private key secara pribadi.
  5. Public key bisa disimpan atau tidak. Jika tidak disimpan, anda perlu menggunakan puttygen.exe untuk melihat  public key yang telah di generate dengan cara me-load private key-nya. Public key ini nantinya akan di publish di server git.

Setelah public dan private key sudah siap, silahkan masukkan public key ke git server. Sebagai contoh, bila ingin menambahkan public key ke account di github, silahkan login ke github (daftar dulu bila belum punya account). Setelah login success,

  1. Pilih account setting di pojok kanan atas.
  2. Pilih SSH Keys
  3. Pilih add SSH Key
  4. Masukkan title dan public key yang sudah digenarete. Perlu diperhatikan format public key yang di terima seperti yang tampak pada field public key di puttygen.exe

Setelah public key di tambahkan ke server github, anda sudah bisa membuat repository, push ke server github, dll. Langkah-langkah menambahkan public key keserver git lainnya seperti assembla.com, gitorious.org, bitbucket.org, dll relatif sama. Jadi selamat mencoba :)

Halalkah Daging Biawak? Berikut Catatannya

Berawal dari sebuah pertanyaan di salah satu group di Facebook, aku coba mencari tahu dan ternyata banyak pembahasan tentang kehalalan/ Keharaman dari memakan daging Biawak ini. Lalu halalkah daging Biawak ini? silahkan simpulkan sendiri dengan memperhatikan catatan ini:

  1. Rasulullah pernah menyinggung tentang Dhab(ضَبٍّ), tetapi terdapat perbedaan pendapat tentang kehalalan Dhab(ضَبٍّ) ini.
  2. Biawak, meski bentuknya mirip dengan Dhab(ضَبٍّ), tetapi sebenarnya berbeda dengan Dhab(ضَبٍّ), maka terjemahan yang pas dari kata Dhab(ضَبٍّ) adalah “Hewan mirip biawak”.
  3. Dhab(ضَبٍّ) termasuk binatang hebivora, pemakan tumbuh-tumbuhan. Sedangkan Biawak pemakan daging atau karnivora.
  4. dari klasifikasi ilmiah, Dhab(ضَبٍّ) dan biwak sudah berbeda mulai dari Class-nya.

Dari catatan dan perbedaan tentang Dhab(ضَبٍّ) dan Biawak diatas, sekiranya bisa disimpulkan tentang Keharaman/ kehalalan (?) dari Biawak. Untuk lebih jelasnya tentang Dhab(ضَبٍّ) bisa dilihat di http://id.wikipedia.org/wiki/Dhab, sedangkan Biawak bisa dilihat di http://id.wikipedia.org/wiki/Biawak

Mengenal Desktop Environment di GNU/Linux

Apasih KDE, GNOME, XFCE, dan kawan-kawannya itu?

KDE SEPertanyaan di atas seringkali ditanyakan oleh pemula yang baru mengenal GNU/Linux dan peduli tentang Linux. Hal serupa yang sering ditanyakan biasanya tentang nama-nama distro, kenapa ada banyak nama untuk Linux, atau pertanyaan “Apasih sebenarnya Fedora, Redhat, Slackware, dll itu?”.

Saya juga bingung saat pertama kali berkenalan dengan GNU/Linux. Tapi kebingungan ini perlahan semakin menghilang asal tidak bosan belajar dan mencari tahu. Sayangnya banyak orang yang tertarik mendengar nama besar Linux dan ingin mempelajarinya, berhenti karena masalah sepele seperti tidak biasa dengan struktur file, atau karena file mp3nya tidak bisa berkicau lagi.

Memang mempelajari Linux membutuhkan efort yang lebih banyak daripada belajar sistem informasi lain. minimal jika belajar Linux mesti belajar juga tentang keberagaman :) . sebagai ilustrasi, ketika belajar di kampus, komputer di Laboratorium pake Ubuntu dengan GNOME sebagai Desktop Manager-nya. Kalo mau buka folder dan lihat-lihat isinya pake Nautilus. Kemudian, saat main ke kos temen, nyalain komputer temen, ternyata pake Fedora dengan Desktop Manager KDE. Saat mau lihat-lihat koleksi file mp3-nya, bingung cari-cari Nautilus, tapi kok gak ketemu :) .

Kembali ke “apa itu Gnome, KDE, Xface, dan kawan-kawan?”, ringkasnya, mereka itu disebut dengan Desktop Manager. Dalam bahasa indonesia yang enak didengar adalah bagian yang mengatur tampilan grafis di desktop. Desktop Manager ini berada dalam ruang lingkup desktop environment. Atau linkungan kerja berbasis dssktop/grafis. Artinya klo kita make komputer gak perlu ketik-ketik perintah lagi, tapi tinggal klik aja karena sudah ada Desktop Manager-nya, entah Desktop Manager itu KDE ataupun GNOME.

Untuk memahami lebih detail lagi dimana posisi Desktop Manager ini, kita mesti melihat ke arsitektur Linux itu sendiri. Untungnya Linux itu transparan. Setiap layer/lapisan yang menyusun sebuah sistem operasi bisa terlihat dengan jelas. Berbeda dengan sistem operasi yang mahal itu. User tahunya cuma apa yang tampak didepan mata, ada apa dibelakang ya gak ngerti.

Gambar berikut yang menjelaskan secara sederhana lapisan-lapisan yang menyusun Linux. Dimulai dari level kernel yang paling dekat dengan hardware, hingga Desktop Manager yang menjadikan hidup lebih indah dengan klik kanan klik kiri.

Desktop Environment

Setiap layer menjadi penghubung komunikasi antara layer yang ada diatasnya dengan layer dibawahnya, begitu pula sebaliknya. Layer kernel bertugas untuk berkomunikasi dengan hardware. termasuk pengaturan memory, processor, vga, dll. Diatasnya ada beberapa utility dan daemon atau service yang bisa di pake oleh user tapi dalam bentuk command line dan bebasis text. Terlihat pada gambar ada Xserver yang menjadi pondasi komunikasi antara desktop emvironment dengan kernel. Xserver ini tidak jauh berbeda dengan service-service lain seperti http server atau database server. Library Xlib menjadi alat komunikasi Xserver dengan library lain yang ada di level yang lebih tinggi.

Level berikutnya adalah Qt, GTK, dll. Nah library-library inilah yang digunakan untuk membangun Desktop Manager. Misalnya KDE dibangun diatas Qt, dan GNOME dibangun dengan library GTK. Baru diatas level inilah dibangun applikasi-aplikasi berbasis grafis, bisa diklik kanan dan kiri.

“Jika kita tidak ingin menginstal Desktop Manager, apa masih bisa bekerja?” tentu saja bisa, tapi tidak dengan klik kanan kiri. Sebagian orang memilih bekerja tanpa Desktop Manager karena lebih ringan, fleksibel, dan alasan-alasan lainnya. Tanpa applikasi grafis pun tetep bisa buat document, denger musik, chating, browsing, dll. asik kan…

Nah kalo ada orang atau organisasi yang membuat paket Linux, kemudian dalam paket tersebut ditambahkan berbagai aplikasi yang dibutuhkan, hasil pemaketannya ini disebut distro. dan tiap-tiap distro diberi nama seperti Fedora, Ubuntu, Linux Mint, dll.

Seru kan belajar Linux..?

Convert Virtualbox Image to VMware Image

I use Windows XP Mode that integrated with my windows7, but I often get it crash with no reason. So I try to get VMware Player and fortunately, it easy to import my Windows XP Mode to VMware.

If you want to permanently remove Windows XP Mode (will save a lot of disk space), follow step explained Microsoft Technet instead of uninstall Windows XP Mode from Control Panel.

Someday, I get VirtualBox image and try to run it using VMware. First step, I surf and search how to convert VirtualBox image(.vdi) to VMware image(.vmdk). I get here and tell me to use qemu-image utility part of Qemu and run command bellow:

qemu-img convert VirtualBox-HardDisk-image.vdi -O vmdk VMware-virtual-machine-image.vmdk

It’s very simple but commented didn’t work a well and pointed to another tutorial. This second tutorial more explained steps. first step convert VirtualBox image to raw image using Vboxmanage (part of VirtualBox) and second step convert raw image to VMware image using Qemu(http://www.qemu.org). This steps more complicated for me because I must download VirtualBox to use Vboxmanage command.

So I decide to use just Qemu to convert because is small and lightweight to download. The following steps explain you to convert VirtualBox image(.vdi) to VMware image(.vmdk):

  1. Download Qemu for windows at http://lassauge.free.fr/qemu/
  2. Extract on c: and become c:\qemu-0.13.0-windows
  3. Open Windows Command Prompt as administrator
  4. Run command bellow to convert VirtualBox image(.vdi) to raw image(.raw)

    c:\qemu-0.13.0-windows>qemu-img convert c:\virtualbox_image.vdi -O raw c:\virtualbox_image.raw

  5. Run command bellow to convert raw image(.raw) to VMware image(.vmdk)

    c:\qemu-0.13.0-windows>qemu-img convert c:\virtualbox_image.raw -O vmdk c:\virtualbox_image.vmdk

Converting disk image need more times dependent to image size. be patient to wait until finished and make sure you disk space is sufficient to output file.

Pilih yang mana ya…!?

Kenapa pakai Sqlite? kenapa gak pake database “beneran” aja?

Ini kenyataan. Seorang programmer bertanya padaku tentang aplikasi yang saya buat. Pertanyaan yang membuat saya jengkel sekaligus geli mendengar. Bayangkan saja Sqlite dianggap bukan database beneran. Oi kemana aja lo… cari tahu dulu napa http://www.sqlite.org/famous.html

Kalau pertanyaan kenapa pilihan saya jatuh pada SQLite, mungkin saya bisa jelaskan. Aplikasi yang saya buat ini adalah aplikasi standalone. Database yang dipake pun gak perlu komunikasi dengan aplikasi lain over network. Jangankan via jaringan, orang yang make cuma aplikasi itu doang dan hanya ada di komputer satu itu aja. Ngapain nambah-nambah kerjaan dengan memasang database client-server. Terlalu over kill bagiku jika mesti install mysql. Meski Mysql yang ku-install di anggap sebagai standalone database server.

Prinsipnya, dalam memilih, sebisa mungkin menempatkan sesuatu pada tempatnya dan memilih sesauai dengan kebutuhan. Jika butuhnya hanya database yang bisa mengolah 5 sd 10 tabel dan gak perlu model client-server, ya pake aja yang standalone database. Kalo database engine-nya mau di pake oleh berbagai aplikasi, ya silahkan pakai yang model client-server. Kalo butuh yang handal dan support yang bagus, ya silahkan cari yang sesuai aja. Sesuai dengan kebutuhan. Jangan sampai butuhnya cuma web company profile, kita nyediain servernya pake sewa VPS.

Cara membersihkan komputer

jika waktu senggang, ada baiknya kita membersihkan komputer. pertama-tama, lepas semua kabel yang terhubung ke casing, monitor, dan stop kontak. kemudian buka perlahan-lahan casing menggunakan obeng. gunakan kuas yang kecil da lembut, dan mulailah membersihkannya.

Bertemu keluarga adalah suatu yang paling menyenangkan. Keluarga yang hangat dan akrab bisa menularkan aura kebahagiaan pada tiap-tiap anggota keluarga. Meski banyak juga keluarga yang merasa kurang bahagia, itu adalah lain hal. Setidaknya aku bahagia dengan keluargaku dan aku bersyukur.

Tidak ada acara spesial yang dipersiapkan untuk pertemuan itu. Hanya sekedar ngumpul, makan-makan dan ngobrol tentang apa saja yang terlintas di kepala dan layak untuk diobrolin. meski biasa-biasa saja, bagiku tetap luar biasa. bayangkan saja, aku telah lama tidak bertemu dengan orang-orang yang kucintai, dan ada waktu yang cukup untuk melepas rindu, hal biasa akan terasa luar biasa.

Lama tidak bertemu, membuat berbagai perubahan tampak begitu jelas. Ada yang tambah gemuk dan ada yang berubah jadi kurus. Dan Facebook, saya salut dengan aplikasi yang satu ini. Saudara-saudaraku yang dahulu buta tentang internet, sekarang pada ber-facebook ria via HP. Tapi sayang, mereka tetap buta bagaimana memanfaatkan internet secara optimal untuk berbagai kebutuhan.

Internet cenderung digunakan hanya sekedar media hiburan semata. terlihat dari banyaknya penyedia jasa telekomunikasi yang lebih menonjolkan gratis facebook daripada gratis internet dalam iklan-iklan mereka. Ternyata Facebook jauh lebih menjual daripada internet itu sendiri.

Melihat kenyataan tentang Facebook ini, aku mencoba memulai diskusi tentang internet sehat dan memberi contoh bagaimana cara berkontribusi untuk dunia. Diwaktu yang singkat aku hanya bercerita tentang blogging, bagaimana membuat sebuah blog, menghiasinya, dan mulai menulis konten. Kenapa pilihan saya jatuh pada blog? kenapa bukan cara browsing dan memanfaatkan search engine untuk mencari bahan-bahan pelajaran, atau mencari trik dan tips khusus untuk menyelesaikan soal matematika?

kenapa mesti blog? Saya hanya berharap agar mereka mau menulis, tidak lebih. Terdapat banyak manfaat yang bisa didapat dari menulis. ya.. menulis apapun. Salah satunya bisa membiasakan diri berpikir secara sistematis dan beruntun, mendokumentasikan ide yang kalau tidak ditulis bakal cepat menguap, atau memperkuat ingatan atau pelajaran. dan masih banyak lagi maanfaat yang bisa dipetik. silahkan tanya om google jika tidak percaya :) .

Sayangnya menulis bukanlah pelajaran utama yang diajarkan disekolah. Bahkan guru-guru hanya mengingatkan untuk mengulang pelajaran dengan cara membaca kembali pelajaran sayang sudah diberikan dikelas. Jarang sekali yang menasehati muridnya untuk menuliskan pelajaran yang didapat disekolah disiang hari. Padahal, selain mendengar dan membaca pelajaran, menuliskan apa yang telah diajarkan adalah cara agar pelajaran itu lebih lama berada dalam ingatan kita.

Akhir cerita, kutipan di paragraf pertama pada tulisan ini adalah buah karya keponakanku yang sedang duduk dikelas tiga sekolah dasar. kuminta ia menuliskan bagaimana aku membersihkan CPU yang berada di kolong meja. CPU ber otak Athlox XP 2500+ itu adalah warisanku saat aku kuliah dulu. biasanya keponakanku hanya main GCompris (http://gcompris.net/) yang berada diatas Mandriva (http://www.mandriva.com/en/) saja. Semoga kali ini dia mau menulis. menulis apa saja.

Coding style and Standard

saya sedang mengerjakan beberapa project aplikasi untuk sebuah perusahaan multinational. Dalam mendevelop aplikasi, perusahaan ini menggunakan sebuah framework untuk menjaga agar setiap developernya tidak menggunakan gayanya masing-masing. selain itu, sebelum aplikasi release ke test, terdapat code review session untuk memastikan kualitas code yang dibuat sekaligus memastikan aplikasi yang dibuat benar-benar menggunakan standard yang telah ditentukan sebelumnya.

Jika kita membuat sebuah aplikasi sendirian, kita bisa membuat code sesuai dengan style kita sendiri. tetapi bila bekerja dengan orang lain, pengunaan standard sangat membantu dalam menyelesaikan aplikasi yang sedang dibuat. Tetapi satu hal yang menurut saya sangat sulit distandarisasi. Yakni cara berpikir, dan cara setiap orang menyelesaikan masalahnya. Dalam menghadapi masalah yang sama, setiap orang memiliki cara penyelesain yang berbeda. Misalkan diminta untuk menentukan dua bilangan bulat yang bila keduanya dijumlahkan maka akan menghasilkan nilai sepuluh. Jawaban dari persoalan tersebut tentu saja beragam. Banyak jalan menuju roma kata pujangga. Meski demikian, tidak sedikit masalah  yang hanya bisa diselesaikan dengan satu cara.

Karena banyak cara menyelesaikan masalah, maka dibuatlah sebuah standard yang bisa diterima oleh banyak orang. Katakan saja sebuah siklus proses CRUD (Create, Read, Update, and Delete) harus mengikuti standard yang ada agar mudah dipelajari oleh orang lain. Termasuk juga style dalam penulisan code, nama variable, dll. Standard ini mestinya berkembang sesuai dengan permasalahan-permasalahan yang ditemukan dikemudian hari beserta cara penyelesaiannya.

Terdapat banyak sekali coding standard yang ada saat ini. Jika tertarik untuk mempelajarinya mungkin bisa memulai dari Wikipedia.

Facebook Privasi Aman Buat Selingkuh?

Waktu login ke facebook pagi ini aku baru sadar kalo kita bisa tentuin temen-teman yang bisa baca Wall dan kepada siapa wall yang kita tulis di sembunyikan, Maklum jarang sekali facebook-an. Sebagai contoh, saya bisa ungkapkan rasa cinta kepada istri tanpa di ketahui tetangga yang kebetulan jadi friend di Facebook.



Gambar di atas adalah screenshoot untuk mengatur privasi dari wall yang kita tulis. Dengan adanya fitur ini kita tetap bisa pake facebook tanpa harus merasa berdosa karena tidak perlu pamer kemesraan dengan istri/suami didepan teman kantor yang lagi sendiri. Tapi ya jangan disalah gunakan. Bila ini digunakan untuk hal-hal yang buruk, pasti akan berakibat buruk juga. Ingat kan? Menanam rumput takkan tumbuh padi.

Ikuti

Get every new post delivered to your Inbox.