Yearly Archives: 2009

URL Shortener : Terpendek Di Dunia

Website zaman sekarang sudah jauh berbeda dengan website zaman dahulu. Dulu kita harus paham HTML untuk bisa membuat website. Lalu harus tahu tentang FTP untuk bisa upload berbagai file-filenya, termasuk penempatannya yang benar agar jadi bisa muncul di website. Dan seterusnya.
Kini, dengan bantuan dari berbagai script CMS (Content Management System), maka siapa saja bisa punya website yang bagus tanpa perlu pusing mengenai berbagai seluk beluk teknis di baliknya.

Namun bersamaan dengan itu, ada beberapa perubahan juga. Antara lain URL yang makin lama menjadi semakin panjang.
Contoh : URL yang sangat panjang ๐Ÿ™‚
(ternyata ini bukan sekedar URL yang sangat panjang, namun menurut laporan dari berbagai pihak, ini adalah URL PALING panjang yang pernah ada)

Nah, karena itu maka akhir-akhir ini terlah muncul berbagai website yang memberikan layanan URL Shortener, yaitu layanan pemendekan URL.
Dengan ini, maka kita jadi bisa mengakses URL yang sangat panjang melalui URL lainnya yang jauh lebih singkat.

Contoh : http://pendek.in
Cara penggunaannya pun sangat mudah. Cukup tuliskan URL yang panjang di kolom yang disediakan, dan lalu klik tombol “pendek.in”.
Maka kemudian akan ditampilkan URL yang pendeknya.

Contoh: URL panjang yang saya cantumkan diatas dipendekkan oleh pendek.in menjadi http://pendek.in/00ici
JAUH lebih ringkas ! ๐Ÿ™‚

Dengan munculnya berbagai layanan Microblogging, seperti Twitter, maka tiba-tiba layanan URL Shortener menjadi sangat relevan. Karena berbagai layanan Microblogging tersebut ada keterbatasan ukuran — rata-rata hanya mengizinkan posting sebesar 140 huruf saja.

Padahal, URL panjang yang saya contohkan diatas saja panjangnya sudah mencapai 1700 huruf ๐Ÿ™‚
Karena itu Twitter.com memerlukan jasa URL Shortener ini untuk kenyamanan para pemakainya.

Pada awalnya, Twitter.com menggandeng jasa URL Shortener TinyURL. Setiap link di sebuah posting Twitter secara otomatis akan diganti menjadi link dari TinyURL.
Beberapa waktu yang lalu Twitter.com kemudian menggantinya menjadi dengan layanan dari bit.ly.

Sebetulnya selain bit.ly masih ada yang lebih pendek lagi. Seperti is.gd (“is good” ? hehe).
Tidak mau kalah – kemudian muncul website j.mp – jump ! Fiuh, inilah dia yang paling pendek.

Atau, masih ada yang lebih pendek lagi kah …. ?

Beberapa hari yang lalu saya menemukan http://to./. Ternyata, website ini memberikan layanan URL Shortener juga ! Alhasil, dibandingkan dengan j.mp sekalipun, URL yang dihasilkannya masih lebih pendek.
Inilah layanan URL Shortener terpendek di dunia saat ini ๐Ÿ™‚

Namun, di halaman situs http://to./ itu kita harus memasukkan password dulu untuk menggunakannya.
Yah, tidak bisa kita pakai deh.

Eits, tidak perlu kecewa, ada caranya kok. Tenang saja ๐Ÿ™‚

Caranya mudah sekali – cukup ketikkan di kolom alamat di browser Anda http://to./, dan langsung sambung dengan URL yang ingin Anda pendekkan, dan lalu tekan Enter.
Maka kemudian akan muncul versi pendek dari URL tersebut.

Contoh: coba ketikkan URL ini di browser Anda :
http://to./http://harry.sufehmi.com
Gampang ya ? ๐Ÿ˜€

Demikianlah cara untuk menggunakan URL Shortener terpendek di dunia. Selamat menikmati ! ๐Ÿ™‚

.
.
BONUS :
Iseng-iseng saya mencoba memendekkan URL terpanjang di dunia dengan layanan http://to./ ini. Hasilnya ?
Silakan lihat sendiri di screenshot di bawah ini ๐Ÿ˜€

http:--to-2f-ck

(seperti mengumpat kesal, ha ha ha !)

Gempa : Persiapkan Untuk Yang Paling Besar

Gempa Padang kemarin menyayat hati kita semua. Sekian banyak korban telah berjatuhan. Ditambah lagi dengan beberapa kabar mengenai kesulitan penyampaian bantuan kepada yang membutuhkannya.
Dan, kemudian muncul berita bahwa masih akan ada gempa besar lagi. Gempa Padang ini ternyata bukan yang terakhir.

Dikutip dari Washington Post :

“Kerry Sieh, an American seismologist at Singapore’s Nanyang Technological University, said Sumatra’s current seismic spasms began in 2000 and have since produced about 30 quakes. Far worse is yet to come”

Over the centuries, he said, the Mentawai patch has had long periods of calm followed by several decades of intense and dangerous activity.
By using coral to measure changes in sea level and other factors, Sieh and fellow scientists have identified three distinct periods of activity, each roughly 200 years apart, since the early 14th century.

Sumatra’s current seismic turmoil, he said, marks the fourth such episode and, like previous ones, will probably end with a massive quake. The last catastrophic temblor was in 1833.”

Pendapat Kelly Sieh ini juga dibenarkan beberapa pakar gempa Indonesia, yang menyatakan bahwa masih ada energi tektonik yang masih belum terlepaskan, dan bisa kembali meledak sewaktu-waktu.

Apakah kita mau mengalami gempa Padang ini lagi ? Kalau soal keinginan, tentu tidak. Namun, takdir tidak bisa ditolak.
Nah, satu hal yang BISA kita lakukan adalah mempersiapkan diri, agar ketika gempa terjadi kembali, maka korban bisa kita hindarkan.

Jangan sampai kembali jatuh korban sampai sebanyak dan separah berbagai gempa yang sudah terjadi. Kita, bangsa Indonesia, harus bisa belajar dari pengalaman kita.

Indonesia perlu memiliki sebuah badan Pusat Manajemen Bencana.

Badan ini perlu melakukan antara lain :

  • Pencegahan : Beberapa bencana sebenarnya bisa dihindari. Atau, paling tidak bisa dihindari jatuhnya korban.

    Contoh: aturan mengenai pembuatan gedung (harus tahan gempa, kabel listriknya anti korslet, dst), pemasangan detektor tsunami, pemasangan detektor badai, dst

  • Respons & Koordinasi : Pada saat bencana, badan ini menjadi pusat koordinasi untuk semua pihak yang terlibat dalam respons / bantuan dalam bencana tersebut.

    Dengan demikian, maka bantuan bisa :

    1. Cepat : sampai ke korban
    2. Tepat : untuk korban, bukan untuk yang lain
    3. Sesuai : dengan kebutuhan korban
  • Pemulihan : Paska bencana, badan ini bertugas untuk membantu pemulihan. Sehingga para korban bisa segera kembali pada suasana pra bencana dalam waktu yang sesingkat-singkatnya.

Mudah-mudahan badan ini sudah ada, dan bisa makin optimal dalam menjalankan tugasnya. Atau, jika belum ada, bisa segera dibentuk, dan bisa segera berfungsi sebelum bencana berikutnya terjadi.

Terlampir adalah email saya ke milis Telematika seputar hal ini :

From: Harry Sufehmi
To: Telematika@yahoogroups.com
Cc: “Onno W. Purbo”

> bahwa kegiatan bantuan baru akan efektif berdaya guna apabila ada
> sinergi dan kerjasama diantara kita

Apakah sudah ada pusat koordinasi untuk semua kegiatan bantuan di Sumatera Barat ?

Jika belum, mungkin bisa mencoba Sahana, software Disaster Management : http://www.sahana.lk/

Software ini sudah digunakan di berbagai kegiatan bantuan kemanusiaan di beberapa bencana.

Semoga bermanfaat.

NB: Ada kemungkinan gempa-gempa yang lebih besar akan terjadi lagi di masa depan di Padang,

Dari : http://www.washingtonpost.com/wp-dyn/content/article/2009/10/01/AR2009100102113.html?hpid=artslot

“Kerry Sieh, an American seismologist at Singapore’s Nanyang Technological University, said Sumatra’s current seismic spasms began in 2000 and have since produced about 30 quakes. Far worse is yet to come”

Over the centuries, he said, the Mentawai patch has had long periods of calm followed by several decades of intense and dangerous activity.
By using coral to measure changes in sea level and other factors, Sieh and fellow scientists have identified three distinct periods of activity, each roughly 200 years apart, since the early 14th century.

Sumatra’s current seismic turmoil, he said, marks the fourth such episode and, like previous ones, will probably end with a massive quake. The last catastrophic temblor was in 1833.”

Jadi ini adalah seri gempa ke empat.

Tentunya kita berharap bisa belajar dari 3 pengalaman sebelumnya.
Tapi, apakah pemerintah kita mau ?

Dikutip :

“There is NO place in the world that has more wake-up calls than Padang,” Sieh said. But getting governments to focus on catastrophes out of immediate view is difficult.”

“Earthquakes in and around Sumatra are “becoming more frequent and of higher intensity,” said Haryadi Permana, a geologist at the Indonesian Science and Technology Agency. A massive quake is likely in the coming decades, he said, but “it is impossible to predict when.”
He said scientists have long warned that Padang and other towns were under threat, but “the government never cared about that.”

Sebaiknya bisa ada Badan Nasional Manajemen Bencana. Atau, paling tidak propinsi Sumatera Barat mengadakannya sendiri.

Negara / propinsi lainnya sudah ada beberapa yang mengimplementasi skema ini, jadi kita tidak perlu membuat dari awal. Kita bisa ambil & belajar dari pengalaman mereka.
Beberapa bahan bacaan :

http://star-tides.net/node/511
http://www.mscema.org/index.php?name=Downloads&c=2

Mudah-mudahan jika ada bencana nasional lainnya yang terjadi — apakah itu banjir, badai, gempa, kebakaran, dll; maka kita sudah siap.

Tidak terjadi kepanikan menghadapinya, bisa segera mengatasinya, dan kemudian bisa segera pulih kembali dari bencana tersebut.

Salam, HS

On 10/3/09, Pataka ID wrote:
> Salam,
>
> Kemaren dan hari ini via TNI AL (kapal cepat jenis LST) telah mengangkut
> puluhan truck dari TNI, PU, BNPB yang diantaranya terdapat sejumlah alat
> pengolah air (water treatment). Coba ditelusuri, besar kemungkinannya apa
> yang dicari dan dibutuhkan sudah ada di lapangan tapi belum terinformasikan.
> Kami di Yayasan AirPutih sekarang ini memulai membangun jaringan (orang dan
> lembaga sesama aktivis & inisiatif penanggulangan bencana) untuk saling
> bertukar informasi dan data serta membantu menyebarluaskannya pada yang
> lain. Lakukan hal yang sama di lingkungan & organisasi anda. Kadang karena
> kesibukan & konsentrasi pada bidang tugas dan keahlian masing2 kita jadi
> lupa bahwa kegiatan bantuan baru akan efektif berdaya guna apabila ada
> sinergi dan kerjasama diantara kita, karena satu sama lain akan saling
> terkait dan saling membutuhkan sumber daya dan keahlian yang dimiliki.
> Tidak bisa berdiri sendiri.

Masalah Tenaga Kerja

Seorang kawan saya di Inggris mengeluhkan beberapa masalah di Indonesia, seperti perbudakan manusia / human trafficking. Ini masalah yang sangat serius. Juga disebut soal mengenai perbudakan anak-anak, dst. Tidak ada perbedaan pendapat disini. Human trafficking adalah salah satu kejahatan yang paling keji.

Kemudian soal tersebut dilanjutkan mengenai penerapan gaji minimum (UMR : upah minimum regional) di banyak perusahaan.
Nah, saya pikir ini adalah hal yang sudah berbeda jauh. Tidak bisa disamakan sama sekali dengan perbudakan manusia.

Misalnya, di banyak kasus, seringkali UMR merupakan kebutuhan untuk kelangsungan bisnis itu sendiri.
Contoh: pada sebuah usaha yang baru dimulai, tentu sulit untuk langsung bisa menggaji pegawainya dengan tinggi. Bisa-bisa justru bisnis tersebut kolaps sebelum sempat berkembang.
Dan jika usaha tersebut kolaps, maka yang rugi tentu para pegawai sendiri, yang jadi kehilangan sumber nafkahnya.

Investor biasanya tidak terlalu masalah – dia masih bisa mencoba usaha lainnya lagi di tempat yang berbeda. Tapi bagi para pegawainya, di zaman krisis seperti ini, belum tentu akan langsung bisa mendapatkan pekerjaan lagi.
Ada banyak orang lulusan S1 ataupun S2 sekalipun yang tetap saja tidak berhasil mendapatkan pekerjaan untuk menafkahi keluarga mereka.

Ini hanya satu contoh saja dari berbagai kasus.
Di satu sisi, memang ada banyak pengusaha jahat yang mengeksploitasi manusia. Misalnya kita bisa search “nike sweatshop” di Google, dan salah satu yang bisa kita temukan adalah video dokumentasi kasus tersebut di Indonesia.
Namun, di sisi lain, masih ada juga pengusaha yang mau berusaha membuka lapangan pekerjaan yang jujur / halal, dan peduli dengan para pegawainya.
Sekedar melihat masalah secara sepotong-sepotong, seperti UMR, pegawai kontrak, dst; itu bisa menjadikan kita keliru dalam menyimpulkan suatu masalah. Yang baik bisa jadi kita kira jahat, dan yang jahat jadi bisa bebas melakukan berbagai kejahatannya.

Anyway, terlampir adalah cuplikan reply saya kepada ybs via Facebook. Semoga bisa bermanfaat untuk memperluas wawasan kita semua, dan saya sendiri, dalam topik ini.

Soal gaji minimum — ini juga terjadi di Inggris. Kebetulan saya ikut bergabung di UNISON, serikat pekerja terbesar di UK.
Dan mereka rutin memprotes soal ini.

Tapi setelah diperhatikan lagi, ada beberapa hal yang tidak diangkat oleh UNISON ini :

(1) Performa pekerja : salah satu kolega saya dulu adalah “slacker” – dia tidak mengerjakan tugas-tugasnya (kewajibannya). Namun, dia sangat gigih menuntut haknya.

Ini saya kira juga tidak adil. Dan, kita SEMUA yang kena getahnya – termasuk pekerja lainnya.
Pada kasus saya, pekerjaan ybs jadi terpaksa dikerjakan oleh saya dan kawan2 yang lainnya.

(2) Sifat bisnis : adalah meminimalkan cost, karena (antara lain) untuk mengantisipasi resiko yang tidak bisa diduga.
Saya kira Anda sebagai pelaku bisnis juga sudah sangat paham soal ini.

Pada setiap bisnis, perlu ada pengembangan, karena yang jalan di tempat cenderung akan kena seleksi alam dan punah. Dan tentu pekerja juga yang akan rugi karena lenyap pekerjaannya.

Untuk pengembangan bisnis untuk kelangsungan bisnis ini sendiri, perlu biaya. Perlu ada reserve/cadangan yang bisa dimanfaatkan untuk tujuan ini.

Saya pernah diskusi dengan adik saya soal ini. Dia bertanya kepada saya, apakah salah jika kita menggaji pekerja kita dengan standar UMR (Upah Minimum Regional) ?

Saya bilang, tidak selalu salah.
Misalnya, pada kasus ketika pekerja tidak berprestasi (ref: poin 1 diatas). Kedua, untuk kelangsungan bisnis itu sendiri juga. Jika pegawai digaji tinggi, tapi kemudian karena itu bisnis jadi kolaps, tentu kasihan mereka juga.

Nah untungnya di dalam Islam ada solusinya, yaitu bagi hasil. Jadi, pegawai kami mungkin gajinya UMR, namun yang berprestasi akan tetap betah bekerja di perusahaan kami. Banyak yang seumur hidupnya menjadi pegawai kami, karena kami berbagi hasil profit kami dengan mereka.

Sekilas dilihat gaji mereka UMR – tapi mereka bisa membeli rumah (ada yang tingkat dua pula), mobil, malah ada yang bisa membuat usaha sendiri lagi (toko, angkot, dst) — dan tetap menjadi pegawai kami.

Kembali ke soal gaji minimum — di Inggris ini tidak terlalu masalah, karena ada jaring sosial – social security.
Bagi yang pemasukannya kurang, akan dibantu oleh negara.

Juga berbagai fasilitas / kebutuhan dasar disediakan oleh negara.
Sekolah? gratis. Rumah sakit? gratis. Rumah? bisa gratis juga – banyak kawan saya yang tinggal di council housing. Makanan? ada berbagai skema subsidi seperti children benefit, dll.

Jadinya adil – walaupun bisnis menggaji UMR, tapi mereka membayar pajak; yang kemudian disalurkan oleh negara kepada yang membutuhkannya.

Ini yang tidak ada di Indonesia.
Gaji pegawai UMR, lalu ya sudah. Musti bisa hidup dari situ.
Sialnya lagi, media massa & masyarakat malah mengajarkan gaya hidup hedonistic. Spend more, and more, and more. (**)
Budaya kartu kredit mulai merebak untuk mendukungnya. Mulai bermunculan kasus seperti orang bergaji Rp 2 juta namun hutang kartu kreditnya mencapai Rp 100 juta, dst.

Anyway, berbagai pengusaha jujur yang jadi kena getahnya — dituduh zalim karena menggaji UMR.
Padahal ybs masih ada banyak biaya-biaya lainnya : membayar pajak lagi, yang penyalurannya wallahua’lam kalau di Indonesia; pajak bangunan, pajak ini, pajak itu, biaya2 siluman, dst.

Ada juga banyak pengusaha yang menggaji minimum DAN memperlakukan pegawainya dengan tidak manusiawi. Misalnya; search “nike sweatshop” di Google, biasanya akan ketemu video dokumenter tentang kondisi kerja di berbagai pabrik Nike di Indonesia — dimana para pekerjanya bahkan tidak boleh untuk sekedar ke toilet, dst.
Tapi sayang sekali jika semua yang menerapkan gaji minimum jadi dikira zalim semua seperti para penjahat ini, seperti yang dikira oleh adik saya dulu.

Adakalanya kadang gaji minimum itu perlu untuk kebaikan pegawai itu sendiri. Seperti paradox ya? Tapi seperti yang sudah saya jelaskan diatas, untuk beberapa kasus itu sangat masuk akal.
Dan, dalam Islam ada berbagai skema untuk tetap membuat situasinya menjadi adil. Jadi, sekedar melihat sepotong-potong (seperti UMR, pegawai kontrak, dst) itu kadang membuat kita keliru dalam mensikapi sesuatu. Kita perlu lihat situasinya secara lebih lengkap terlebih dahulu.

Sekarang tinggal berharap agar negara juga bisa turut urun rembuk dalam hal kesejahteraan pegawai ini.
Mudah-mudahan pemerintah Indonesia masa jabatan 2009 – 2014 mau lebih memperhatikan soal social security ini, amin.

(**) Perusahaan kami menerapkan berbagai skema untuk membantu meningkatkan kualitas hidup pada pegawai kami. Salah satunya adalah tabungan pegawai — beberapa pegawai kadang mengalami kesulitan dalam me manage keuangannya. Setiap gajian selalu ludes tidak bersisa, terpakai untuk hal-hal yang tidak perlu.
Akibatnya selain ybs & keluarga tidak bahagia, performanya di kantor juga menurun.

Untuk pegawai yang membutuhkannya, misalnya seperti pada kasus diatas, gaji mereka sebagian kami langsung tabungkan.
Jika mereka betul-betul memerlukannya, kemudian baru diberikan.

Sekilas mungkin terkesan kejam, namun sekarang mereka sudah mulai menikmati hasilnya. Misalnya, ada salah satu supir kami yang sekarang sudah punya rumah sendiri, kendaraan, anak tiga, dan hidupnya senang.
Ya, supir kami sudah memiliki rumah sendiri. Padahal sebelumnya gajinya ludes terus tidak bersisa, rumah kontrakan, dst.
Bisa ditebak dengan mudah bahwa sampai saat ini ybs terus bekerja sebagai supir di perusahaan kami.

Dan berbagai skema lainnya – dana beasiswa untuk anak-anak pegawai yang berprestasi, dst.

Diskusi dengan kawan saya tersebut kemudian berlanjut. Salah satu komentarnya yang menarik adalah soal “pemerataan pendapatan”. Saya kemudian berkomentar sebagai berikut :

pemerataan pendapatan
—–

Tujuan ini saya kira kurang feasibel.
Di zaman Nabi saw saja tetap ada yang kaya & miskin.

Yang lebih feasible saya kira adalah meningkatkan kualitas hidup.

Jadi, baik kaya maupun miskin, tidak masalah. Tetap saja bisa hidup dengan bahagia.
Nah, ini adalah yang sangat bisa dicapai dengan menerapkan berbagai ajaran Islam dengan benar.

Bagi yang mungkin kurang kenal dengan berbagai prinsip Islam dalam soal kehidupan, saya akan coba jelaskan dengan ringkas.

Islam menekankan pada kebahagiaan batin. Dalam Al-Quran disebutkan bahwa yang akan masuk surga adalah orang-orang yang tenang & bahagia jiwanya; “nafs al-muthmainnah“.
Islam tidak melarang orang menjadi kaya, faktanya beberapa sahabat Nabi adalah orang-orang terkaya di zamannya. Namun, Islam mengajarkan bahwa manusia, siapa saja, bisa berbahagia terlepas dari status finansialnya. Miskin maupun kaya, semuanya bisa bahagia. Karena kebahagiaan itu adanya di pikiran dan di hati.

Dengan disiplin mental yang tepat, maka dalam situasi apapun, siapa saja bisa tetap bahagia. Ini yang diajarkan oleh Islam. Dan ini saya kira jauh lebih feasibel daripada berusaha menyamaratakan pendapatan semua orang – dimana situasi ini kalaupun berhasil tercapai, juga tetap belum menjamin bahwa semua orang pasti akan bahagia.

Wow sudah hampir jam 12 malam. Oke selamat tidur dulu. Semoga sedikit coret-coretan saya ini bisa bermanfaat bagi Anda sekalian.

Perbandingan Biaya/Tarif Handphone (GSM/CDMA) dan Internet Unlimited

Saya, seperti beberapa orang lainnya juga, memiliki beberapa handphone. Satu buah HP saya gunakan untuk komunikasi (terutama menerima telpon) dari client. HP ini sejak dahulu terus sama nomornya, tidak berubah.
Satu HP lagi, Nokia CDMA, saya gunakan untuk menelpon dengan tarif termurah. Beberapa saat yang lalu saya gunakan Flexi, yang juga digunakan oleh seluruh keluarga saya. Namun sejak Flexi tidak gratis lagi antara sesamanya, maka kini kami mulai melihat-lihat lagi pilihan yang lainnya..

Dan saya kembali kebingungan melihat berbagai skema tarif yang ada ๐Ÿ™‚
Operator GSM maupun CDMA saling berlomba-lomba menawarkan harga yang “PALING MURAH”. Katanya sih begitu ๐Ÿ™‚

Kenyataannya ? Namanya “lidah tidak bertulang”, tentu konyol sekali jika kita percaya begitu saja.
Karena itu saya coba membuat tabel perbandingan harga antara berbagai operator yang ada.

Beberapa catatan :

  • Tarif bicara adalah per menit
  • Pada tarif yang berbeda-beda pada setiap jam / menitnya (seperti : AXIS), akan dicantumkan tarif yang paling mahal.
  • Tabel ini hanya menampilkan produk Pra-bayar
  • Jika ada beberapa skema pada produk Pra-bayar tersebut, maka akan ditamplkan yang tarif “default” (yang otomatis berlaku / tidak perlu diaktifkan dulu)

Berikut adalah Tabel Perbandingan Tarif GSM :

Operator Sesama Antar
Operator
AXIS Rp 200 Rp 2700
Three Rp 300 Rp 1000
As Rp 780 Rp 780
Matrix Rp 840 Rp 1200
IM3 Rp 900 Rp 1500
XL Rp 1200 Rp 1500
Mentari Rp 1400 Rp 1750
Simpati Rp 1500 Rp 1800

Berikut adalah Tabel Perbandingan Tarif CDMA :

Operator Sesama Antar Operator
StarOne Rp 25 Rp 700
Esia Rp 50 Rp 2727
Smart Rp 60 Rp 600
Fren Rp 540 Rp 1320
Flexi Rp 750 (SLJJ)
/ Rp 54
Rp 1600

Untuk Internet Unlimited, diasumsikan sbb :

(1) Quota minimal 1 GB (sebelum kecepat menurun)
(2) Tidak ada charge tambahan jika quota habis

Berikut adalah Tabel Perbandingan Tarif Internet UNLIMITED :

Operator /
Nama Produk
Biaya
(bulanan)
Smart Internet Unlimited Rp 45.000
(tanpa quota)
Mobi Internet Unlimited Rp 50.000 (tanpa quota)
Flexinet Unlimited Rp 60.000
(tanpa quota, Rp 15.000 / minggu)
Indosat ISAT Eco Rp 100.000
StarOne Internet Unlimited Rp 180.000
(tanpa quota, Rp 45.000/minggu)
Wimode Online Nonstop Rp 200.000
(Rp 50.000/minggu)

Gimmick

Gimmick adalah promosi yang pada awalnya sekilas terkesan sangat murah / menarik. Namun, seringkali ada banyak persyaratannya, sehingga seringkali pada akhirnya tetap saja mahal, dan/atau malah merepotkan (membuang-buang waktu)

Namun, beberapa gimmick bisa sangat menarik / bermanfaat untuk keperluan tertentu. Untuk itu beberapa diantaranya saya cantumkan disini :

  • Fren : setelah 1 menit (Rp 540), menjadi gratis menelpon ke sesama Fren
  • StarOne Ngorbit : Rp 1 / menit dengan mendaftar via SMS ke 7825 (Rp 3000/hari) : ngorbit [spasi] ber5 [spasi] no.tujuan

Semoga panduan ini bisa bermanfaat bagi Anda ๐Ÿ™‚

Data-data yang tercantum di artikel ini akurat pada tanggal penulisan (20 Sep 2009).
Jika ada perubahan / informasi tarif baru, silakan beritahu saya via form komentar. Maka nanti artikel ini akan saya update.

dan – Selamat Hari Raya Idul Fitri 1430 H. Mohon maaf lahir batin ๐Ÿ™‚

GRIBS Rock Band

Dulu saya adalah penggemar beberapa lagu dari band Sepultura. Lagu-lagunya cukup menyentuh secara sosial & emosional, seperti Dead Embryonic Cells, dan lain-lainnya.

Selain itu juga ada kegunaannya yang lebih praktis. Setelah sesi coding seharian penuh, jalankan Quake 2, konek ke server online terdekat, setel lagu Sepultura — dan mulai membantai sesama di Internet ๐Ÿ™‚
Pada zaman ketika belum ada minuman energi, ini adalah cara cepat dan aman untuk meningkatkan kadar adrenalin di badan. Setelah “sesi pembantaian” selama sekitar 15 menit, maka badan dan pikiran menjadi segar kembali, dan bisa melanjutkan coding untuk beberapa jam berikutnya. He he…

Beberapa bulan yang lalu saya diperkenalkan dengan band yang bernama GRIBS. Band ini beraliran rock, mungkin lebih tepatnya 80’s Rock. Ini persepsi saya pribadi, jadi mungkin keliru, so CMIIW. Anyway, kira-kiranya demikian.
Namun pada awalnya, saya tidak terlalu terkesan. Mungkin karena rekaman yang awal tersebut belum terlalu rapih, masih versi demo? Saudara sih saudara, tapi selera tetap tidak mau kompromi. Jadi setelah mendengar beberapa demo, saya kembali melanjutkan apa yang sedang saya kerjakan ketika itu.

Nah, beberapa hari yang lalu saya diberikan kembali rekamannya yang terbaru. Kali ini sudah berbentuk CD. Wah, sepertinya sudah siap launching album ya ?
Oke, mari kita coba.
CD saya masukkan ke laptop, dan saya mulai mendengarkan satu per satu dari 13 track yang ada di dalamnya.

Ternyata kali ini sudah jauh berbeda. Saya pribadi sangat terkesan. Lagu-lagu dari grup ini cukup unik, berbeda dengan yang sehari-hari kita dengar di sekitar kita. Salah satu lagunya, “Sinetron Indonesia”, malah membuat saya tertawa terpingkal-pingkal ๐Ÿ™‚
Simak liriknya :

Sinetron Indonesia

Bila kau ingin lihat
Drama penuh air mata
Penuh dendam orang gila
Saling rebut harta warisan

Bila ingin kau lihat
Para wanita cantik
Seksi menarik menawan hati
Berlagak kayak nenek sihir

Bila kau ingin lihat
Cerita yang menjual mimpi
Cengeng kampungan sedikit murahan
Nyalakan layar televisi !

Selama seminggu
Disuguhi itu melulu
200 episode
Cerita tak bermutu

Tutup telingamu !
Pejamkan matamu !
Kepalkan tanganmu !
Kami tak segoblok itu !

(reff)
Sinetron-sinetron Indonesia !
Semuanya hanya ada di dalam
Sinetron Indonesia !

Apa kau ingin lihat
Sinetron Indonesia

Sungguh kau ingin lihat
Sinetron Indonesia ?

Yakin ingin lihaaaaaaaatttt ?
Tentu tidak

(reff)
Sinetron-sinetron Indonesia !
Semuanya hanya ada di dalam
Sinetron Indonesia !

Sampai jadi mules saya menikmati lagu ini ๐Ÿ˜€

Sample lagu Sinetron Indonesia bisa Anda download disini :

[ Sinetron-Indonesia.mp3 ] (3 MB)

Satu hal lagi yang menarik dari album Gribs ini adalah bahwa semua lagunya bagus.
Berbeda dengan banyak album lainnya – yang bagus mungkin hanya 1 atau 2 lagu. Sisanya cuma filler.

Bagi para penggemar genre ini, saya bisa merekomendasikan album dari Gribs ini. Enjoy.

Sistim SMS Pemilu Pilpres 2009 : 100% Powered by Open Source

Tim SERIS - SMS Election Result Information System

Alhamdulillah, tadi malam telah selesai satu pekerjaan besar, yaitu Sistim SMS Pemilu Pilpres 2009, yang diberi nama SERIS.
Sistim ini memungkinkan tabulasi Pemilu yang :

  1. Cepat : dalam waktu singkat, data dari puluhan ribu TPS sudah masuk. Kami sendiri cukup surprise ๐Ÿ™‚ memang dengan SMS pasti akan lebih cepat, namun performa sistem SERIS kemarin ini melebihi bahkan ekspektasi kami sendiri.
  2. Luas : kerjasama dengan Telkomsel memungkinkan SERIS untuk menjangkau 95% dari wilayah Indonesia. Salah satu sesi Technical Meeting
  3. Transparan : Alur proses di sistim SERIS adalah full 100% otomatis, end to end. Mulai dari pengiriman SMS, masuk ke jaringan provider (Telkomsel), proses di sistim SERIS, sampai penayangan tabulasi – sistim berjalan dengan lancar tanpa intervensi.
  4. Akurat : proses perhitungan otomatis di engine SERIS sangat akurat, karena proses parsing yang minim resiko kekeliruan deteksi; dan didukung oleh berbagai algoritma verifikasi & validasi internal.
  5. Secure : sistim SERIS di desain untuk semaksimal mungkin mendekati tingkat keamanan 100%. Infrastruktur SERIS terisolir dari Internet & jaringan publik, tayangan data di push dari jaringan internal secara rutin (sehingga jika di deface maka akan cepat kembali sebagaimana semula kembali), aliran SMS terisolir hanya pada jaringan internal provider (Telkomsel) & SERIS, dan berbagai metode keamanan lainnya. Mencapai tingkat keamanan 100% adalah hal yang mustahil, terutama dengan keterbatasan waktu pada proyek ini. Namun kami berusaha semaksimal kemampuan kami untuk mengusahakan pencapaian yang sedekat mungkin pada target tersebut. Mudah-mudahan kami telah berhasil melakukannya.
  6. Accountable : aliran data dicatat & direkam secara redundant di berbagai titik. Ditambah lagi dengan proses snapshot yang dijalankan setiap beberapa menit, yang memungkinkan kita untuk mengetahui gambaran situasi internal sistem pada suatu titik waktu & lokasi tertentu. Usaha untuk melakukan tampering pada berbagai titik pada sistem akan bisa diketahui dengan mudah misalnya dengan melakukan crosscheck pada berbagai audit logs tersebut. Diagram Sistem
  7. Murah : sistim ini, walaupun berskala nasional, namun total biayanya sangat murah. Penggunaan teknologi Open Source membantu pencapaian ini secara signifikan – engine Database SERIS misalnya; walaupun hanya menggunakan 1 buah server fisik, namun performanya sangat bagus (23.000 transaksi/detik) tidak kalah dengan rekannya di jaringan Telkomsel (18.000 transaksi/detik) yang terdiri dari beberapa server. Teknologi Open Source kini sudah sangat mature, dan memungkinkan kami untuk memanfaatkan potensi sistim secara amat maksimal. Total server yang digunakan di sistim ini hanya 7 buah, serta beberapa switch, hub, dan firewall.
  8. Easy to Use : Siapa sih yang tidak kenal dengan SMS ? ๐Ÿ™‚ Ini adalah salah satu alasan pemilihan teknologi ini – siapa saja bisa menggunakannya. SMS memang jelas kalah sexy jika dibandingkan dengan jargon-jargon seperti OMR, ERP, EAI, dst – tapi pada proyek dengan profil pengguna yang sedemikian ekstrim variasinya, maka sistim ini harus melakukan penekanan yang besar pada aspek kemudahan penggunaan.
  9. Easy to Deploy : Indonesia adalah negara kepulauan terbesar di dunia. Ini adalah fakta.
    Sebuah sistim yang akan digelar pada kondisi geografis seperti ini harus melakukan fokus kepada kemudahan deployment. Sistim SERIS di desain untuk bersifat centralized, sehingga beban pada sisi client menjadi amat sangat minim. Pada gilirannya ini memudahkan deployment, tanpa mengorbankan aspek-aspek lainnya.

  10. Powerful : walaupun hanya ada sedikit waktu untuk melakukan tuning, engine Database SERIS mampu menangani 23.000 transaksi per detik. Sedangkan frontend SERIS (tayangan tabulasinya) mampu melayani 15.000 request per detik.

Tim SERIS berfoto bersama di Ready Room

Tentu saja sistim ini masih belum sempurna. Development sistim berlangsung intens dalam waktu hanya 2 minggu. Secanggih apapun sumber daya yang ada, dengan time constraint seperti ini maka kita hanya bisa berusaha untuk mendekati kesempurnaan.

Beberapa pelajaran yang kami dapatkan & hal-hal yang masih bisa disempurnakan :

  1. Dokumentasi & Komunikasi : kesibukan dengan hal teknis membuat aspek ini agak terabaikan. Akibatnya, stakeholder sistim, KPU, seringkali tidak mendapat informasi yang memadai mengenai sistim SERIS dan perkembangannya. Ditambah lagi dengan gangguan dari berbagai pihak yang mungkin mempunyai kepentingan / conflict of interest, membuat proyek ini beberapa kali nyaris dibatalkan. Alhamdulillah, kami bersyukur bahwa stakeholder sistem ini memberikan dukungan yang sangat besar untuk proyek ini, sehingga berbagai masalah yang muncul seputar hal ini bisa diatasi bersama-sama.
  2. Performa : mungkin menurut Anda performa sistim SERIS ini sudah bagus, namun secara pribadi, kami masih belum puas ๐Ÿ™‚
    Diperkirakan bahwa, dengan ketersediaan waktu dan sumber daya, sistim ini masih bisa mencapai peningkatan performa sampai, minimal, 3x lipat.

Terkapar !

Pada saat ini para personil tim SERIS sedang terkapar di berbagai penjuru Jakarta & Bogor ๐Ÿ˜€ , setelah bekerja keras selama berhari-hari untuk membangun sistem ini. Mereka adalah (diurut berdasarkan alfabet):

  • Abdullah Andi Koro : network admin, veteran di komunitas Open Source dan Internet. Bantuannya sangat besar dalam menjamin bahwa berbagai jaringan yang ada (provider/Telkomsel, internal, internet) bisa berfungsi dengan baik, terkoneksi di titik-titik yang diperlukan, berjalan dengan lancar & optimal.
  • Digit Oktavianto : system administrator, kami kenal dari komunitas Open Source (Linux Aktivis, MySQL, Ubuntu, dst). Banyak membantu juga dengan berbagai hal seputar database. Kecepatan kerjanya amat banyak membantu menyelesaikan berbagai masalah pada saat yang kritis.
  • Harry Sufehmi : system architect, saya bertugas mendesain arsitektur sistem, dan mengawasi agar sistem bisa bekerja secara optimal. Saat ini juga mendapat amanah sebagai Wakil Ketua II AOSI (Asosiasi Open Source Indonesia), dan anggota beberapa komunitas (Blogger, Ubuntu, Linux Aktivis, dst)
  • Johan Rukmana : Flash developer, interface tabulasi pemilu hasil karyanya dipuji oleh KPU, dan pada saat ini sedang dalam proses transfer untuk dihosting di server KPU sendiri.
  • Riyogarta Pratikto : lead developer, penggagas awal dari sistim SERIS. Anggota komunitas developer (PHP), Open Source (Ubuntu Indonesia), dan blogger. Juga berfungsi rangkap sebagai interface kami ke IFES, Telkomsel, dan KPU ๐Ÿ™‚ Foto bersama Tukang Internet :)
  • Rizki : system administrator, anggota komunitas Open Source (MySQL, Linux). Nicknamenya di komunitas adalah crazynuxer. Kalau sedang terlihat lowong, biasanya langsung ditarik ke tempat saya, dan dipaksa untuk melakukan optimisasi performa sistem ๐Ÿ˜€
  • Wibisono Sastrodiwiryo : senior developer, dikenal dari komunitas Blogger dan Developer (PHP). Fungsinya amat vital dalam pembangunan sistim ini. Mampu bekerja dengan sangat cepat dan secara maraton ketika diperlukan pada waktu-waktu kritis di proyek ini. Juga banyak memberikan masukan & input yang berharga pada pengembangan sistem. Sekaligus merangkap Seksi Dokumentasi Proyek ๐Ÿ™‚ foto-foto yang Anda nikmati di artikel ini adalah hasil karya beliau.
  • Yanmarshus : QA (quality assurance), tugasnya mungkin adalah yang paling penting dalam tim ini. Advokat distro Slackware ๐Ÿ™‚ beliau bertugas menjamin bahwa sistim ini bisa memiliki kualitas tinggi, walaupun ada keterbatasan waktu & sumber daya yang signifikan.

Sebelum menutup mata (baca: terkapar di tempat tidur), saya ingin menghaturkan ucapan terimakasih kepada berbagai pihak yang telah memungkinkan berlangsungnya tugas ini dengan lancar :

Screenshot SERIS

  • IFES : LSM dari Amerika ini memberikan bantuan hibah dana, konsultasi, dan dukungan moril kepada tim SERIS. Selama berbulan-bulan saya berhubungan dengan mereka, tidak sekalipun ada usaha mereka untuk mengintervensi proyek ini. Mereka bahkan justru membantu kami mengatasi usaha intervensi dari pihak lainnya. Karena itu maka proyek SERIS ini bisa dijalankan oleh tim kami dengan independen. Secara ringkas, tanpa IFES, maka sistim SERIS ini tidak akan terwujud. Secara khusus terimakasih saya sampaikan kepada Adam, Pak Anhar, Mike, Hank, Mauri, dan rekan-rekan lainnya di IFES. Let it be known that your help is much appreciated. Thanks guys.
  • KPU : terimakasih dan penghargaan kami sampaikan kepada KPU, untuk kepercayaan yang telah diberikan mereka kepada kami, wakil dari berbagai komunitas, untuk membangun sistim Pemilu Nasional ini. Berkat kepercayaan ini maka kami, komunitas, jadi bisa membuktikan bahwa kami pun bisa berkarya dan berkontribusi untuk negara ini. Secara khusus terimakasih kami haturkan kepada Pak Aziz, untuk semua bantuan dan dukungannya kepada tim kami. Kemampuan diplomasi Anda adalah inspirasi & contoh yang sangat berharga bagi saya pribadi.
  • Telkomsel : What can I say – these are a bunch of spectacular guys. Terimakasih kepada Pak Sarwoto dan Pak Irfan, untuk dukungan bagi proyek ini dari sisi senior management. Dedikasi mereka terhadap kesuksesan proyek nasional ini adalah inspirasi bagi kita semua. Terimakasih kami haturkan pula kepada kawan-kawan, comrade, kami di tim Telkomsel — Tetra, Faisal, Nugroho, dan banyak lagi. Anda sekalian adalah kawan seperjuangan kami dalam tugas negara ini. Kami tidak mampu menyampaikan rasa terimakasih kami secara memadai untuk semua kerjasama dan bantuan yang telah Anda berikan. Our millions of thanks are yours.

Sebetulnya masih banyak lagi pihak yang membantu dan turut urun rembuk dalam pekerjaan ini. Beberapa kontribusi mereka bahkan jauh lebih signifikan daripada kontribusi saya pribadi.

Namun, mereka meminta, malah memaksa, saya untuk tidak memaparkankan nama-nama & kontribusi mereka. Mereka adalah pahlawan sejati pada tugas, dan amanah nasional ini. Saya amat bahagia mengenal mereka, dan salah satu kebanggaan terbesar saya adalah pengakuan mereka terhadap saya sebagai “kawan” mereka.
Thanks a zillion guys. You know who you are.

Demikian ringkasan catatan dari proyek SMS Pemilu Pilpres 2009 ini. Saya mohonkan maaf jika ada kekurangan atau kesalahan dalam penulisan artikel ini. Silakan sampaikan pesan Anda pada form komentar, maka saya akan koreksi secepatnya. Terimakasih.

Hidup Open Source Indonesia ! ๐Ÿ™‚
.
.
.

MySQL – Sharding

Beberapa hari yang lalu saya hadir di konferensi online yang diadakan oleh komunitas MySQL Indonesia. Praktis, karena online, jadi bisa dihadiri dari mana saja. Tapi sialnya, saya keliru waktu – saya kira dimulai pukul 22:00, ternyata sudah berjalan sejak pukul 20:00 ๐Ÿ™‚

Untunglah setiap konferensi dicatat, dan kemudian diposting di milis mysql-indonesia@googlegroups.com
Terlampir adalah catatan konferensi online pada tanggal 25 Juni 2009, dengan topik “Horizontal partitioning dengan menggunakan MySQL-Proxy dan Spock“, yang diadakan di channel #id-mysql di irc.freenode.net

Selamat menikmati.

<iis> ok..selamat malam teman-teman
<iis> malam ini confernce # 18
<iis> materinya tentang horizontal partitioning
<iis> yang akan ngizi crazynuxer
<iis> silahkan dimulai..
<crazynuxer> ok ๐Ÿ™‚
<crazynuxer> beberapa minggu lalu sudah dijelas kan oleh bro dendie
<crazynuxer> mengenai partition di mysql database
<crazynuxer> cuman itu disebut sebagai vertikal partitioning
<crazynuxer> jadi partition hanya di satu mesin
<crazynuxer> nah horizontal partition ini
<crazynuxer> adalah partition di beda mesin
<crazynuxer> atau istilah kerennya sharding
<iis> jadi istilah yang lebih dikenal sharding?
<crazynuxer> atau klo saya istilahkan lebih mudahnya itu
<crazynuxer> iya
<crazynuxer> intinya sih load balance database berdasarkan record
<crazynuxer> jadi misalnya kita ada 10 record
<crazynuxer> 5 record di server A dan 5 record lagi di server B
<crazynuxer> kira-kira sampai sejauh
<crazynuxer> bisa dibayangin ga
<crazynuxer> sharding itu gmn ?
<mediEvil44> bisa
<crazynuxer> klo dari wikipedia
<crazynuxer> Horizontal partitioning is a design principle whereby rows of a database table are held separately, rather than splitting by columns (as for normalization). Each partition forms part of a shard, which may in turn be located on a separate database server or physical location.
<crazynuxer> jadi kita melakukan scale out
<crazynuxer> untuk meningkatkan performance secara scale out karena dukungan scalabilitas
<iis> scale out itu apa ya? ๐Ÿ˜€
<crazynuxer> ada scale out dan scale in
<crazynuxer> gini
<crazynuxer> misalkan server kita udah bottleneck nih
<crazynuxer> dan bottleneck itu karena hardware resource yg ga mumpuni atau mencukupi lagi
<crazynuxer> ada 2 solusi untuk masalah ini
* d3ptzz (n=d3ptzz@125.163.244.26) has joined #mysql-id
<crazynuxer> yang pertama kita beli server baru lagi
<crazynuxer> dengan spesifikasi hardware yg lebih bagus dan lebih handal
<crazynuxer> kemudian kita pindah datanya
<crazynuxer> dan jalankan lagi servernya
<crazynuxer> solusi ini disebut scale in
<iis> trus?
<crazynuxer> kelemahannya kita harus mengeluarkan banyak waktu dan tenaga
<crazynuxer> selain itu kita juga harus rugi
<crazynuxer> karena ada downtime
<crazynuxer> lalu ada solusi lagi
<crazynuxer> selain itu
<crazynuxer> scale out istilahnya kerennya
<crazynuxer> jadi kita memakai semacam balancer
* d3ptzz (n=d3ptzz@125.163.244.26) Quit (Remote closed the connection )
<crazynuxer> dan dibelakang balancer itu ada beberapa server sebagai backend nya
<crazynuxer> jadi ketika server kita sudah overload kita tinggal nambah backend lagi dibelakangnya
<crazynuxer> jadi mempunyai skalabilitas yang bagus
<crazynuxer> kita bisa menambah tanpa downtime
<crazynuxer> dan mengurangi backend tanpa downtime
<crazynuxer> karena dari sisi user diakan akan mengakses ipnya balancer
<crazynuxer> lalu oleh balancer akan diberikan atau dibagi ke backend sesuai dengan algoritma
<crazynuxer> sejauh ini masih paham ?
<the_curious> algoritma nya?
<crazynuxer> algoritmanya macem2
<crazynuxer> tergantung jenisnya dan kebutuhannya
<crazynuxer> ada round-roubin, least-connection, weight least connection
<crazynuxer> dll
<crazynuxer> itu juga tergantung dari balancernya support apa ga
<crazynuxer> ada juga yg berdasarkan schema
<crazynuxer> misalnya spock proxy
<crazynuxer> atau mysql-proxy
<crazynuxer> yg berdasarkan algoritma didalam script lua nya
<crazynuxer> nanti yg akan kita bahas adalah mengenai spock proxy
<iis> “script lua nya”, mksdnya apa ya?
<crazynuxer> dan mysql-proxy sebagai software horizontal partition di mysql
<crazynuxer> lua itu jenis bahasa pemrograman
<crazynuxer> yg biasanya di buat untuk game ๐Ÿ˜€
<crazynuxer> sampai sejauh ini bagaimana ?
<the_curious> ๐Ÿ˜€
<the_curious> asiiikkk
<the_curious> ๐Ÿ˜€
<tundra1> lumayan
<crazynuxer> ok
<mediEvil44> keren
<crazynuxer> di mysql sendiri ada beberapa software yg digunakan untuk kebutuhan ini
<crazynuxer> bahkan sudah ada engine yg sudah diciptakan
<crazynuxer> ada mysql-proxy,spockproxy , sqlrelay dll
<crazynuxer> mysql-proxy+hscale
<crazynuxer> dan untuk engine sudah ada engine baru
<crazynuxer> namanya spider engine
<crazynuxer> cuman gue belum nyoba
<crazynuxer> yg udah gue coba mysql-proxy dan spock proxy
<crazynuxer> ๐Ÿ˜€
<iis> mysql-proxy dan spock proxy itu software ?
<crazynuxer> pertama kita mulai dengan mysql-proxy ya ๐Ÿ˜€
<crazynuxer> iya
<crazynuxer> mysql-proxy sekarang masih dalam tahap alpha
<crazynuxer> dan belum layak untuk production
<crazynuxer> hanya untuk main-main dan belajar saja
<crazynuxer> ๐Ÿ˜€
<crazynuxer> itu yang dijelaskan di manualnya mysql-proxy
<crazynuxer> untuk manualnya silahkan download di mysql.com
<crazynuxer> ๐Ÿ™‚
<crazynuxer> cuman sebenernya mysql-proxy ini sangat flexible karena mendukung scripting language
<crazynuxer> menggunakan lua
<the_curious> brarti belajar Lua juga dong
<the_curious> kekekekeke
<crazynuxer> oh ya untuk sedikit info saya menggunakan linux ketika melakukan ujicoba kedua software ini
<crazynuxer> hehehe
<crazynuxer> iya
<crazynuxer> tidak pun tidak2 apa
<crazynuxer> karena sudah banyak scritpt yg siap pakai
<crazynuxer> tapi…
<the_curious> Enakan bisa
<crazynuxer> keahlian untuk membaca script tetep harus dimiliki
<the_curious> buat kustomisasi
<the_curious> ๐Ÿ˜€
<crazynuxer> karena untuk proses troubleshoot ๐Ÿ™‚
<crazynuxer> klo bisa ya berarti lebih mantap ๐Ÿ˜€
<crazynuxer> ketika kita akan melakukan installasi mysql-proxy itu dari source
<crazynuxer> jadi harus compile ๐Ÿ™‚
<crazynuxer> dan disource nya itu ada banyak contoh script2 lua yg bisa di coba
<crazynuxer> ๐Ÿ™‚
<crazynuxer> mysql-proxy tidak hanya bisa melakukan load balance
<crazynuxer> tapi bisa memanipulasi query
<crazynuxer> ๐Ÿ™‚
<the_curious> mksdnya?
<crazynuxer> jadi juga bisa dipakai untuk menambah fitur keamanan
<the_curious> di manipulasi nya gimana nih
<crazynuxer> karena dia bisa membaca dan menganalisa query
<crazynuxer> yg bisa dilakukan oleh mysql-proxy
<crazynuxer> create new commands
<crazynuxer> รฏโ€šยง filter queries (deny specific queries)
<crazynuxer> รฏโ€šยง collect statistics on usage
<crazynuxer> รฏโ€šยง implement usage quotas
<crazynuxer> รฏโ€šยง execute shell commands
<crazynuxer> load balancing servers
<crazynuxer> jadi beberapa hal diatas bisa dijalankan oleh mysql-proxy
<crazynuxer> cuman satu kelemahan mysql-proxy
<crazynuxer> ๐Ÿ˜€
<crazynuxer> belum stable ๐Ÿ™‚
<crazynuxer> untuk install tinggal download
<crazynuxer> lalu ekstrak menggunakan perintah tar
<crazynuxer> tar zxvf mysql-proxy.tar.gz -C /usr/local/src/
<crazynuxer> cd /usr/local/src/mysql-proxy/
<crazynuxer> ./configure –prefix=/opt/mysql-proxy
<crazynuxer> make -j4 && make install
<crazynuxer> finish
<tundra1> sama di semua linux mas
<crazynuxer> yups ๐Ÿ™‚
<crazynuxer> harusnya sama semua
<crazynuxer> yang make -j4 itu bisa diganti make saja
<crazynuxer> ๐Ÿ™‚
<crazynuxer> -j4 itu jika kita menggunakan prosesor yg quad core
<crazynuxer> klo cuman single core ya make saja
<crazynuxer> ๐Ÿ™‚
<crazynuxer> biar lebih cepet compile nya
<crazynuxer> ada pertanyaan ?
<crazynuxer> sejauh ini masih paham ?
<the_curious> yang lain
<the_curious> ๐Ÿ˜€
<the_curious> Bobo yah
<the_curious> Ahahaha
<mediEvil44> lumayan
<iis> lagi liatin scriptnya ๐Ÿ˜€
<crazynuxer> ada cara yg lebih mudah jika pake ubuntu ๐Ÿ˜€
<crazynuxer> tinggal apt-get install mysql-proxy
<mediEvil44> ada di repo
<tundra1> wuih enak ya pake ubuntu..
<the_curious> ๐Ÿ˜€
<the_curious> slacker yah mas tundra
<the_curious> kekekekeke
<the_curious> source aja ams
<the_curious> ๐Ÿ˜€
<the_curious> Mas
<crazynuxer> —
<crazynuxer> — read_query() gets the client query before it reaches the server
<crazynuxer> —
<crazynuxer> — @param packet the mysql-packet sent by client
<crazynuxer> —
<crazynuxer> — the packet contains a command-packet:
<crazynuxer> — * the first byte the type (e.g. proxy.COM_QUERY)
<crazynuxer> — * the argument of the command
<crazynuxer> —
<crazynuxer> — http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol#Command_Packet
<crazynuxer> —
<crazynuxer> — for a COM_QUERY it is the query itself in plain-text
<crazynuxer> —
<crazynuxer> function read_query( packet )
<crazynuxer> if string.byte(packet) == proxy.COM_QUERY then
<crazynuxer> print(“we got a normal query: ” .. string.sub(packet, 2))
<crazynuxer> end
<crazynuxer> end
<crazynuxer> itu contoh script yg simple nya
<crazynuxer> jadi nanti ketika anda menjalakan mysql proxy dan melakukan query
<crazynuxer> akan tampil we got a normal query: “query_anda”
<crazynuxer> di console ๐Ÿ™‚
<crazynuxer> di mysql-proxy ini
<crazynuxer> ketika kita menjalankan
<crazynuxer> akan ada 2 port yg dilisten
<crazynuxer> yg pertama untuk admin port
<crazynuxer> yg kedua itu port untuk balancer yg akan diakses user atau aplikasi
<crazynuxer> saya menggunakan port 4041 untuk admin nya
<crazynuxer> 4040 untuk diakses user atau aplikasi
<crazynuxer> berikut saya kasih contohnya
<crazynuxer> bentar ssh dulu ke mesinnya
<crazynuxer> :LD
<crazynuxer> ๐Ÿ˜€
<crazynuxer> untuk menjalankannya
<crazynuxer> /usr/sbin/mysql-proxy –proxy-lua-script=/opt/proxy/lib/mysql-proxy/example.lua –proxy-address=xxx.xxx.xxx.xxx:4040 –proxy-backend-addresses=xxx.xxx.xxx.xxx:3306 –proxy-backend-addresses=xxx.xxx.xxx.xxx:3306
<crazynuxer> mysql-proxy –> itu binary nya
<crazynuxer> –proxy-lua-script itu agar mysql-proxy menggunakan script example.lua
<crazynuxer> –proxy-address=xxx.xxx.xxx.xxx:4040 ini adalah sebagai ip dan port yg akan diakses oleh client atau aplikasi
<crazynuxer> atau ip balancer nya
<crazynuxer> sedangkan backend address nya itu adalah server2 database yg dibelakang balancer
<crazynuxer> setelah menjalankan perintah diatas kita bisa ngecheck apakah port 4040 dan 4041
<crazynuxer> sudah listen
<crazynuxer> root@crazynuxer:~# netstat -nltp
<crazynuxer> Active Internet connections (only servers)
<crazynuxer> Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
<crazynuxer> tcp 0 0 xxx.xxx.xxx.10:4040 0.0.0.0:* LISTEN 29432/mysql-proxy
<crazynuxer> tcp 0 0 0.0.0.0:4041 0.0.0.0:* LISTEN 29432/mysql-proxy
<crazynuxer> tcp 0 0 xxx.xxx.xxx.9:3306 0.0.0.0:* LISTEN 25706/mysqld
<crazynuxer> tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 19049/sshd
<crazynuxer> tcp6 0 0 :::22 :::* LISTEN 19049/sshd
<crazynuxer> kita lihat sudah listen
<crazynuxer> klo gitu kita akan coba melakukan query ya
<crazynuxer> mysql -uroot -h xxx.xxx.xxx.10 -P 4040 -e ‘select * from mysql.user’ -p
<crazynuxer> dan masukkin passwordnya
<crazynuxer> maka diconsole akan tampil
<crazynuxer> Hello world! Seen the query: select @@version_comment limit 1
<crazynuxer> Hello world! Seen the query: select * from mysql.user
<crazynuxer> sesuai dengan isi script yg ada diexample.lua
<crazynuxer> berikut isi example.lua
<crazynuxer> function read_query(packet)
<crazynuxer> if string.byte(packet) == proxy.COM_QUERY then
<crazynuxer> print(“Hello world! Seen the query: ” .. string.sub(packet, 2))
<crazynuxer> end
<crazynuxer> end
<crazynuxer> print(“test”
<crazynuxer> )
<crazynuxer> jadi di mysql-proxy ini bisa memanipulasi query dan me load balance
<crazynuxer> sesuai dengan isi script lua nya
<crazynuxer> jadi sangat2 flexible
<crazynuxer> dan untuk load balance ini di mysql-proxy sudah ada plugin
<crazynuxer> namanya hscale
<crazynuxer> bisa coba akses situsnya
<crazynuxer> hscale.org klo ga salah ๐Ÿ™‚
<crazynuxer> itu juga dalemnya lua
<crazynuxer> jadi nantinya proses load balance nya akan dihandle oleh hscale
<crazynuxer> dengan script lua didalamnya
<crazynuxer> untuk menjalankannya silahkan download di hscale.org
<crazynuxer> dan untuk installation tinggal download dan ekstrak kemudian set env variable dan local variable nya
<crazynuxer> sesuai dengan petunjuk dari situs hscale.org
<crazynuxer> itu sedikit info mengenai mysql-proxy ๐Ÿ™‚
<crazynuxer> untuk ubuntu konfigurasinya ada di /etc/default/mysql-proxy dan /etc/init.d/mysql-proxy
<crazynuxer> ๐Ÿ™‚
<crazynuxer> ok sekarang kita akan bahas spock proxy
<crazynuxer> spockproxy ini sudah bisa digunakan di production
<crazynuxer> ini dikeluarkan oleh spock.com
<crazynuxer> salah satu search engine ๐Ÿ™‚
<crazynuxer> coba deh liat www.spock.com
<crazynuxer> dan ini merupakan forking dari mysql-proxy
<crazynuxer> untuk situs resminya
<crazynuxer> spockproxy
<crazynuxer> http://spockproxy.sourceforge.net/
<crazynuxer> spockproxy yg terbaru baru versi 0.8.7
<crazynuxer> spockproxy ini hampir sama dengan mysql-proxy
<crazynuxer> cuman spockproxy tidak pake lua
<crazynuxer> dan horizontal partition menggunakan system range base
<crazynuxer> jadi misalnya ada 10 query
<crazynuxer> nanti dia akan bagi berdasarkan range yg sudah disetting
<crazynuxer> didalam database schema
<crazynuxer> jadi spock ini dalam pengaturannya menggunakan database schema
<crazynuxer> didalam database schema itu terdapat 3 buah table
<crazynuxer> shard_database_directory
<crazynuxer> shard_table_directory
<crazynuxer> shard_range_directory
<crazynuxer> table database directory itu untuk mengatur koneksi
<crazynuxer> jadi pendefinisian backend beserta database yg mau disharding
<crazynuxer> klo table shard_table_directory itu berdasarkan table yg mau disharding
<crazynuxer> kita mendefinisikan column
<crazynuxer> sedangkan range yg range yg akan kita atur nanti
<crazynuxer> jadi misalnya kita ada 10 query
<crazynuxer> range query 0-5 di lemparkan kemesin backend database A
<crazynuxer> 6-10 itu dilempar ke mesin database B
<crazynuxer> dan seterusnya
<crazynuxer> sampai sejauh ini bagaimana ?
<the_curious> masalahnya
<the_curious> ๐Ÿ˜€
<the_curious> kalo ga tau wuery nya berapa banyak
<the_curious> gimana?
<the_curious> iya kan?
<the_curious> ๐Ÿ˜€
<the_curious> *query
<crazynuxer> hehehe
<crazynuxer> yups betul banget saudara digit ๐Ÿ˜›
<crazynuxer> bagaimana dengan yg lain ?
<crazynuxer> untuk sejauh ini ?
<sufehmi> halo, saya agak sedikit rancu soal range query
<the_curious> iya pak
<sufehmi> jadi itu benar2 berdasarkan urutan query yang datang ya?
<sufehmi> bukan bagaimana isi querynya?
<sufehmi> oooo ok
<sufehmi> eh sori kirain mengkonfirmasi, layar saya terlalu terang
<sufehmi> bentar…. ***atur brightness layar**
<crazynuxer> berdasarkan isi nya
<crazynuxer> jadi misalnya kita setting id sebagai column yg ingin disharding
<crazynuxer> maka spock ini akan melihat idnya
<crazynuxer> lalu berdasarkan range nya
<crazynuxer> dia akan lempar ke backend
<crazynuxer> jika didalam range tidak ada
<crazynuxer> maka akan ditolah
<crazynuxer> ditolak
<crazynuxer> itu yang saya alami kemarin ๐Ÿ™‚
<sufehmi> oke, menarik… jadi kita bisa setup semacam rule ya
<sufehmi> untuk menentukan query yang mana untuk ke backend yang mana
<crazynuxer> iya
<sufehmi> kalau berdasarkan urutan datangnya query saja, gimana?
<sufehmi> bisa atau tidak ya?
<sufehmi> memang terlalu simple sih, tapi kadang ada kasus yang sudah cukup dengan seperti ini
<sufehmi> jadi misalnya; query yang pertama datang akan di opern ke backend1
<sufehmi> opern=oper
<sufehmi> query kedua dioper ke backend2
<sufehmi> query ketiga kembali ke backend1
<sufehmi> query keempat ke backend2
<sufehmi> dst
<crazynuxer> iya
<sufehmi> jadi cuma sekedar load balancer sederhana
<crazynuxer> kelemahan kita harus set itu semua ๐Ÿ™‚
<sufehmi> hehehe
<crazynuxer> iya sederhana sekali cara kerjanya
<crazynuxer> waktu kita select pun
<crazynuxer> sebenernya si spock ini melakukan query select di semua backend
<sufehmi> ooo
<sufehmi> ini topik yg sangat menarik, karena ada bbrp customer saya yang sudah perlu pakai multiple backend
<sufehmi> pada saat ini, ada bbrp customer saya yang traffiknya setara dengan republika.co.id
<sufehmi> jawapos.co
<sufehmi> padahal servernya cuma dual-core, 2 GB RAM ๐Ÿ™‚
<sufehmi> tertolongnya karena saya pakai squid, sehingga mayoritas hits mengenai squid. Bukan ke Apache/PHP
<sufehmi> tapi, traffic nya bertambah terus
<sufehmi> jadi musti siap2 utk multiple backend juga
<crazynuxer> iya ๐Ÿ™‚
<crazynuxer> sebaiknya mulai membuat solusi scale out ๐Ÿ™‚
<sufehmi> nah, sharding selama ini memerluka coding ulang dari web-apps ybs
<sufehmi> dengan spock, jadi ada harapan bahwa ini tidak perlu
<crazynuxer> iya ๐Ÿ™‚
<sufehmi> jadi shardingnya di handle di level “middleware” / spock
<sufehmi> bukan di aplikasi
<sufehmi> wah, sedap betul ini ๐Ÿ™‚
* hilman (n=adit@125.161.205.58) has joined #mysql-id
* hilman is now known as adit
<adit> ya telat ya
<crazynuxer> sepertinya begitu dit ๐Ÿ™‚
<adit> ๐Ÿ™
* sufehmi sambil testing game StarTrek Voyager : Elite Force di Ubuntu 9.04 ๐Ÿ™‚
<crazynuxer> hahaha
<the_curious> donlot dimana
<the_curious> di share dunk
<the_curious> Hahahaha
<adit> tadi keasyikan nonton opera van java
* the_curious mupeng
<adit> ๐Ÿ˜€
<crazynuxer> bagaimana sejauh ini yg masih belum jelas ?
<adit> tadi ngebahas apa ki?
<adit> tumben banget info nya telat di milis
<adit> lagi pada sibuk ya? ;))
<crazynuxer> hehehe
<crazynuxer> yups
<crazynuxer> jadi konsepnya sperti itu untuk spockproxy
<crazynuxer> untuk install nya silahkan download
<crazynuxer> lalu ekstrak,
<crazynuxer> install dengan perintah
<crazynuxer> ./autogen.sh
<crazynuxer> ./configure
<crazynuxer> make
<crazynuxer> dan make install
<crazynuxer> untuk ubuntu jaunty
<crazynuxer> harus sedikit menyesuaikan gcc nya ๐Ÿ˜€
<crazynuxer> untuk yg pake centos tidak perlu
<crazynuxer> untuk lebih detailnya nanti akan saya demokan di mysql monthly meeting
<crazynuxer> ๐Ÿ™‚
<crazynuxer> demikian dari saya
<crazynuxer> jika ada yg mau ditanyakan , silahkan
<adit> membahas apa toh ? ๐Ÿ˜€
<adit> sangat2 ketinggalan neh
<crazynuxer> adit: loe lihat log nya aja ๐Ÿ˜›
<adit> ok2 :p
<iis> jadi gmn teman-teman?
<iis> ada yang mau tanya ke nuxer?
<crazynuxer> bagaimana ?
<iis> sepertinya tidak ada yang bertanya nih..?
<iis> kalo gak ada mau ditutup nih confernce nya..
<crazynuxer> ok ๐Ÿ™‚
<mediEvil44> ok
<iis> baiklah…
<iis> conference mysql indonesia ke 18 berakhir disini
* udie_mysql (n=chatzill@114.123.173.175) Quit (“ChatZilla 0.9.85 [Firefox 3.0/2008052906]” )
<iis> kalo nanti tiba2 teringat ada yang mau ditanyain ttg materi ini, pm aja ke nuxer
<iis> atau kirim ke milis juga gpp..
<iis> lognya akan segera dikirim ke milis
<mediEvil44> sip
<crazynuxer> bener
<iis> terima kasih atas kesediaan temen2 ikut confernce malam ini
<iis> assalamu’alaikum semuanya..
<crazynuxer> waalaikumsalam
<iis> sampai jumpa di confernce berikutnya
* adit (n=adit@125.161.205.58) has left #mysql-id
<iis> jangan lupa mysql meeting 2009.06 tanggal 4 juli di kantor SUN di Jl. Sudirman

Materi Workshop @ Timor Leste – gratis + copyleft

Beberapa hari yang lalu saya diundang oleh Ristek untuk berkunjung ke Timor Leste selama 5 hari. Disana saya bersama Pak Onno Purbo memberikan workshop / seminar selama 3 hari. Untuk acara tersebut, saya membuat 4 buah dokumen training / tutorial.

Semua dokumen tersebut saya buat dengan lisensi GPL v2. Artinya, Anda bebas menggunakannya untuk kebutuhan Anda sendiri. Termasuk memodifikasinya untuk keperluan Anda.

Terlampir adalah dokumen-dokumen ybs :

[1] Cara Cepat Pemrograman Web – bagian 1 : berbasis Open Source (1,2 MB)
[ format PDF (280 KB)]
[2] Cara Cepat Pemrograman Web – bagian 2 : berbasis Open Source (1,2 MB)>
[ format PDF (282 KB)]
[3] Pengenalan Virtualisasi (1,6 MB) [ format PDF (888 KB)]
[4] Tutorial Open Office (4,5 MB) [ format PDF (2,9 MB)]

Dokumen ke 4 dibuat oleh Hasan (Ardelindo.com) dengan lisensi GPL. Sebetulnya dokumen tersebut membahas Open Office v2. Karena lisensinya bebas, maka saya jadi bisa meng update dokumen tersebut untuk versi 3, melakukan beberapa editing, beberapa revisi – dan lalu menyediakannya kembali untuk Anda sekalian.

Dengan membebaskan dokumen / artikel, yaitu melisensikannya secara bebas (GPL atau setara), maka dokumen tersebut seakan-akan menjadi hidup. Dia jadi bisa diakses oleh siapa saja, bermanfaat oleh siapa saja, dan bahkan jadi bisa terus relevan sesuai dengan perkembangan zaman.
Terimakasih kepada Hasan yang sudah menginspirasi saya untuk membebaskan dokumen-dokumen saya sendiri juga.

Kembali ke acaranya; mengenang kunjungan tersebut, terlampir adalah lagu “Juni di kota Dili” oleh Rita Effendi. Selamat menikmati ๐Ÿ™‚

Murah itu Mahal

Ketika SD dulu, kami sekeluarga pernah pulang kampung beramai-ramai. Istilahnya, “Pulang Basamo” – pulang bersama. Konvoi banyak mobil, dari Jakarta, Merak, menyeberang Selat Sunda, terus menjelajah selatan Sumatera, sampai akhirnya tiba di desa kecil yang bernama Silungkang.

Sebetulnya ada pilihan naik kapal laut, ataupun kapal terbang. Tapi naik kapal laut betul-betul membuat pusing, mabuk saya. Sedangkan naik kapal terbang ketika itu masih cukup mahal biayanya.
Lagipula jika bisa seru menjelajah naik mobil, kenapa naik pesawat?

Ya, ketika itu jalur Lintas Sumatera belum ada. Banyak jalanan di rute kami yang masih berupa tanah dipadatkan. Kadangkala jembatannya adalah beberapa potong pohon yang dibentangkan diatas sungai, atasnya dibuat rata dengan beberapa buah papan. Ya, perjalanan pulang kampung ketika itu benar-benar adalah sebuah penjelajahan ๐Ÿ™‚

Nah, ketika perjalanan sejauh itu, di rute yang tidak terlalu ramah, keamanannya pun tidak terlalu meyakinkan, sambil membawa keluarga dan anak kecil; maka konvoi adalah suatu keharusan.
Sungguh menyenangkan – pulang kampung bersama kawan-kawan dan saudara sepermainan, bersama-sama menjelajah ratusan kilometer bumi yang asing bagi kami.

Anyway, akhirnya kami tiba di desa bernama Silungkang itu. Bagi anak kota seperti saya, kampung adalah suatu tempat yang amat menarik. Semuanya serba luas ! Bisa lari ke segala arah tanpa menabrak tembok ๐Ÿ™‚
Dan sungainya – bisa seharian main disitu dan tidak bosan. Nanti ketika sudah agak besar, kadang juga menemani para paman memancing, atau, menjala ! Benar-benar seru.

Ketika malam turun, kami masuk ke rumah gadang milik keluarga besar masing-masing. Rumah kayu berukuran besar ini bisa menampung beberapa keluarga di dalamnya.
Disini, waktu seperti berhenti. Kami bisa melihat berbagai foto dan benda dari zaman Jepang dan Belanda, masih tersimpan baik. Orang zaman dahulu memang begitu, mereka memperhatikan benda-benda miliknya dan dirawat dengan baik. Bahkan ketika benda tersebut sudah tidak digunakan lagi sekalipun.

Seperti sebuah mainan pesawat terbang yang saya temukan di lemari pajangan. Tadinya saya kira hanya pajangan. Bagus, pesawat Spitfire, yang digunakan Inggris di Perang Dunia II. Tapi saya segera menyadari bahwa itu bukan pajangan, melainkan mainan.

Namanya anak kecil ya otomatis langsung tertarik melihat mainan ๐Ÿ™‚
Apalagi ternyata mainan ini dulu adalah milik salah satu paman saya ketika masih kecil, kemudian diturunkan lagi ke saudara-saudaranya yang lebih kecil – terus sampai akhirnya habis anak kecil di rumah itu, karena sudah besar, dan membawa anak-anak mereka juga pergi merantau ke berbagai penjuru Indonesia. Dan sejak itu pesawat mainan tersebut disimpan di dalam lemari tersebut.

Saya tercengang ketika menyadari bahwa pesawat mainan tersebut masih bisa dimainkan dan berfungsi dengan baik !
Di sayapnya ada beberapa lubang, yang kita bisa masukkan rudal ke dalamnya. Lalu kita tekan sebuah tombol di belakangnya – wusssshhh, rudal plastik tersebut meluncur kencang dan jauh.

Berapa umur mainan ini ? 30 tahun ?! ๐Ÿ˜€
Dan masih bisa dimainkan dengan baik.

Sampai sekarang saya masih takjub jika ingat hal itu. Bukan apa-apa, mainan zaman sekarang kontras total dengan mainan kuno tersebut.
Harganya memang mungkin jauh lebih murah – tapi, baru beberapa kali dimainkan sudah rusak. Minta ampun. Bukan membuat senang, malah merusak kesenangan, karena rusak ketika sedang asyik dimainkan.

Efek sampingnya, anak-anak jadi cenderung tidak peduli dengan barang miliknya. Toh barang cepat rusak juga, buat apa peduli ? Dan kalau sudah rusak ya tinggal beli gantinya. Murah kok.

Padahal sikap konsumtif ini jelas tidak baik, karena berarti (antara lain) kita juga mengajarkan mereka untuk turut mepercepat kerusakan bumi.
Makin banyak barang yang rusak, berarti makin banyak sampah. Padahal plastik dan berbagai bahan pada mainan / barang murahan itu bisa utuh selama ratusan tahun, tidak mudah terurai. Kalaupun terurai, seringkali menjadi zat-zat beracun.

Akhirnya sekarang kami cenderung menghindari membelikan mereka mainan. Kecuali jika jelas bagus, ada manfaatnya, dan bisa tahan lama. Mahal, tidak apa. Kalau perlu biar anak-anak itu yang membelinya sendiri, dengan menabung dulu. Jadi biar mereka tahu nikmatnya mendapatkan sesuatu dengan usaha mereka sendiri.

Foto di atas adalah sebuah Air Conditioner (AC) merk Sanyo, yang mungkin sudah berusia sekitar 15 tahun. Dan AC ini masih dingin ๐Ÿ™‚
Cukup mencengangkan, terutama ketika dibandingkan dengan berbagai AC yang baru akhir-akhir ini. Ada yang baru satu tahun sudah rusak – tidak lama setelah masa garansinya habis.

Apa bedanya AC yang baru ini dengan AC Sanyo tersebut?
Bagi orang awam seperti saya, tidak jelas, kecuali satu hal – harganya JAUH lebih murah. Made in China pula. Klop dengan imagenya yang murah meriah. Karena itu kami kemudian membelinya dalam jumlah banyak untuk beberapa kantor kami.

Apa yang kemudian terjadi ? Tidak saja banyak yang rusak, namun juga pemakaian listriknya sangat boros.

Ya, niat ingin menghemat – alhasil malah merugi. Murah itu ternyata Mahal !

Yang di samping ini adalah sebuah kursi belajar. Merk Chitose. Umurnya mungkin sudah 20 tahun.

Nah, bisakah Anda temukan cacat pada kursi tersebut ?
Boro-boro menemukan cacat, mungkin komentar Anda malah “hah 20 tahun, yang bener??” ๐Ÿ˜€

Ya, harga kursi ini dulu juga tidak terlalu murah. Tapi, inilah cara kita membeli barang zaman dahulu – cash, kalau perlu menabung dulu. Dan sebagai investasi / aset jangka panjang, digunakan & dirawat dengan baik.
Hasilnya, barang yang mahal tersebut awet selama puluhan tahun. Dan harga awal yang dikira mahal itu, ternyata sebetulnya murah.

Coba kita bandingkan misalnya dengan kursi zaman sekarang yang harganya Rp 150.000. Dengan daya tahan mungkin 2 tahun, sebelum mulai rusak disana sini.
Berarti per tahun seperti kita mengeluarkan biaya sebesar Rp 75.000 untuk kursi tersebut.

Kursi Chitose yang mahal ini mungkin sekarang harganya sekitar Rp 500.000. Dengan masa penggunakan (sampai saat ini) selama 20 tahun, maka seperti kita mengeluarkan biaya per tahunnya hanya Rp 25.000 saja untuk kursi ini.

Ternyata, walaupun harganya lebih mahal, sebetulnya kursi Chitose tersebut lebih murah (paling tidak) 3x lipat daripada yang kursi murahan tersebut. ๐Ÿ™‚

Zaman ini memang penuh tipuan. Yang kita kira murah, ternyata sebetulnya mahal. Yang kita kira mahal, ternyata sebetulnya murah.
Jika tidak berhati-hati, maka kita bisa tertipu dan uang kita jutaan rupiah bisa terbuang percuma begitu saja.

Jadi jangan lupa – Murah itu Mahal !

Tulisan terkait : Murah versus Kualitas

LG : Life is Good – But We (our website) Sucks

Today I had a chance to practice my patience. I failed ๐Ÿ™‚ lg-sucks

It all started when we realized that we have lost the User Guide / Owner’s Manual for our LG Jet Cool Air Conditioner. Model LS-Q076.
While we still don’t know how to program the AC to shut off at certain time.

We need this functionality to ensure that the kids will still have an enjoyable night sleep – but without suffering from dry air due to a continuous, all-night, AC operation.

So, easy, right? Nowadays, just Google, and you should find it, right. Right ? ๐Ÿ™‚

Finding LG’s website was easy enough. However, I immediately realized that the WHOLE website’s interface was coded in Javascript.

This is a nightmare for visitors like me for various reasons :

(1) Broken “back” button
(2) Slower website performance
(3) In case of problems – it’s back to start for us.

The International LG website has 4000+ documents listed for their AC product alone. So I looked for its Indonesian website. Found it in no time. And the horror begin.

The website is slow. Horribly slow. This is on a 3G broadband connection, with regular 160 Kbps download speed.

It’s the dynamic parts – the static parts of the website renders quickly. However, its dynamic ones, such as lists, will show up MUCH later.

Basing the website heavily on Javascript doesn’t help either in this particular case. Now you have 2 dynamic parts – on server and client. Both horribly unoptimized.

By default, a dynamic website WILL perform slower than a similar, static one. There are tricks to make it faster, but you need to be really knowledgeable in this topic to pull it off.
LG’s website not only deploy dynamic website on both of its server & client side; it also does so blindly.

Actually, I still have patience for this kind of websites. Since they’re so widespread anyway, sometimes you just have to grind your teeth and get on with it.

But broken navigation ? That’s the last straw.

Basically, I was browsing on the braindead UI design of LG’s website, when it threw an error on me.
I call it braindead because you are looking for a single document from a THOUSAND available choice – but you can only see 20 choices at a time; and you can NOT skip to the page where you think your document is.

Then after skippng about 40 pages, you found the document – and it threw an error.

I had to start again from the Front page ๐Ÿ™

No, the BACK button does NOT work. Genius, I know.

So, after hours of browsing, retries, and barely enough patience to held back my rage; I finally got my document. Yeah!
Now we know how to set the AC off after certain time.

Then I rushes to my blog, and wrote this. ๐Ÿ™‚

Anyway, hope you enjoyed reading it, more than I have suffered it. These kind of websites should be named & shamed as widely as possible.
Hopefully then we’ll be seeing less of them. And the Internets then will become a MUCH better place to browse around.

To Hell with stupid web design practices ! ๐Ÿ˜€

Nabi & Rasul

Saya adalah laki-laki paling ganteng, di rumah saya. Well, oke, nomor 2 paling ganteng – hanya kalah dari Umar. Anyway, hidup di tengah kumpulan wanita itu memang menyenangkan sekali. Ada banyak hal-hal menarik yang terjadi dari waktu ke waktu. Tidak pernah membosankan ๐Ÿ™‚

Beberapa hari yang lalu terjadi tanya-jawab antara saya dengan Anisah, anak saya yang sulung, sebagai berikut :

Anisah (A) : Pa, kok Nabi itu tidak ada yang perempuan ya ?

Saya (S) : Hm, iya yah ?

A : Iya, semuanya cowok kan ?

S : Betul, mungkin karena pekerjaannya berat ?

A : ?

S : Lihat aja tuh Nabi Muhammad, beliau pernah malah disambit pakai batu-batu sampai berdarah-darah

A : Ya ampunnnn

S : Iya, pernah ditimpa dengan tahi unta juga. Disiram dengan air kencing. Dan berusaha dibunuh berkali-kali.

Nabi-nabi yang lain juga kayak begitu. Nabi Zakariya digergaji hidup-hidup sampai wafat.

A : Hah !!! Beneren pa? Hiiiyy

S : Ya, Nabi Yahya disembelih. Nabi Isa mau disalib – tahu gak disalib itu apa?

A : Digantung di kayu ?

S : Ya, tangannya dipaku ke tiang kayu.

A : *bergidik*

S : Nah, kalau Nabi itu perempuan, kayaknya kesian deh kalau musti kejadian kayak begitu

A : Iya ya…. aduh. Ngeri banget.

S : Ngebayanginnya aja Papa gak tega. Kalau cowok sih, biarin aja ๐Ÿ™‚

A : Hahahaha…

S : Ya, itulah nasib para Nabi. Kerjaannya berat, untuk kebaikan orang lain – eehh malah dibalasnya kayak begitu sama orang yang mau mereka tolong. Cape deh.

A : Bwahahaha…

S : Yah jadi gitu kakak, mungkin karena itu gak ada Nabi yang perempuan

A : Iya lah, untung juga ya.

Jakarta 13 Mei 2009, ditulis di sela-sela rehat setelah bekerja + meeting seharian.

Mobile Dev Joy : The Adventure with Mobile Browser

My post today will be rather technical, but I’m sure some will find it interesting because it’s about a topic that’s not as widely discussed as others. Some may even find it useful. It’s about my brief stunt with mobile development.

Some time ago I was asked to look at a web-based apps which is to be used with a mobile phone. A Nokia E70 to be exact. It’s based on Symbian S60 3rd edition platform. Basically, a Javascript which is supposed to run won’t. So I looked into it.

This piece of Javascript is vital for usability reasons. Without it, the input process will take up to 50% longer. So I thought, yeah I’ll set aside a bit of my time and hack this.

Then I realized that when I thought the browser situation on the PC / desktop platform is a mess; it actually look very tidy and well-ordered compared to the situation on the mobile platform ๐Ÿ™‚

First, mobile platform is much more limited — in terms of CPU / processor power, memory capacity, secondary storage (hard disk / flash ram) capacity, power, etc. These limitations in turn must be taken into account by all mobile browsers. Which causes various quirks / incompatibilities to surface when you dig deeper into it.

Second, free(dom) software has not yet made as much impact here as it is on the desktop. Therefore we have plethora of proprietary technologies, which sometimes doesn’t work together / conform to the open standards.

Third, there’s not as many documentations available on the topic. As I googled around, I realized in horror that I may have to hack around much more than I thought necessary.

Back to the hack – first thing I tried was to install Opera mobile (not Opera mini). Yes, we’re willing very willing to pay Opera if it works. In short – the Javascript works on it.
Unfortunately, Opera mobile crashes around so much, it’s impossible to enjoy any kind of productivity with it.

Also there are a LOT of quirks with Opera mobile when used with keypad.
They are small things, but gets annoying very quickly. Which doesn’t help when you’re trying to accomplish good amount of work.

Maybe it’d be better if I try an older version of it, but seeing it consume too much RAM anyway; I thought I’ll give the built-in browser a try first.

Called “Nokia Mini Map Browser” because of its “mini map” feature, it’s speedier than Opera mobile and doesn’t use as much memory. However, the Javascript on our web-apps doesn’t work there.

So I thought, perhaps this browser doesn’t support the latest version of Javascript. Or worse, perhaps it has its own version of Javascript. That would suck greatly.
Anyway, I started to try looking for documentation on the topic, also for a tool to help me debug the problems there.

I found Nokia Mobile Browser Simulator 4.0. It’s Java-based. However, it seems to be hard-coded for Windows, with Windows installer too. Ok so I found a Windows machine, and set it up.

To my dismay, it doesn’t work very reliably. To be precise, it won’t even load the web-apps. While the actual browser in Nokia E70 will display it correctly.

With documentation on the subject (Javascript capabilities of Nokia Mini Map Browser) also very lacking, this is starting to look like a dead end.
Until I found out that the Nokia Mini Map Browser is actually an open source project !

Code named “S60browser”, or “S60Webkit”, it’s available from opensource.nokia.com
There’s hope – if there’s code available, then anything can always be traced / found out.

My sharp-minded readers will quickly realize another thing – yes, it’s basically the same as the Safari browser, the one on Mac OS X ๐Ÿ™‚

Nokia Mini Map Browser aka S60browser aka S60Webkit is based on another open source project called WebKit. Which happens to be the foundation used as well by Apple to build their browser, Safari.

Now this is getting interesting ๐Ÿ™‚

I dug deeper into these new clues, and began to feel sure that both browser’s cores are indeed identical. Which means that I’d be able to debug the problem with Safari browser.

safari-pref-advanced
I fired up Safari, invoked the Preferences screen, and clicked on Advanced icon. I enabled “Show Develop menu in menu bar”, then I restarted Safari. A new menu then showed up. I chose Develop – Show Web Inspector (also accessible via Cmd-Alt-i)

I got the detailed error message in no time. It’s “Object [object HTMLInputElement] (result of expression document.getElementById(“testForm”).submit) does not allow calls“.
As I already mentioned, the script works on Firefox and Opera, but somehow it doesn’t work on Safari. So it’s Googling time again.

Turn out it’s a generic error message whenever Safari have problems executing a function.
So it could be that the function doesn’t exist. Or the function name is mispelled. Or any other function-calling related problems.
Great, looks like this will cause more questions than it answers…

Thankfully I wasn’t on the wild goose chase for too long. A comment on a blog post gave me the hint I needed :

I gave a form button the *same name* as the function it was calling in its onclick. This error was the result.

Joshua, thank you. That’s exactly what happened in my case ๐Ÿ™‚
A line in the script is as follows :

document.getElementById(“testForm”).submit();

While there’s also a button on the same script named, you guessed it, submit :

<input type=”submit” name=submit />

So Safari got confused, and threw this generic error message.

And it’s very easy to fix, I just need to change the button’s name value to something else – and it works now on Safari & Nokia Mini Map Browser, as well as on Firefox and Opera.

I love happy endings ๐Ÿ™‚

Moral of the story ? Open source software empowers developers.

And this is not the first time – my MSc thesis was about to fail; when I found ping’s source code on the Internet. It gave me the hint needed to continue the project. The thesis got among the best mark at that year.

With availability of the source, we can learn from the brightest minds on Earth with ease. The knowledge and wisdom become available for all.
Even to the ones with feeble minds, like me.

Here’s another cheer for free(dom) software movement : May the source be with you ๐Ÿ™‚

(oh, and also, all hail Google !)

Old & New

Ketika akan posting hari ini, saya baru sadar bahwa situs ini lenyap. Kosong melompong. Hanya menampilkan indeks directory nya di server, yang polos tiada berisi suatu apa pun.

Kena hack? Bisa jadi.
Padahal ini dihosting di sebuah server yang sudah di harden.

Untunglah ini bukan masalah, karena situs ini rutin di backup ๐Ÿ™‚
Dalam waktu kurang dari 5 menit, data situs dari backup nya selesai saya restore – dan situs ini kembali berjalan sebagaimana semula.

Ada beberapa pelajaran yang bisa kita ambil dari sini :

(1) Server yang secure itu percuma, jika aplikasinya belum secure. Tetap saja para hacker/cracker akan bisa masuk.

(2) Backup data itu sangat penting.

Oh ya, perusak situs ini adalah cracker, BUKAN hacker.
Hacker itu bisa jadi adalah seseorang yang banyak ingin tahu, senang mengutak-atik berbagai hal, senang mencoba-coba — namun, hacker TIDAK merusak.

Seseorang yang desktruktif / senang merusak tidak layak untuk menyandang predikat hacker.

OK, itu berita yang baru. Apa berita yang lama?

Tidak terlalu spesial sih. Saya hanya menemukan blog saya yang lama di Internet Archive. Lalu, saya putuskan untuk memindahkannya ke blog ini.

Ternyata, saya pertama kali ngeblog itu adalah tanggal 3 Januari 2001 ๐Ÿ™‚

Semua posting di blog lama tersebut akan mulai saya posting di kategori old-blog.

Memang blog itu luar biasa menarik. Tanpa sadar, ternyata sudah 8 tahun saya ngeblog ! Wow… rasanya baru kemarin saya membuat script blog saya sendiri, dan mengetikkan posting pertamanya.

Saya tertawa membaca posting saya tentang kamera digital pertama saya, pada tanggal 7 Maret 2001. Kamera tersebut merk Intel, dan memiliki kapasitas simpan memory sebesar 8 MB. Yak, 8 Megabytes saudara-saudara – BUKAN Gigabytes ๐Ÿ˜€

Kapasitas cuma secuil segitu bisa ngapain???“, mungkin itu pertanyaan kita semua.
Ternyata, bisa menjadi ratusan buah foto kenangan. Ya, sebagian besar foto-foto di halaman tersebut adalah berasal dari kamera digital yang super cemen ini ๐Ÿ™‚
(ya, saking cemennya, bahkan foto-foto tersebut tidak ada metadatanya sama sekali / nama kamera yang digunakan tidak muncul. Pakar IT kita bisa kelabakan kalau menemukan foto-foto ini)

Selain tawa, dengan terharu saya juga menemukan kembali catatan-catatan perkembangan anak-anak saya. Berbagai memori yang sudah mulai terlupakan muncul kembali dengan manis. Inilah harta saya yang paling berharga.
Tanpa blog, semua kenangan itu akan pudar & lenyap seiring dengan berjalannya waktu.

Jadi, mari kita jangan ngehack blog orang lain. Mari kita ngeblog saja yuk. Mari ๐Ÿ™‚

Google Killer ? Wolfram Alpha etc

These past few days I’ve been stumbling on articles about Wolfram Alpha. How that it’d be the next search engine. How it’d be the Google killer. And so on.
Unfortunately, it’s not the first time I’ve heard about such claims.

I can’t remember exactly when I was first online on the Internet. Probably 1995. Back at that time, there was only a handful of websites. There was a book claiming to be the Yellow Page of Internet. It was enough to get me around.

Then the internet grew. Very quickly. So I started to utilize Yahoo to find websites of interest. At that time, Yahoo looks like DMOZ.org. Yes, seriously.
Anyway, it was enough for my needs.

But the Internet doesn’t stop growing. Then I realized that I’ll need a different kind of assistance, to enable me to continue utilize it as best as possible.

So I found AltaVista. Lycos. And others. A.k.a “search engines”

It was truly amazing. You can find what you’re looking for from several millions of pages on the Internet within several seconds. Totally unheard of. I became adept at utilizing it. People thought I’m an IT wizard. While actually I was just rather good at asking the right questions to Altavista.

One thing about the Internet is that it’s a free place. Everyone can do anything at anytime. Altavista was not left alone for long — soon others are gunning for its position.

Long story cut short – Yahoo made Google as its search engine, Google became successful, Yahoo cut the deal; but it was too late. Google already became the King of Search Engines.

So now others are gunning Google.
And they’re not always doing it exactly the same way as Google. Which is good.

We’ve heard about Mahalo. About Cuil. Metacrawler, Ask.com, etc.
However, after years, still none managed to unseat Google from its top position. Despite the fact that some are answering questions even better than Google.

For example, do you know that there are search engines that can process questions in natural language form ? Example : Who is the president of Indonesia ?

Awesome ๐Ÿ™‚

START is the first web-based answering system, online since Dec 1993. Yes, what Wolfram Alpha trying to achieve is already done by MIT. 15 years ago.
That made START even more impressive.

Have a look around : Who is Sarah Connor ?

It can be biased too ๐Ÿ™‚
What is the best programming language ?

It can even lie !
Are you alive ?

Ahem. Okay, back to the topic – with all these wonderful engines, why it’s Google that’s still on the top ?

It’s because performance alone doesn’t ensure success.

You need also :

(1) Marketing : Google is already a very well-known brand. It’s even included in Merriam-Webster dictionary.

Competing with such well-known brand is a significant challenge.

(2) Scalability : Incoming : Can the engine scale to today’s billions of pages out there on the Internet ?

Google could. Not all the others fare as well.

(3) Scalability : Outgoing : Keeping point 2 above in mind – can you reply to people’s questions within / under 1 second ?

Google could. Some others could too – by sacrificing point 2.

(4) Relevancy : Can you read people’s mind ? Oops, let me rephrase that – can you give relevant answers to the questions ?

This is not easy as it might be because Internet keeps changing. It’s a moving target.

A while ago I was using a search engine called GigaBlast.
It was pretty good, and at the time it was even faster than Google.

However, after a while it started giving me irrelevant results. When I checked, it was because of various SEO techniques being deployed. So it got tricked in certain queries.
But Google kept becoming better. So I went back to Google.

Any contender for Google’s seat must be able to compete in the long run. They must not stay the same, because Google is always becoming better.

Yeah, it might be a while before we saw someone killed Google. Actually, they may be absorbed into Google’s collective instead.

But just as two-person start-up managed to shook the search engine world several years ago by creating Google, we may very well witness that again in the next several years. Because on the Internet, nothing is sacred and forever.

Obama : support & assist – don’t bring him down

Let’s be clear about one thing – Obama is not perfect. Anyone thinking the reverse is deluded. He’s just a man, not an angel (although it’d be really cool if he IS indeed a black angel) ๐Ÿ™‚

So he made mistakes, and he will continue to do so from time to time.

That said – I’m absolutely appalled at lack of patience that’s displayed by some people. Do you SERIOUSLY think that 8 YEARS of destructions done by Bush can be reversed by Obama in 1 MONTH ??

Come on people. We’re talking about some of the MOST thorough global destruction ever witnessed in this century. Bush does not only destroy America, he also wreaked havoc in various other countries too. Including Indonesia – various evil US corporations really did have a field day during his administration.

I already expected that Bush’s great momentum of disaster would be really hard to stop and turnร‚ย  around. I’ve suspected that Obama would have to compromise in several cases – and it has started to happen. There is NO way he’d be able to do everything – he’ll have to prioritize. Anyone with the slightest experience of management roles will understand this. To compromise really sucks, but sometimes the other options are even worse. Like quitting what you’re doing. Ask yourself – do you really feel like seeing him leaving after just a while ?

What really matters is his intentions – does Obama do that because he’s evil? Or is it because he’s cornered to? Or unable to do the reverse? And so on.

Remember, we’re talking about politics here. This is among the MOST complicated subject anyone could ever encounter. And here Obama is tackling US of A’s politics – probably the most complex of them all.

Unfortunately, we can’t read into people’s mind yet. Fortunately, we CAN make intelligent assessments. Instead of just accusing people blindly, we should really do this.

Check Obama’s track records. List his negative and positive points, this will enable you to see things more objectively. Try to focus on the bigger picture.

This is why I like Truth-O-Meter by Politifact.com. It really help you to look at things objectively, not subjectively. Note that it still misses some, even big ones – such as the fact that Obama have put a good man in charge for the recovery of USA, etc.
However, it’s definitely better than nothing.

Even easier is to compare Obama with Bush.

It then become as clear as day and night !

People, help Obama to make USA better for you. Don’t drag him down over small details. When he made mistakes – let him know that you’re not happy. When he try to do something right, let him know too that you support him.

It can be very lonely up there. If all you’re doing is nag him and get angry, any human is bound to get tired of it and think, “why the hell am I doing this ?“. That’s the first step to seduction by the sweet melody from the dark side.

A small compliment from time to time never hurts. A polite, but firm, reminder is always much better than a rude one.

.
.
.
So unless you want another Bush to rise and kick your collective a$$es even harder than before – get up, and work together to rebuild America.

We will all benefit from that as well. Because we all live in this same small blue rock called “Earth”, on this vast void of universe.

With love from Indonesia.

RescueTime.com – cara canggih meningkatkan produktivitas pribadi Anda

rescuetime-top-tagsSelama beberapa minggu ini software RescueTime.com telah terpasang di laptop saya. “Lho, RescueTime.com itu bukannya website? Kok software?“. Ya, ini kombinasi layanan yang unik – software di komputer Anda akan mencatat apa saja yang Anda kerjakan. Lalu kemudian Anda bisa melihat laporannya di RescueTime.com

Terus terang tadinya saya extra pesimis dengan slogannya – “Ridiculously Easy Time Management Software”.
Kebetulan saya sudah pengalaman mencoba berbagai macam software serupa. Mulai dari Borland SideKick (omg – masih ada yang bahkan menjual software ini !), Lotus Organizer (probably the best PIM out there), Google Calendar, iCal (sync dengan calendar di handphone saya), dst.
Semuanya sangat membantu, tapi selalu saya merasa masih ada yang kurang. Selalu saya merasa bahwa performa & produktivitas saya pribadi masih bisa ditingkatkan lagi.

Jadi karena perasaan tersebut, saya pasang RescueTime.com di laptop saya, walaupun dengan agak sedikit segan. Bukan apa-apa, saya berusaha agar tidak terlalu banyak aplikasi terpasang di laptop saya. Ribet.
Apalagi ini justru berjalan terus, dan ketika saya konek ke Internet, softwarenya juga secara rutin mengirim data-data aktivitas saya ke server RescueTime.com

rescuetime-apps-sitesTernyata instalasinya cukup simpel. Berjalan dengan cepat, dan softwarenya langsung berjalan. Hanya menanyakan username & password saya satu kali, lalu tidak ada lagi mengusik kita. Saya perhatikan, softwarenya juga cukup stabil. Lalu saya cek sekilas disitusnya, datanya juga sudah mulai masuk di account saya. Oke, mari kita biarkan dulu dia berjalan selama beberapa hari.
Lalu saya lupa, dan baru teringat lagi belakangan.

Secara ringkas, inilah yang terjadi :
Minggu pertama : shock ๐Ÿ˜€
Dua minggu selanjutnya : optimalisasi cara kerja dan prioritas pekerjaan
Minggu ketiga : Sukses.

Secara detail – apa yang terjadi ??

Setelah satu minggu, saya baru ingat bahwa saya telah memasang software RescueTime.com. OK, iseng ah, coba kita lihat, hasilnya seperti apa sih ? Saya buka RescueTime.com, dan login ke account saya. Dalam waktu singkat, langsung terbuka beberapa panel yang menampilkan rangkuman performa / produktivitas saya selama ini.

Dengan kejam, RescueTime.com, tanpa tedeng aling-aling, melaporkan bahwa produktivitas saya, dari skala -2 sampai 2, hanya 0.2 !! ๐Ÿ˜€

Seperti kata alexfarran di Twitter :

Rescuetime is unforgiving. It can’t be bargained with. It can’t be reasoned with. It doesn’t feel pity, or remorse, or fear.

Bisa terasa muka saya memerah ketika itu, hahaha. Hanya 0.2 ?? Apa yang terjadi ?? ๐Ÿ˜€
Penasaran, saya kemudian mengutak-atik situs RescueTime.com lebih lanjut lagi, meneliti latar belakang dari skor yang cukup menggemaskan tersebut.

Beberapa hal yang saya temukan :

  • Facebook ! Ketika itu saya sedang seru-serunya mengawali petualangan di Facebook. Dan karena Facebook bukan dianggap kegiatan yang produktif (suatu yang yang bisa, ehem, diperdebatkan) maka total produktivitas saya terjun bebas. Karena memang, ketika itu, cukup banyak waktu saya yang terpakai untuk mengakses situs yang satu ini.
  • Plurk : Saya kira hampir semua orang sudah tahu bagaimana adiktifnya situs yang satu ini ๐Ÿ˜€
    Secara ringkas – bisa saya katakan dengan gembira bahwa saya sudah bebas dari kecanduan Plurk, berkat kekejaman RescueTime.com ๐Ÿ˜€
  • Situs / software yang belum terdeteksi : RescueTime.com bukanlah sesuatu yang sempurna. Ada kalanya dia tidak tahu apakah suatu situs yang kita buka / software yang kita gunakan itu termasuk produktif atau tidak. Akibatnya, cukup banyak kegiatan saya yang diberi nilai 0 (nol), netral.
    Untungnya ini bisa kita koreksi dengan mudah — kita bisa dengan sangat cepat memberitahu RescueTime.com, bahwa suatu situs / software adalah kegiatan produktif / tidak.

Jadi ternyata inilah RescueTime.com. Dia bukan software pengatur jadwal kita, tapi hanya sekedar mencatat saja. Sederhana kan ? Tapi, dilakukannya dengan sangat efektif, dan dengan hasil yang sangat mudah untuk kita pahami.

rescuetime-category
Selama 2 minggu kemudian, saya sibuk sendiri merubah berbagai kebiasaan kerja saya. ๐Ÿ˜€
Sekitar setiap 2 hari saya memeriksa lagi performa saya. Jika masih ada yang terlihat waktu yang terbuang, saya tahu terbuang karena apa, dan selama berapa lama.

Luar biasa – rasanya baru kali ini saya benar-benar merasakan memegang kontrol terhadap waktu yang saya gunakan. Maklum, dasar pelupa, jadi sering tidak sadar dengan hal-hal seperti ini. RescueTime.com mencatat semuanya untuk saya, dan menjadi pengingat yang cukup menohok ๐Ÿ˜€

rescuetime-efficiencyPada minggu ketiga saya memeriksa lagi skor produktifitas saya, dan berapa nilai saya kali ini ? 1.65 saudara-saudara sekalian ๐Ÿ˜€
Dari skor maksimal 2.0, skor 1.65 ini memasukkan saya ke Top 2% skor di RescueTime.com.

Alhamdulillah, kini saya bisa bekerja dengan gembira dan tahu bahwa saya telah, dan akan selalu, produktif. RescueTime.com akan selalu membantu menyampaikan kekurangan-kekurangan saya dengan tanpa segan-segan dan perasaan bersalah sama sekali. Dan karena itu maka saya jadi akan selalu bisa memperbaiki diri saya sendiri.

Sangat direkomendasikan – software RescueTime.com tersedia untuk Linux, Windows, maupun Mac OS X. Selamat mencoba !

MacBook terkunci di screensaver ?

Ada yang pernah mengalami hal ini ? Sejak beberapa minggu yang lalu, MacBook saya kadang terkunci terus di screensaver nya. Setelah memasukkan password, layarnya gelap terus. Kursor mousenya muncul dan bisa digerakkan, tapi selain itu hitam semua.

Alhasil, beberapa kali akhirnya terpaksa pencet tombol Ctrl-Alt-Del power. Beuh, mudah-mudahan struktur filesystem nya tidak rusak, sudah beberapa kali terpaksa melakukan ini, hehe.

Kalau di Linux sih enak, saya tinggal pencet Alt-F1 – F6. Maka layar console (teks) akan tampil, dan saya bisa cari tahu sumber masalahnya. Kalau di Mac gimana ya?

Mana Safari tidak menyimpan session terakhir, duh. Saban restart, Safari terbuka kosong kembali ๐Ÿ™ lenyap semua tab yang tadi sedang terbuka. Musti ingat untuk pakai Firefox terus nih.

Ada ide / hint ? Thanks.

Monty Python Goes Marketing 2.0

Beberapa waktu yang lalu, datacenter yang menghosting salah satu server saya mengirimkan sebuah surat yang mengejutkan – DMCA notice dari Lionsgate Films.ร‚ย 

Surat tersebut menuduh bahwa server saya telah terlibat dalam pembajakan salah satu film mereka, yaitu Transporter 3. Sebuah tuduhan yang sangat serius. Ditambah lagi bahwa server saya tersebut berada di Amerika, sehingga bisa diproses berdasarkan hukum mereka (yang ngawur berat itu).

Masalahnya :

(1) Saya tidak pernah membajak film tersebut ๐Ÿ˜€

(2) Server tersebut masih kosong, jadi tidak mungkin hal tersebut dilakukan oleh customer saya

Sekedar meyakinkan, saya lakukan search terhadap seluruh isi hard disk server tsb, dan hasilnya memang bersih. Lalu sambil nyengir, saya kirimkan hasilnya ke datacenter saya, yang menerimanya sambil nyengir juga ๐Ÿ™‚ sepertinya ini bukan kejadian yang pertama kali, he he.

Ajaib – memang IP address yang tercantum di surat tersebut adalah milik server saya. Tapi padahal kan tidak ada pelanggaran yang saya lakukan. Ha ha ha… ร‚ย ๐Ÿ˜€ ร‚ย sekedar mendeteksi IP address saja tidak becus.ร‚ย 

Jadi bergidik membayangkan kalau saya adalah warga Amerika – dan kena tuduhan yang keliru seperti ini. Hidup saya bisa hancur berantakan (untunglah nenek Sarah mendapat bantuan dari EFF), walaupun saya tidak melakukan kesalahan apapun.

Anyway, ini adalah salah satu alasan saya sangat mendukung gerakan Creative Commons. Nyaris seluruh foto saya di flickr.com berlisensi bebas. Juga seluruh artikel di blog ini.

Konten yang bebas bisa sangat bermanfaat bagi sangat banyak orang. Saya sudah merasakannya sendiri. Dan karena itu juga berusaha memberikan kontribusi dalam hal ini.ร‚ย 

Tidak itu saja – konten yang bebas juga menguntungkan pemiliknya secara finansial. Ini sudah terbukti berkali-kali selama puluhan tahun.

Contoh: dulu para pemilik kontek protes bahwa VHS / betamax adalah sarana pembajakan. Kemudian mereka menyadari bahwa ini adalah pangsa pasar baru.

Maka ร‚ย kemudian selama puluhan tahun, mereka meraup keuntungan yang sangat besar dari sini.

Ketika stasiun radio mulai bermunculan, para pemilik konten protes. “Ini adalah pembajakan konten kami, untuk keuntungan para pemilik stasiun radio!“, begitu kira-kira protes mereka.
Belakangan mereka menyadari bahwa ini adalah promosi gratis. ร‚ย Lagu yang sering diputar di radio cenderung mengalami peningkatan penjualan. Maka kemudian malah terjadi kongkalikong antara pemilik konten dengan pemilik/jaringan stasiun radio – untuk mendongkrak penjualan lagu tertentu.

Walaupun tetap saja mereka berusaha mendapatkan “uang preman” dari stasiun radio…. *sigh*, human’s greed know no bound, indeed.

Di tengah berbagai kekonyolan ini, sebuah kelompok yang terkenal dengan kekonyolannya malah melakukan sesuatu yang brilian.ร‚ย 

Luar biasa – kru Monty Python menyediakan berbagai klip videonya di Youtube.com, dan mengakibatkan peningkatan penjualan DVD Monty Python sampai 23000% !

Di zaman elektronik ini, ada banyak kesempatan. Dan yang akan menang adalah mereka yang kreatif. Kru Monty Python mungkin konyol, tapi mereka bukan orang bodoh & rakus. Maka mereka bisa meraup keuntungannya.

Posting ini saya cantumkan juga di kategori OpenSource, karena ini adalah juga bagian dari keterbukaan. Open software, Open content, malah juga Open hardware — keterbukaan adalah hal yang penting bagi peradaban manusia.ร‚ย 

Selama beribu-ribu tahun, manusia selalu saling membagi penemuan mereka. Sehingga peradaban manusia bisa berkembang tanpa perlu mengulang-ulang melakukan hal yang sama. Dan semua penemuan jadi bisa bermanfaat bagi semua pihak – bukan cuma untuk segelintir orang saja.ร‚ย 

Selamat dan salut sekali lagi kepada kru Monty Python. Semoga teladan yang baik ini bisa ditiru oleh kita semua !

Terlampir adalah surat DMCA dari Lionsgate Films :)ร‚ย 

ร‚ย 

Continue reading Monty Python Goes Marketing 2.0

ISP : Fix Your Bloody DNS

Sedikit penjelasan; ISP = Internet Service Provider, penyedia layanan akses Internet kita.
DNS = Domain Name System, yaitu layanan dari ISP yang memungkinkan kita untuk mengakses berbagai website – seperti google.com, yahoo.com, dll.

Sekilas cara kerja DNS : ketika kita mengetikkan (misalnya) google.com di browser, maka browser akan menghubungi DNS milis ISP. DNS server kemudian akan memberikan alamat (IP address) yang sebenarnya dari google.com. Yah, seperti alamat rumah nya lah. ๐Ÿ™‚

Nah, bermodalkan dengan alamat (IP address) tersebut, maka kemudian browser akan menghubunginya. Jika alamatnya benar, maka akan tersambunglah koneksi dengan server Google. Dan dengan cepat kita segera bisa menikmati berbagai layanan dari situs Google.com di browser kita.

OK, sejak beberapa waktu yang lalu, beberapa kali saya membantu beberapa kawan-kawan untuk memindahkan situs-situs mereka ke server saya. Kebetulan saya memiliki beberapa server di luar negeri untuk private customers. Jadi dengan senang hati saya bantu sebisa saya.

Ada yang servernya overload karena situsnya terlalu populer, sehingga saya pindahkan ke high-capacity server saya. Kini sudah berjalan dengan sangat cepat (testing terakhir : situsnya bisa diakses dalam waktu setengah detik).

Ada lagi yang pindah karena server lamanya bermasalah. Sepanjang hari down, dan lalu sesekali bisa muncul. Tentunya ini sangat menyebalkan bagi pengunjung situs tersebut. Kini sudah selesai ร‚ย dipindahkan ke server saya, dan situsnya sudah up & running lagi.

Namun, semuanya mengalami masalah yang sama; yaitu ketika baru pindah, customer mereka pada protes bahwa “situsnya kok BELUM pindah ??”

Hah ?

Tentu saja kita jadi bingung.
Lha sudah jelas situsnya sudah di server saya, dan sudah bisa kita akses dari browser kita. Kenapa dibilangnya belum pindah ya ?

Ketika ini pertama kali terjadi lumayan membuat pusing juga. Berbagai setting di server kita cek. Tapi semuanya sudah benar. Tapi, kenapa customer tetap tidak konek ke server yang baru ?

Ternyata, ini semua karena DNS nya beberapa ISP …………..!

Jika Anda sempat membaca sekilas penjelasan mengenai DNS di awal posting ini, tentu akan menyadari bahwa setiap harinya ada banyak pelanggan ISP, dan masing-masing mereka setiap harinya browsing ke banyak situs = ada banyak sekali akses ke DNS server milik ISP ybs.
Nah, untuk mengurangi beban, maka kebanyakan DNS server melakukan caching – yaitu menyimpan data-data alamat dari berbagai situs di memory. Dengan demikian, maka DNS server nya bisa memiliki performa yang optimal.

Setiap DNS server memiliki setting cache yang berbeda. Ada yang menyimpan alamat situs selama 1 hari, sebelum melakukan refresh. Ada yang refresh rate nya adalah 1 jam. Ada yang refresh rate nya beberapa jam.

Sialnya bagi kami, beberapa ISP besar ternyata men set refresh rate DNS server mereka selama 1 minggu …….. !

Hasilnya bisa ditebak – customer yang menggunakan ISP besar tersebut tetap diarahkan ke server situs yang lama.
Karena DNS server ISP nya masih menyimpan alamat situs yang lama, yang jelas sudah basi. 1 minggu gitu lho.

Alhasil, selama 1 minggu, kawan saya tersebut terpaksa menebalkan kupingnya, dimarahi oleh para customernya. Padahal, dia tidak salah apa-apa. ร‚ย :)ร‚ย 
Hehehe… nasib

Yang terakhir kemarin ini adalah sebuah situs yang cukup dikenal masyarakat yang juga pindah ke salah satu server saya. Setelah pindah dan semuanya kita test berjalan ok, lalu dilaporkan oleh tim IT nya ke manajemen mereka.
Oleh manajemennya dicoba dibuka. Lha, ternyata masih membuka situs di server yang lama.

Kontan saja tim IT nya kena semprot ๐Ÿ˜€

Sambil menahan tawa (kasihan), saya mencoba menjelaskan duduk perkaranya. Alhamdulillah bisa dipahami oleh ybs. Walaupun jelas dia kebingungan tentang bagaimana caranya dia akan menjelaskan ke manajemen.

Tentu akan sulit sekali menjelaskan bahwa kesalahan ada di ISP mereka – perusahaan dengan revenue milyaran rupiah setiap bulannya !
Bisa-bisa malah kena semprot lagi oleh manajemen, karena dikira mengada-ada ๐Ÿ™‚

Karena itu saya membuat posting ini, untuk membantu menjelaskan situasi tersebut.
Kesalahan bukan di pihak Anda, namun pada ISP Anda. Kontak ISP Anda, dan tuntut mereka untuk membetulkan DNS servernya. Jelaskan bahwa Anda menuntut untuk soal ini di eskalasi sampai ke level engineer & manajemen dari ISP ybs.

Bukan apa-apa, melakukanร‚ย cachingร‚ย DNS selama 1 minggu mungkin relevan di zaman dulu, ketika server masih lambat. Bandwidth masih luar biasa mahal. Dst.

Tapi, sekarang ? Rp 4 jt saja sudah dapat server dual-core dengan RAM berukuran ribuan megabytes. Sudah jauh sangat mampu untuk melayani request DNS dengan baik. Bandwidth yang diperlukan untuk melakukan refresh juga sudah jauh lebih murah harganya.

Kalaupun mau caching, maksimum 1 hari saja. ร‚ย Jangan sampai lebih.
Karena ini sudah menyangkut hajat hidup orang banyak.ร‚ย 

Ya, siapa sangka. Internet kini sudah menjadi hajat hidup banyak orang ๐Ÿ™‚

So ISP, if you still cache for more than 1 day – Fix Your DNS !ร‚ย ร‚ย People are suffering because of it.

NB: jika DNS server ISP Anda bermasalah, sambil menunggu mereka membereskannya, Anda bisa menggunakan DNS server milik AWARI. Yaituร‚ย 203.34.118.10 danร‚ย 203.34.118.12

Terimakasih banyak kita ucapkan kepada kawan-kawan di AWARI, yang telah menyediakan layanan ini tanpa biaya untuk kita semua !