Archive for the 'Teknoblogia' Category

Membuat Ubuntu tampil seperti Windows

(posting ini adalah bagian dari tantangan #blog31hari)

Pertanyaan yang mungkin pertama kali muncul adalah : “Kenapa?”, atau “Buat apa?”

Jawabannya mudah: Untuk membantu pengguna Ubuntu yang baru pindah dari platform Windows 🙂

Pertanyaan yang lebih spesifik mungkin adalah : “Kenapa sampeyan juga ingin desktop seperti Windows ?”

Laptop : Macbook
Operating System : Ubuntu 9.10
Desktop Theme : Windows XP

Sudah bingung ? 🙂

Nah, yang ini jawabannya adalah :

(1) Karena saya bisa melakukannya : Ubuntu / Linux bisa dimodifikasi secara ekstrim oleh kita. Sangat fleksibel. Dan menurut saya, di platform Linux, maka tampilan seperti Windows adalah salah satu ekstrimitas yang paling ekstrim yang bisa kita temui 😀

(2) Ingin membuat bingung orang lain : saya menggunakan Laptop Macbook,
yang kemudian saya pasangi Ubuntu 9.10 (ya, Mac OS nya saya hapus dari laptop),
dan lalu saya pasangi theme Windows XP

Yang melihat laptop saya pasti kemudian bakalan pusing – Ini Windows XP ?? atau Mac OS X ???
Eh, ternyata Ubuntu / Linux tho ?? 😀

Ingin iseng seperti saya juga ? Caranya mudah sekali :

  1. Klik URL berikut ini : http://ubuntu.online02.com/node/14
  2. Download paket theme yang ada disitu : http://ubuntu.online02.com/files/XP_Gnome.tar.gz
  3. Extract, dan lalu jalankan script InstallXpGnome.sh

Selesai ! Gampang sekali ya ?

Nah kini Anda juga bisa membuat bingung orang lain seperti saya 😀

Undelete for Linux

(posting ini adalah bagian dari tantangan #blog31hari)

Semua orang pasti pernah mengalami ini – salah klik, dan lalu ternyata kita menghapus file yang kita butuhkan. Nah lho 🙂

Di Windows ada beberapa tool untuk melakukan operasi undelete, membatalkan penghapusan tersebut. Tapi, bagaimana di Linux?

Ternyata juga bisa, dan caranya sangat mudah. Cukup gunakan tool Foremost !

Maka Anda akan bisa menyelamatkan kembali file yang tidak sengaja terhapus tersebut.

Selamat mencoba !

NB: coba tebak siapa yang membuat software Foremost ini ?
Ternyata United States Air Force Office of Special Investigation (USAFOoSI), he he. Cool ! 🙂

Bingo Generator

Beberapa waktu akhir-akhir ini kami sekeluarga sering bermain Bingo bersama anak-anak. Seru sekali, saling adu strategi (baca: adu culas 😀 ) untuk bisa menjadi pemenang di setiap sesi. Permainan ini sangat sederhana, bisa dimengerti oleh anak kecil sekalipun, dan tetap seru luar biasa.

Ada banyak versi Bingo, yang kami mainkan adalah yang paling sederhana saja :

(1) Buat kotak ukuran 5 x 5
(2) Isi setiap kotak dengan angka, dari 1 s/d 25, secara acak (tidak berurutan)

(3) Kini permainan bisa dimulai. Salah satu peserta meneriakkan sebuah angka (antara 1 s/d 25)
(4) Semua peserta melingkari angka tersebut di kertasnya
(5) Kemudian giliran peserta berikut meneriakkan sebuah angka yang belum pernah disebutkan sebelumnya

(6) Jika ada lingkaran angka-angka yang berurutan (diagonal / vertikal / horizontal), maka dicoret.
(7) Setelah ada 5 urutan yang dicoret, maka peserta ysb berteriak BINGO ! dan menjadi pemenangnya 🙂

Nah, masalahnya, lama kelamaan keder juga membuat kotak-kotak tsb, hehe. Lalu terpikir, ah mendingan komputer saja yang membuatnya 😛

Maka kemudian jadilah [ Bingo Generator ] ini 😀

Setiap kali Anda mengunjungi / reload (Ctrl – R atau F5) alamat tsb, maka akan dibuat kertas Bingo yang baru lagi. Hasilnya kemudian tinggal dicetak – dan langsung dimainkan 🙂

Bagi yang tertarik untuk mengetahui cara kerja Bingo Generator ini, silakan bisa melihat lampiran berikut ini.
Enjoy !

Read the rest of this entry »

Masa Depan Adalah Open Source

Linus Torvalds, bapak Linux, pernah meramal bahwa “The future is Open Source Everything”.

Ramalan ini, ternyata, sudah mulai menjadi kenyataan ! Semuanya terjadi secara alamiah, begitu saja.

Kini tidak hanya software komputer saja yang Open Source. Kini, bahkan perangkat keras pun sudah banyak yang Open – dibukakan detail teknis spesifikasinya, sehingga bisa dijiplak oleh siapa saja. Contohnya yang paling spektakuler mungkin adalah OScar – open source Car. Ya, sudah ada mobil yang detailnya dibukakan kepada publik, sehingga bisa ditiru / diperbagus oleh siapa saja.

Dan keterbukaan ini terus menyebar ke berbagai topik lainnya; industri makanan, jurnalisme, kesehatan, sains, – dan bahkan juga politik !
Siapa sangka 😀

Keterbukaan itu bagus karena jadi memungkinkan semua orang untuk turut berpartisipasi.
Yang belum mampu berkontribusi, tetap bisa menikmati. Yang lainnya jadi bisa menyumbangkan pemikirannya – dan memperbaiki yang sudah ada.
Ini semua pada akhirnya jadi mempercepat kemajuan peradaban secara signifikan. Dan, mendorong pemerataan kemakmuran untuk semua orang. Bukan hanya untuk segelintir kelompok elit saja.

The Future is Open 😀

Terlampir adalah poster yang memaparkan hal ini dengan lebih jelas lagi. Selamat menikmati !

Read the rest of this entry »

Indonesia diancam oleh IIPA, karena menggunakan Open Source

Mencengangkan. Betul-betul mencengangkan.
IIPA mengadu kepada pemerintah Amerika, bahwa Indonesia harus dihukum karena berusaha pindah ke software Open Source.

Detail selengkapnya [ bisa dibaca disini ]

Secara ringkas, IIPA, organisasi yang (mengaku) melindungi hak cipta, mengecam Surat Edaran MenPAN tgl 30 Maret 2009 karena menghimbau institusi pemerintah untuk menggunakan software Open Source.
Padahal – surat edaran tersebut justru bertujuan untuk melindungi hak cipta ! Dengan menggunakan software Open Source, maka institusi pemerintah jadi menggunakan software Legal.

Ya, software Open Source, seperti Firefox / Linux / OpenOffice / Chrome/dll, itu semuanya Legal & Halal.
Dengan menggunakan software F/OSS (Free / Open Source Software), maka berarti kita telah mendukung Hak Kekayaan Intelektual / HAKI.

Fitnah dari IIPA ini bisa disimpulkan dari kutipan berikut ini :

Government Procurement Preference Denies U.S. Software Companies a Level Playing Field

Padahal, sama sekali tidak demikian. SEMUA perusahaan software – baik dari Amerika maupun bukan, tetap BISA mensuplai software untuk pemerintah Indonesia. Yang penting, software tersebut berlisensi Open Source. Itu saja.

Tidak ada usaha untuk memblokir / merugikan perusahaan software dari Amerika !
(walaupun, kalaupun usaha tersebut ada, itupun adalah hak Pemerintah Indonesia sebagai Negara yang Merdeka & Berdaulat)

Siapa yang menyisipkan fitnah ini ke laporan IIPA tahun 2010 ini ?
Saya juga tidak tahu persisnya, namun beberapa kutipan terlampir mungkin bisa memberikan sedikit petunjuk :

Microsoft Memorandum of Understanding (MOU)

Dari situs IIPA

IIPA’s seven member associations are: … the Business Software Alliance (BSA),

Laporan IIPA tahun 2010 selengkapnya [ bisa dibaca disini ]
Disitu kita bisa lihat banyak lagi berbagai kekonyolan IIPA ini. Seperti saran & dukungan untuk razia Warnet di Malaysia, serangan kepada pemerintah Kanada – salah satu pendukung HAKI & sekutu Amerika dalam topik HAKI, dst. Padahal sudah banyak yang komplain karena metodologi yang digunakan serta kesimpulan/rekomendasinya aneh dan bisa sangat subjektif.

Sekali lagi, ini adalah serangan terhadap pemerintah Indonesia dari IIPA. Salah satu buktinya adalah karena IIPA tidak menyerang Inggris – yang juga [ mendukung penggunaan F/OSS ] di institusi pemerintahnya.

Mungkin Anda akan bertanya, mengapa laporan IIPA ini penting bagi Indonesia ?
Jawab: karena bisa berdampak langsung terhadap ekonomi Indonesia.

Salah satu contohnya dilampirkan di laporan tersebut – ada ancaman terselubung untuk mencabut skema subsidi bebas-pajak GSP; yang telah membantu memperlancar masuknya ekspor Indonesia bernilai trilyunan rupiah ke pasar Indonesia.

Juga, “countries on the list could be subject to penalties, trade barriers and embargoes”
(sumber: Bangkok Post.
Dan, “Special 301 status can have detrimental effects, as trading quotas could be slashed, or tariffs might be imposed on select items.”
(sumber: Mr Andres)

Jadi, ini bisa berdampak kepada seluruh rakyat Indonesia juga.
Dan karena itu, perlu menjadi perhatian kita serta ditindak lanjuti.

Beberapa hal yang bisa saya sarankan kepada Pemerintah Indonesia untuk mensikapi hal ini :

  • Survey : Berbagai pihak curiga bahwa metodologi yang digunakan oleh IIPA untuk mengukur tingkat pembajakan HAKI tidak bisa dipertanggungjawabkan. Untuk itu, baik sekali jika Pemerintah Indonesia bisa melakukan survey di bidang ini dengan metodologi yang jelas & ilmiah, sehingga bisa memberikan bukti pembanding. Sehingga IIPA tidak bisa bebas melenggang begitu saja dengan berbagai klaim & fitnahnya.
  • Klarifikasi kepada USTR : Laporan dari IIPA ini diserahkan kepada USTR, US Trade Representative. Nah, jangan sampai laporan ini diterima begitu saja tanpa ada klarifikasi sama sekali dari Pemerintah Indonesia.
    Klarifikasi ini bisa disampaikan kepada Ron Kirk, pejabat USTR saat ini.
  • Tanggung jawab : Telusuri siapa yang menyisipkan fitnah-fitnah di laporan IIPA tersebut, dan lalu panggil mereka untuk klarifikasi & pertanggung jawabannya.
    Saya tahu berbagai unsur pemerintah Indonesia telah berusaha sangat keras untuk menegakkan HAKI (salut untuk Anda semua) dan menghindari masuknya Indonesia di PWL (Priority Watch List) tersebut; dan fitnah di laporan IIPA tersebut adalah seperti pelecehan bagi semua kerja keras Anda.
  • Gunakan software Open Source di institusi Pemerintah : dengan demikian maka akan dapat semakin cepat untuk menghilangkan pembajakan software di Indonesia.

Akhir kata, terimakasih banyak saya ucapkan kepada Mr Bobbie Johnson dari koran The Guardian, Mr Andres, dan Mr Michael Geist yang telah menyampaikan informasi seputar hal ini.

Merdeka !

Talk @ WordcampID 2010 : High Performance WordPress : done quick, cheap, and easy

Untuk para pembaca setia dari Indonesia : Silahkan klik tombol Google Translate di atas artikel ini.
Terimakasih 🙂

Last year I was contacted by Valent Mustamin, whom I started to be acquainted with by Twitter. He asked me if I’d be interested to speak in WordcampID 2010. My response was “HELL YES!” – well, ok, not exactly like that 🙂 but, you get the idea.

Before we continue, I must say it was very nice of him to get in touch with me quite that far in advance. Usually, sometimes, I was called and asked, “hey, how about speaking in this seminar which, by the way, is gonna be held tomorrow?”. Ouch. Sometimes I have problems booking a date even for the next week.
With WordcampID 2010, I was able to prepare the material well, and also booked the date of the event (30 January 2010) before I got other appointments. Zero conflict. Peace on earth.

Back to the topic – I proposed to speak about “High Performance WordPress”, which, of course, discusses ways to speed up WordPress. My talk will adhere to 3 main criterias : easy, cheap, faster.
Easy : it’s easy to do, kinda drop-in solution which you can do in 15 minutes flat.
Cheap : it’s not gonna cost you the arm & the leg. Basically, a dedicated server (dual core, 2 GB RAM) will suffice. It’s not some kind of highly complex, multiple-servers setup.
Faster : it will speed up your WordPress installations by multiple times AND will increase its capacity as well – capability to serve multiple concurrent visitors at the same time.

This solution is aimed to the websites in “growing-pains” period : too big for shared webhosting, but still too small in revenue to afford multiple-servers infrastructure.
In my experience, these websites usually are ranked between 10000 to 100000 in Alexa.

With the solution presented, I hope to be able to help these websites to grow their traffic significantly, and finally move up to the elite leagues with no problem.

You may ask, why another discussion on this topic? Isn’t this already discussed in many blog postings everywhere?

Indeed, however, soon I spotted a problem. When I was helping my friend, Mr Romi, to speed up his WordPress-based website, the highly popular IlmuKomputer.com, I noticed that the tutorials on this topic are :

(1) Suggests the hardest way with the least gain – first, and/or
(2) Only works for lesser websites (eg: Alexa rank > 200.000), and/or
(3) Potentially will your website to become buggy / to lose data, and/or
(4) It may cost you your first unborn child, and your arm, and your legs, and/or
(5) Did I mention that the methods are sometimes pretty hard to do ?, and/or
(6) Oh, did I already mention that it sometimes only offer 25% performance gain ?

The method I discussed can give 100000% performance gain. With 15 minutes of work.
And with very minimal messing (only normal config changes) with current installation of Apache/PHP/MySQL.

In a server, I tested its LAMP (Linux – Apache – MySQL – PHP) stack performance, and I got 2 requests / second.
After I finished optimizing it, I got 2000 requests / second. No kidding.

I know that in the audience there are several people from webhosting companies, who can get financial gain from this. Not just poor webmasters having problems with their ever-popular websites. But I don’t care. I love to share knowledge, and I believe only good things will come out from sharing them.
So there 😀

Anyway, enough rambling – on to the goodies !

[ High Performance WordPress – OpenOffice format ]
[ High Performance WordPress – PDF format ]
[ High Performance WordPress – Flash format ]

Note: The slides here have been updated with the excellent suggestion from Simon Lim regarding DNS.

Also, at the moment I’m working on another solution which is as easy, but offers even MUCH faster performance gain. Stay tuned.
Enjoy ! 🙂

Tips : Sewa Kios GRATIS di Mall

Bisnis online kini telah semakin marak di Indonesia. Dulu hanya bisa dilakukan oleh pakar komputer, atau mereka yang bermodal besar.
Kini bahkan ibu rumah tangga sekalipun sudah banyak yang memiliki usaha di Internet. Dan ini tentu saja adalah hal yang bagus bagi kita, para konsumen, karena kita jadi makin banyak mendapatkan pilihan, dengan harga yang makin terjangkau – dan tanpa perlu keluar rumah / kantor ! Semua ini bisa didapatkan cukup dengan mengakses Internet dari komputer kita.

Namun memang ada berbagai kendala di seputar usaha di Internet ini.
Salah satunya adalah trust – kepercayaan. Seringkali calon pembeli kita tidak jadi membeli karena hal ini. Mereka masih takut untuk melakukan transaksi jual-beli di Internet.

Nah, karena itu beberapa pebisnis online juga memiliki lokasi usaha di ruko / mall. Dengan demikian, calon pembeli jadi merasa nyaman, karena penjual tersebut “nyata”. Ada toko fisiknya juga, tidak hanya virtual / online di Internet.

Siapa sangka ternyata kita pun juga bisa menyewa kios di Mall dengan gratis !? 😀

Ya, beberapa mall ternyata menyediakan banyak kios yang bisa kita sewa dengan gratis.
Misalnya, di Tanah Abang Blok A. Anda tidak salah membaca – di lokasi yang terkenal dengan biaya sewa toko sampai ratusan juta rupiah ini, ternyata ada kios-kios yang juga mereka sediakan tanpa biaya sewa !
Satu lagi yang saya tahu adalah MGK – Mall Glodok Kemayoran.

“Bagaimana bisa??”, tentu pertanyaan ini akan langsung terbersit di benak Anda.
Ternyata sederhana saja.

Nyaris di setiap mall, biasanya ada beberapa lokasi yang masih sepi. Belum ada / banyak penyewanya.
Nah, konsumen cenderung menghindari lokasi-lokasi sepi tersebut. Pada gilirannya, para pedagang juga menghindari lokasi itu.
Sehingga ini menjadi dilema bagi pengelola Mall : pengunjung tidak mau mampir ke lokasi yang sepi, dan pedagang tidak mau menyewa kios di lokasi yang minim pengunjung.

Maka kemudian berbagai pengelola berbagai Mall menyediakan kios-kios tersebut untuk disewa Gratis 🙂

Nah, ini sangat cocok bagi para pengusaha online.
Kita tidak perlu tempat yang ramai, karena pembeli kita di Internet. Sementara itu, dengan alamat kios di sebuah Mall, maka bisnis kita menjadi lebih bonafid & terpercaya !
Jadinya serba untung, tidak ada ruginya 🙂

Anyway, judul posting ini sebetulnya kurang pas kalau disebut full 100% gratis. Pada setiap bisnis, ongkos rutin (overhead) pasti akan selalu ada.
Anda mungkin akan perlu menggaji penunggu toko. Lalu juga tentunya ada biaya listrik, air, telpon, kebersihan; mungkin sekitar 300 ribu – 500 ribu per bulan.
Tapi, biaya sewa memang Gratis, alias Nol rupiah 🙂
Yang normalnya bisa mencapai ratusan juta rupiah, kini menjadi tiada.

Demikian informasi ini semoga bermanfaat bagi Anda.
Dan jika Anda menemukan mall – mall lainnya yang juga menyediakan kios gratis, kabarkan juga kepada kita semua dengan mengomentari artikel ini ya?
Terimakasih 🙂

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.

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 🙂

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 🙂

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 ! 😀

Cilincing Brotherhood

Barusan saya mendapat kabar kejutan yang sangat menyenangkan; saya mendapat kiriman buku dari Bang Aip. Yaitu edisi khusus dari “Cilincing Brotherhood”. Yes ! 😀

Review menyusul ! Biarkan saya menikmati dulu hasil penantian selama bertahun-tahun ini (duhhh… segitunya) 😀

Masih penasaran? Nih ada sneak preview nya. 😉
Enjoy !

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.

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.

            








SEObox: Web Hosting Murah Unlimited Komik Indonesia Homeschooling Indonesia