All posts by sufehmi

Anak-anak kecil Ethiopia diberikan perangkat komputer, tanpa panduan

Dalam waktu singkat, mereka sudah bisa menggunakannya, dan sebagian sukses menjadi hacker ๐Ÿ˜€ hebaattt…

Reshared post from +Jeremy Hodges

"We left the boxes in the village. Closed. Taped shut. No instruction, no human being. I thought, the kids will play with the boxes! Within four minutes, one kid not only opened the box, but found the on/off switch. He'd never seen an on/off switch. He powered it up. Within five days, they were using 47 apps per child per day. Within two weeks, they were singing ABC songs [in English] in the village. And within five months, they had hacked Android. Some idiot in our organization or in the Media Lab had disabled the camera! And they figured out it had a camera, and they hacked Android."

Via +Sandy Sandmeyerร‚ย and +Jeremy Seifertร‚ย 

Awesome. ร‚ย In the original sense.

DVICE: Ethiopian kids hack OLPCs in 5 months with zero instruction
What happens if you give a thousand Motorola Zoom tablet PCs to Ethiopian kids who have never even seen a printed word? Within five months, they’ll start teaching themselves English while circumventin…

Post imported by Google+Blog for WordPress.

Ayo ayo mari kita jadi developerAndroid ;)

Reshared post from +Linux News Here

#Android jobs are booming, while the number of Apple iOS vacancies has levelled off, the world's largest online jobs survey has revealed.

Using data from 230,614 positions posted in Q3, Freelancer.co.uk saw 16 percent growth in the number of Android jobs, at 4,795. Meanwhile, the number of iOS jobs rose a comparatively small eight percent to 5,509.

In the previous quarter, the number of Apple jobs shot up by 30 percent. To an extent, this quarter's comparatively feeble growth came about as developers waited for the release of iOS6 in September. But there's no doubt that the poor reception for the iPhone 5 had an effect.

Android jobs rocket as iOS jobs stagnate

Post imported by Google+Blog for WordPress.

Human Trafficker / penculik anak-anak di Indonesia kini sudah menggunakan juga kanal…

Human Trafficker / penculik anak-anak di Indonesia kini sudah menggunakan juga kanal social media, seperti Facebook, untuk operasinya :ร‚ย http://news.yahoo.com/facebook-used-kidnap-traffic-indonesian-girls-060538681–finance.html

Hati-hati, ajarkan DAN terus ingatkan berulang-ulang mengenai bahaya ini kepada anak-anak kita, tidak cukup hanya memberitahu sekali saja. Karena sifat manusia adalah pelupa, terlebih lagi anak-anak yang masih naif ini.

Semoga semua anak-anak kita diselamatkan dari bencana ini, amin..

Facebook used to kidnap, traffic Indonesian girls
When a 14-year-old girl received a Facebook friend request from an older man she didn’t know, she accepted it out of curiosity. It’s a click she will forever regret, leading to a brutal story that has…

Post imported by Google+Blog for WordPress.

MySQL : Quick Recipes

Sebagai seorang DBA (Database Administrator) yang banyak berkecimpung antara lain dengan MySQL, disini saya akan menuliskan berbagai catatan “resep-resep” MySQL yang sering digunakan.

Resep-resep ini bersifat instan, yaitu bisa langsung Anda copas (copy-paste) di layar Terminal server.
Tentunya setelah menyesuaikan berbagai variable yang ada (username, password, dst)

Selamat menikmati ๐Ÿ™‚


PERSIAPAN

Jalankan perintah-perintah beriku ini, agar Anda bisa langsung menjalankan berbagai resep yang ada disini :


### persiapan agar bisa menjalankan mysql (client)
### tanpa perlu memasukkan password lagi
echo "[client]" > ~/.my.cnf
echo "user = root" >> ~/.my.cnf
echo "pass = yourpassword" >> ~/.my.cnf


BENCHMARK DATABASE


mysqlslap --user=root --password="rahasiasaya" --host=10.0.8.8 --concurrency=50 --number-of-queries=100000 --auto-generate-sql-unique-query-number=100000 --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-load-type=key

# contoh hasil benchmark :
# Benchmark
# Average number of seconds to run all queries: 4.031 seconds
# Minimum number of seconds to run all queries: 4.031 seconds
# Maximum number of seconds to run all queries: 4.031 seconds
# Number of clients running queries: 50
# Average number of queries per client: 2000

Pada contoh diatas, ada 100.000 query yang dijalankan, dan membutuhkan waktu 4 detik = 25.000 query / detik.

Panduan lebih detail seputar mysqlslap :
http://dev.mysql.com/doc/refman/5.5/en/mysqlslap.html


RECOVER ROOT USER


sudo /etc/init.d/mysql stop
sudo mysqld_safe --skip-grant-tables &

mysql -e "use mysql; update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root'; flush privileges;"

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start


CREATE A NEW DATABASE & USER


# bikin database & user baru
mysql -e "create user newuser; create database newdatabase;"

# beri newuser akses full ke newdatabase
mysql -e "use mysql; update user set password=PASSWORD('newpassword') where User='newuser'; GRANT ALL PRIVILEGES ON newdatabase.* To 'newuser'@'localhost' IDENTIFIED BY 'newpassword'; flush privileges;"


SETUP MYSQL SERVER (dengan user biasa / bukan root)

Panduannya bisa dibaca disini : [ Install MySQL Server (tanpa root) ]


SETUP MYSQL CLUSTER (dengan user biasa / bukan root)

Panduannya bisa dibaca disini : [ Install MySQL Cluster (tanpa root) ]


SETUP AUTO BACKUP

Panduannya bisa dibaca disini : [ MySQL Archived Backup ]


SETUP REPLIKASI BERANTAI

Replikasi sering dianggap sebagai solusi untuk mengatasi beban kerja yang tinggi. Padahal, untuk banyak kasus, performa sebuah server MySQL sudah lebih dari mencukupi. Tidak perlu menggunakan replikasi lagi.

Replikasi justru paling bermanfaat sebagai fasilitas backup data yang selalu up to date. Dengan memasang fitur ini, maka kita jadi bisa memiliki backup database yang kemudian siap untuk berfungsi jika server database mengalami masalah.

Di resep ini, saya akan melakukan replikasi dengan alur sbb :
Server1 -> Server2 -> Server3

Ya, Server2 akan berfungsi sekaligus sebagai Slave (dari Server1) dan Master (untuk Server3)

Terlampir adalah resep untuk melakukan ini.
Perhatian, Anda perlu menyesuaikan variable-variable ini terlebih dahulu sebelum melakukan copy-paste di Terminal server ybs :

  • exampledb
  • server1
  • server2
  • server3
  • yourpassword
  • replicauser
  • replicapassword
  • Baris-baris “CHANGE MASTER”, yaitu variable MASTER_LOG_FILE dan MASTER_LOG_POS


########## SERVER1 ################
### install LAMP
sudo apt-get install phpmyadmin mysql-server

### persiapan agar bisa menjalankan mysql (client)
### tanpa perlu memasukkan password lagi
echo "[client]" > ~/.my.cnf
echo "user = root" >> ~/.my.cnf
echo "pass = yourpassword" >> ~/.my.cnf

### setting Master1
sudo bash -c 'echo server-id=1 >> /etc/mysql/my.cnf'
sudo bash -c 'echo log-bin = /var/log/mysql/mysql-bin.log >> /etc/mysql/my.cnf'
sudo bash -c 'echo bind-address = 0.0.0.0 >> /etc/mysql/my.cnf'

#### JANGAN lupa untuk hapus baris ini : bind-address = 127.0.0.1
#### jika tidak, maka slave tidak akan bisa connect ke Master1

### restart MySQL
/etc/init.d/mysql restart

### buat user untuk replikasi
mysql -e "GRANT REPLICATION SLAVE ON *.* TO 'replicauser'@'%' IDENTIFIED BY 'replicapassword'; FLUSH PRIVILEGES;"

### kunci database
mysql -e "FLUSH TABLES WITH READ LOCK;"

### catat output dari perintah berikut ini
mysql -e "SHOW MASTER STATUS;"

### outputnya seperti ini
#+------------------+----------+--------------+------------------+
#| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
#+------------------+----------+--------------+------------------+
#| mysql-bin.000001 | 618 | exampledb | |
#+------------------+----------+--------------+------------------+

### backup database tsb
mysqldump -u root -p --add-drop-database --databases exampledb > /tmp/exampledb.sql

### buka kembali kunci database
mysql -e "UNlOCK TABLES;"

########## SERVER2 ################
### install LAMP
sudo apt-get install phpmyadmin mysql-server

### persiapan agar bisa menjalankan mysql (client)
### tanpa perlu memasukkan password lagi
echo "[client]" > ~/.my.cnf
echo "user = root" >> ~/.my.cnf
echo "pass = yourpassword" >> ~/.my.cnf

### copy backup dari server1
scp -v root@server1:/tmp/exampledb.sql /tmp/exampledb.sql
mysql -u root -p < /tmp/exampledb.sql ### setting Slave1 / Master2 sudo bash -c 'echo server-id=2 >> /etc/mysql/my.cnf'
sudo bash -c 'echo replicate-do-db=exampledb >> /etc/mysql/my.cnf'

### restart MySQL
/etc/init.d/mysql restart

### mulai setting sebagai Slave1
mysql -e "SLAVE STOP;"

mysql -e "CHANGE MASTER TO MASTER_HOST='server1', MASTER_USER='replicauser', MASTER_PASSWORD='replicapassword', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=618;"

mysql -e "START SLAVE;"

# ---------------------------------
### mulai setting sebagai Master2
sudo bash -c 'echo log-slave-updates >> /etc/mysql/my.cnf'
sudo bash -c 'echo relay-log=server1-relay-bin >> /etc/mysql/my.cnf'

### restart MySQL
/etc/init.d/mysql restart

### tunggu agar sempat sync dengan Master1
sleep 600

### buat user untuk replikasi
mysql -e "GRANT REPLICATION SLAVE ON *.* TO 'replicauser'@'%' IDENTIFIED BY 'replicapassword'; FLUSH PRIVILEGES;"

### kunci database
mysql -e "FLUSH TABLES WITH READ LOCK;"

### catat output dari perintah berikut ini
mysql -e "SHOW MASTER STATUS;"

### outputnya seperti ini
#+------------------+----------+--------------+------------------+
#| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
#+------------------+----------+--------------+------------------+
#| mysql-bin.000003 | 777 | exampledb | |
#+------------------+----------+--------------+------------------+

### backup database tsb
mysqldump -u root -p --add-drop-database --databases exampledb > /tmp/exampledb.sql

### buka kembali kunci database
mysql -e "UNlOCK TABLES;"

########## SERVER3 ################
### install LAMP
sudo apt-get install phpmyadmin mysql-server

### persiapan agar bisa menjalankan mysql (client)
### tanpa perlu memasukkan password lagi
echo "[client]" > ~/.my.cnf
echo "user = root" >> ~/.my.cnf
echo "pass = yourpassword" >> ~/.my.cnf

### copy backup dari server1
scp -v root@server2:/tmp/exampledb.sql /tmp/exampledb.sql
mysql -u root -p < /tmp/exampledb.sql ### setting Slave2 sudo bash -c 'echo server-id=3 >> /etc/mysql/my.cnf'
sudo bash -c 'echo replicate-do-db=exampledb >> /etc/mysql/my.cnf'

### restart MySQL
/etc/init.d/mysql restart

### mulai setting sebagai Slave1
mysql -e "SLAVE STOP;"

mysql -e "CHANGE MASTER TO MASTER_HOST='server2', MASTER_USER='replicauser', MASTER_PASSWORD='replicapassword', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=777;"

mysql -e "START SLAVE;"

### restart MySQL
/etc/init.d/mysql restart

MEMPROMOSIKAN SERVER2 MENJADI MASTER


### set server2 = master
mysql -e "STOP SLAVE;"

### jangan lupa remark baris
### "log-slave-updates" & "relay-log"
### dari /etc/mysql/my.cnf

BERBAGAI SKEMA REPLIKASI LAINNYA

http://dev.mysql.com/doc/refman/5.1/en/replication-solutions-performance.html

http://dev.mysql.com/doc/refman/5.1/en/replication-solutions-switch.html

Presentasi soal MySQL Replication dari tim engineer Yahoo


PURGE BINARY LOGS

### Untuk hapus binlog jadul = hemat disk space
mysql -e "PURGE BINARY LOGS BEFORE '2012-11-01 00:00:01';"

Star Trek : Inspirasi Untuk Semua

Seperti banyak orang lainnya, awal perkenalan saya dengan seri Star Trek sangat mengesankan. Melihat berbagai pesawat luar angkasa & teknologi masa depan yang ditampilkan di berbagai serinya. Menakjubkan sekali melihat bagaimana manusia bisa bepergian dengan mudah tidak lagi hanya antar planet, namun bahkan antar bintang. Mesin teleport, yang bisa memindahkan benda & makhluk hidup dalam sekejap. Dan berbagai hal lainnya.

Sejalan dengan waktu, saya mulai menyadari bahwa ada banyak pelajaran yang bisa didapatkan dari setiap episodenya. Gene Roddenberry, pencipta seri ini, ternyata memang merancang seri ini untuk menyajikan 2 hal di setiap episodenya : “adventure story, and morality tale

Dikutip :

Roddenberry intended the show to have a highly progressive political agenda reflective of the emerging counter-culture of the youth movement, though he was not fully forthcoming to the networks about this. He wanted Star Trek to show humanity what it might develop into, if only it would learn from the lessons of the past, most specifically by ending violence.

An extreme example is the alien species, the Vulcans, who had a very violent past but learned to control their emotions. Roddenberry also gave Star Trek an anti-war message and depicted the United Federation of Planets as an ideal, optimistic version of the United Nations.

Dan memang sangat, amat mengesankan menyaksikan bagaimana umat manusia di film Star Trek ini menjadi umat yang satu : manusia. Tidak ada lagi suku anu & suku itu, ras ini & ras itu.
Semuanya sama, yaitu manusia; dan juga mendapatkan perlakuan & hak-hak yang sama. Ini adalah pemandangan yang sangat menyejukkan, di tengah-tengah berbagai konflik SARA yang terjadi setiap hari di berbagai penjuru bumi pada saat ini.

Selain itu, masih ada banyak lagi pelajaran yang bisa kita dapatkan dari berbagai episode Star Trek. Seperti :

  • Kepemimpinan : Tokoh utama di setiap film Star Trek adalah pemimpinnya. Ada kapten pesawat angkasa, seperti Kirk, Picard, Janeway, dan Archer. Atau pemimpin stasiun luar angkasa, seperti Benjamin Sisko.

    Dan setiap tokoh tersebut menampilkan kemampuan leadership yang luar biasa. Ketegasan, kemampuan bernegosiasi dengan semua pihak, delegasi, kontrol / pengawasan, empati, kesabaran, keberanian, pengorbanan untuk bawahannya, kemampuan mengambil keputusan dibawah tekanan — dan semuanya tetap dengan menjunjung prinsip-prinsip mereka, seperti prime directive, dll.

    Berbeda sekali dengan para pemimpin zaman sekarang, yang bisa membuang-pasang prinsip mereka, seperti sebuah celana dalam saja.
    Para pemimpin di Star Trek ini bisa lembut namun tetap tegas, bisa kompromi tanpa mengorbankan prinsip & etika, dan rela mati demi keselamatan anak buah mereka. Luar biasa.

  • Keadilan : ini adalah satu lagi tema yang kerap diangkat secara rutin di berbagai episode Star Trek. Keadilan berlaku tanpa pandang bulu. Hukum yang ada bisa diabaikan ketika bertentangan dengan keadilan.

    Sekilas terkesan unik & nyeleneh, tapi, seharusnya memang justru demikian. Berbeda dengan di Indonesia, yang menjunjung prinsip “superioritas hukum”. Sehingga, bisa terjadi hal-hal aneh seperti anak kecil dipenjara, orang miskin yang kelaparan ditangkap, dst. Dimana semuanya itu sudah sesuai dengan aturan & prosedur hukum. Namun, tentu saja bertentangan dengan keadilan.

  • Persamaan Derajat : Kalau kita ingat situasi di tahun 1966, yaitu ketika Star Trek mulai ditayangkan, maka film ini adalah sesuatu yang luar biasa.

    Di masa rasisme terhadap ras Afrika / negro masih sangat kental, salah satu tokoh utama di film Star Trek adalah orang hitam dan perempuan. Ingat bahwa negara Amerika yang katanya pro demokrasi itu sampai sekarang masih belum pernah punya presiden perempuan ๐Ÿ™‚
    Munculnya tokoh perempuan hitam di bridge, tempat pusat komando pesawat di Star Trek, menjadi inspirasi banyak orang. Salah satunya adalah Whoopi Goldberg, yang kemudian menjadi aktris terkenal, dan belakangan juga ikut serta di film seri Star Trek “Next Generations”.

    Tidak cukup demikian, juga ada tokoh dari Rusia (ingat, ini pada masa perang dingin / Cold War dengan Soviet), Scotland, dan Asia. Ini adalah hal yang luar biasa untuk sebuah seri TV.

    Star Trek mencoba menyampaikan pesan bahwa semua manusia itu sama derajat & haknya. Tidak ada toleransi terhadap rasisme di Star Trek.

    Malah kemudian Star Trek maju satu langkah lagi — setiap sentient being, makhluk hidup yang cerdas, itu sama derajat & haknya.
    Ini tentu saja cukup menggugah pikiran. Suatu hari, jika kita menemukan makhluk hidup cerdas lainnya selain manusia, maka kita sudah diingatkan oleh Star Trek untuk juga memperlakukan mereka dengan baik.

    Di tengah berbagai konflik ras & etnis di berbagai penjuru di dunia, pesan perdamaian dari Star Trek ini sangat menyejukkan bagi kita semua.

  • Honour : Sifat ksatria itu bukan cuma monopoli para tokoh di abad pertengahan. Para kapten & tokoh di film-film Star Trek menunjukkan bagaimana sifat ksatria dilakukan di berbagai situasi dan kondisi. Ketika mereka sudah berjanji, maka ucapan tersebut akan mereka pegang teguh. Ketika sudah ada suatu peraturan / prinsip, maka mereka berusaha keras untuk menegakkannya, walaupun berat & membahayakan nyawa.

    Dunia Star Trek adalah sebuah bentuk dunia yang nyaris ideal, dimana sebagian besar manusia sudah sangat beradab. Sehingga mereka jadi bisa menikmati kehidupan yang sangat nyaman & mencerahkan.

  • Kebebasan & Anti Penjajahan : Prinsip & hukum seperti Prime Directive jelas menunjukkan sikap anti penjajahan. Seperti larangan intervensi ke penduduk lokal, yang teknologinya belum maju. Dimana bangsa yang teknologinya lebih maju dapat menjajah yang lebih primitif dengan mudah, jika saja tidak ada Prime Directive ini.

    Pada era Perang Dingin, ketika Star Trek mulai dibuat, sikap ini cukup berkesan bagi banyak orang. Dan sekarang juga semakin relevan, terutama dengan sikap dari berbagai negara superpower seperti Amerika, yang dengan seenaknya menyerbu & merusak berbagai negara lainnya…

Masih ada banyak lagi pelajaran yang bisa kita tarik dari Star Trek, seperti dibahas Huffington Post disini. Atau versi komedinya seperti dibahas oleh Ashok Kumar di Slideshare, “10 Important Life Lessons from Star Trek” ๐Ÿ™‚

Dampak Positif Star Trek

Pada hari Sabtu 6 Oktober 2012, saya dan istri mampir ke acara komunitas IndoStarTrek, di mall Pacific Place. Di acara ini dibahas berbagai seri Star Trek dari awal sampai akhirnya.

Sangat terkesan melihat hadirin di acara ini, jelas nampak ada dari berbagai ras & etnis, agama, dan umur – ada anak-anak kecil juga yang hadir.
Malah penanya terbaik di acara ini adalah seorang anak yang berumur 11 tahun.

Salah satu pertanyaan paling berkesan bagi saya adalah, “apakah dampak positif Star Trek untuk kehidupan kita sehari-hari ?

Mari kita coba lihat bersama-sama :

  • Pro Persamaan / Anti Rasisme : Kita perlu ingat bahwa beberapa dekade yang lalu, dunia ini masih sangat berbeda. Amerika masih sangat rasis. Masih ada beberapa negara yang dijajah / baru lepas dari penjajahan.

    Star Trek membawa pesan kemanusiaan yang universal. Setiap umat manusia adalah sama, yaitu manusia. Ditampilkan dengan visualisasi yang apik, sehingga sangat berkesan bagi sangat banyak orang.

    Saat ini, situasi tersebut sudah jauh lebih membaik. Namun, pesan-pesan dari Star Trek masih tetap relevan. Masih ada banyak kebencian yang terpendam antara satu ras dengan ras lainnya. Antara satu etnis dengan etnis lainnya.

    Menyaksikan bagaimana umat manusia menjadi satu, dan berkali-kali nyaris punah berjuang mempertahankan hidup berhadapan dengan makhluk lainnya yang berbeda total, cukup menggugah dan memunculkan kesadaran. Bahwa kita semua adalah sama, manusia.

  • Inspirasi Teknologi : Sebelum sebuah teknologi baru bisa dibuat menjadi kenyataan, manusia sudah harus bisa membayangkannya terlebih dahulu. Film-film science fiction seperti Star Trek memberikan sangat banyak inspirasi untuk ini.

    Seperti handphone, yang terinspirasi dari communicator di film Star Trek. Atau PDA / smartphone / tablet & Google Earth, yang terinspirasi dari tricorder.

    Berbagai teknologi yang tadinya hanya dikhayalkan di Star Trek terus bermunculan & mulai menjadi kenyataan. Seperti mesin Teleport, kini sudah ada di Amerika & Austria.
    Memang masih sangat banyak keterbatasannya. Namun, untuk sebuah teknologi yang tadinya dikira mustahil, maka sekedar ada saja tentu sudah bagaikan mukjizat ๐Ÿ™‚

    Malah ada engineer yang berhasil membuat desain pesawat luar angkasa Star Trek, yang sudah bisa dibuat dengan teknologi yang ada, dalam waktu 20 tahun.

    Desainnya tersebut bisa membawa manusia ke Planet Mars dalam waktu 90 hari. Dan pesawat tersebut juga bisa berfungsi sebagai stasiun luar angkasa.

    Jadi, jangan anggap remeh film-film fiksi ilmiah seperti ini.
    Karena inspirasi adalah awal dari realisasi ๐Ÿ™‚

Dan masih sangat banyak berbagai dampak positif lainnya dari seri Star Trek, misalnya seperti yang dibahas di sebuah artikel Wikipedia ini, dan berbagai artikel-artikel lainnya di berbagai penjuru Internet.

Bagi saya pribadi, ada banyak pelajaran yang saya dapatkan dari berbagai episode Star Trek. Contoh nyata kepemimpinan berbagai kapten nya banyak yang bisa dipraktekkan. Namun, salah satu pelajaran paling berkesan adalah justru dari seorang dokter, yaitu Beverly Crusher.

Yaitu, “The only way to hurry is to take your time

Dalam salah satu episode Star Trek versi buku, berjudul “The Soldiers of Fear”, Beverly Crusher diperlihatkan sedang dalam tekanan untuk mengerjakan sesuatu dengan secepat mungkin. Kawan-kawannya sedang sekarat terkena senjata biologis yang belum dikenal.

Dikutip :

Over the years, she had learned that taking her time was the only way to really hurry.
Any other method caused her to make mistakes.

Saya tersentak. Ini adalah kesalahan yang sering saya lakukan.

Karena terburu-buru, saya jadi melakukan berbagai kesalahan, dan bukannya jadi lebih cepat, namun akhirnya malah jadi menghabiskan lebih banyak waktu — selain mengerjakan pekerjaan tersebut, ditambah lagi dengan memperbaiki berbagai kesalahan yang terjadi.

Sejak itu, saya selalu berusaha untuk bekerja dengan cukup cepat, namun tetap mengutamakan ketelitian.

Tidak terhitung berapa banyak waktu yang jadi bisa dimanfaatkan dengan baik karena petuah tersebut. Ini adalah satu dari berbagai pelajaran baik yang saya dapatkan dari Star Trek.

Penutup

Di zaman yang penuh dengan konten sampah di berbagai media massa; sinetron galau, infotainment gosip, dst; film-film seperti Star Trek merupakan alternatif yang jauh lebih mendidik. Kita berharap agar di masa depan akan ada makin banyak konten berkualitas seperti ini.

Terimakasih kepada Pak Gene Roddenberry atas warisannya ini. Semoga suatu hari, umat manusia bisa menciptakan dunia yang ideal seperti yang dicita-citakan oleh beliau.

Selamat Tinggal, Facebook

Di akhir bulan Ramadhan kemarin, saya memutuskan untuk menutup (deactivate) account saya di Facebook.
Pada saat ini, tentu saja tindakan tersebut dilihat sebagai suatu hal yang aneh. Banyak yang bingung & mempertanyakannya kepada saya.

Alasannya ada banyak, yaitu karena berbagai problem di seputar Facebook itu sendiri. Setelah lama mengalaminya, maka akhirnya saya putuskan untuk berhenti / menutup account saya di Facebook tsb : http://facebook.com/sufehmi.
Beberapa kawan lainnya juga sudah menyuarakan ketidak sukaan mereka dengan masalah-masalah seputar Facebook.

Apa saja masalah-masalah tersebut ?

MASALAH-MASALAH DI FACEBOOK

  1. Invisible / tidak muncul di Search Engine : Saya sudah menulis di blog saya sejak tahun 2001. Karena saya senang berbagi apa yang saya ketahui dengan siapa saja. Dan tulisan-tulisan tersebut pun bebas untuk dipublikasikan ulang dimana saja (selama diberikan credit/acknowledgement)

    Bayangkan bagaimana kagetnya saya ketika menyadari bahwa posting-posting saya di Facebook ternyata tidak muncul di search engine, seperti Google.
    Padahal, privacy levelnya sudah di set ke “Public”. Alhasil, jadinya tidak banyak yang bisa menarik manfaat dari berbagai tulisan saya di Facebook.

    Ini karena sifat Facebook adalah seperti “blackhole”. Dia menyedot semua orang & informasi ke dalamnya, tapi yang sudah berada di dalam kemudian sulit untuk bisa diakses dari luar Facebook. Dengan cara ini, maka Facebook jadi tumbuh besar dengan kecepatan yang cukup fenomenal.

    Seperti Internet di dalam Internet. Tapi Internet yang didalamnya ini, Facebook, bersifat tertutup, menutup diri dari Internet di luarnya.

    Saya tidak senang dengan cara-cara seperti ini. Ini adalah tulisan & konten saya, bukan milik Facebook. Saya berhak untuk membaginya dengan siapa saja yang saya inginkan. Saya membuatnya bukan untuk digunakan dengan semau Facebook.

    Maka mulai sekarang saya akan berhenti menambah konten saya di Facebook, dan akan mulai untuk memindahkannya satu per satu ke blog saya.

    (*) Catatan: ada beberapa jenis konten yang bisa diakses dari luar Facebook dengan bebas / tanpa login. Contoh: notes & pages yang di set Public.

  2. Too much noise / junk : istilah para engineer adalah, “bad signal-to-noise ratio“. Pada saat ini di Facebook, sudah terlalu banyak konten sampah. Saya bisa browsing ratusan posting dalam waktu beberapa menit, dan hanya ada beberapa saja yang bermanfaat.

    Ini kontras total dengan Google Plus. Mayoritas posting yang muncul di stream Google Plus saya mengandung informasi yang sangat bermanfaat.

    Hal ini adalah karena prinsip Facebook, yaitu “consumption of content”. Kita didorong untuk “mengkonsumsi” konten sebanyak-banyaknya, apapun konten itu ๐Ÿ™‚ Karena ini jadi meningkatkan nilai Facebook ke para pemasang iklan & partner bisnis mereka yang lainnya juga.
    Facebook juga membatalkan rencananya memasang tombol “Dislike”, karena tombol Dislike ini bisa mengurangi tingkat konsumsi konten di Facebook.

    Google Plus konsisten dengan konsepnya, yaitu berusaha memberikan kontrol semaksimal mungkin ke tangan kita. Dengan fitur “Circles”-nya, maka kita jadi bisa mengatur sumber konten yang kita inginkan.

    Bisa Anda coba sendiri dengan membuka halaman depan Google Plus.
    Perhatikan bahwa di sebelah kiri atas ada 4 tombol, yaitu “All”, “Friends”, “Family”, dan “More” – dimana tombol-tombol tersebut akan menampilkan hanya konten di Circles / kelompok tersebut saja. Mudah sekali.

    Sebenarnya dulu Facebook juga punya fitur serupa, mungkin masih ada yang ingat, yaitu “Lists”. Namun kini entah kenapa fitur tersebut pelan-pelan sudah lenyap dari muka Facebook….

    Facebook : “Content Consumption Is King”.
    Google Plus : (Quality) “Content Is King”.

    Nampaknya kira-kira demikian satu lagi perbedaan Facebook dengan Google Plus. Dan tentu saja saya akan pilih yang lebih menguntungkan diri saya sendiri.

  3. Privacy problems : untuk hal ini, soal privacy kita & perlindungannya, track record Facebook jauh lebih buruk dibandingkan dengan Google Plus. Dari catatan FTC, jadi jelas bahwa bagi Facebook, privacy kita tidak dihargai.

    Dikutip dari http://www.ftc.gov/opa/2011/11/privacysettlement.shtm :

    # In December 2009, Facebook changed its website so certain information that users may have designated as private รขโ‚ฌโ€œ such as their Friends List รขโ‚ฌโ€œ was made public. They didn’t warn users that this change was coming, or get their approval in advance.

    # Facebook represented that third-party apps that users’ installed would have access only to user information that they needed to operate. In fact, the apps could access nearly all of users’ personal data รขโ‚ฌโ€œ data the apps didn’t need.

    # Facebook told users they could restrict sharing of data to limited audiences รขโ‚ฌโ€œ for example with “Friends Only.” In fact, selecting “Friends Only” did not prevent their information from being shared with third-party applications their friends used.

    # Facebook had a “Verified Apps” program & claimed it certified the security of participating apps. It didn’t.

    # Facebook promised users that it would not share their personal information with advertisers. It did.

    # Facebook claimed that it complied with the U.S.- EU Safe Harbor Framework that governs data transfer between the U.S. and the European Union. It didn’t.

    # Facebook claimed that when users deactivated or deleted their accounts, their photos and videos would be inaccessible. But Facebook allowed access to the content, even after users had deactivated or deleted their accounts.

    Sangat keterlaluan sekali. Apalagi poin yang terakhir — ternyata konten milik kita tetap disimpan & dibukakan oleh Facebook, bahkan setelah kita menutup / menghapus account kita ๐Ÿ™

    Dan setelah kena hukum oleh FTC ini pun tetap saja Facebook tidak berubah. Misal: mungkin sebagian kita masih ingat ketika tiba-tiba alamat email di halaman Profile kita di Facebook mendadak berubah menjadi alamat email di Facebook, contoh: sufehmii@facebook.com.

    Tanpa izin atau bahkan sekedar pemberitahuan sama sekali, dengan seenaknya Facebook mengubah halaman profile pribadi kita.

    Saya merasa sudah cukup muak diperlakukan seenaknya oleh Facebook. No more.

  4. Security : dalam soal ini, lagi-lagi sejarah Facebook cukup buruk dibandingkan dengan Google Plus. Bahkan sampai foto pribadi Mark Zuckerberg sendiri pun sampai sempat bocor di Internet karenanya.
  5. Sulit mengambil data milik kita sendiri : Facebook menyediakan fasilitas agar kita bisa mendownload seluruh data & konten kita yang ada di Facebook. Namun, proses downloadnya tidak lancar & sulit, seperti yang dialami juga oleh seorang kawan. Ukurannya besar, dan proses downloadnya lambat. Terkesan bahwa ini, akses ke data milik kita sendiri, bukanlah prioritas bagi Facebook.

    Di Google Plus adalah kebalikannya. Dengan gagah, Google mencantumkan menu berjudulkan “Data Liberation“. Dari menu ini, kita bisa dengan mudah men download data-data milik kita sendiri.
    Salut sekali untuk Google atas legowonya.

Menilik semua problem ini, maka saya memutuskan untuk menutup account saya di Facebook.

APA YANG TERJADI ?

Well…tiba-tiba account saya aktif kembali di sekitar pertengahan bulan September ๐Ÿ™‚
Saya bingung ketika menerima kembali notifikasi via email, seputar berbagai aktifitas kawan-kawan saya di Facebook.

Diskusi mengenai hal ini akhirnya tidak juga memberikan kepastian, karena ada beberapa kemungkinan penyebabnya. Di lain sisi, Facebook memang sudah dihukum oleh FTC karena hal ini (account yang sudah non-aktif ternyata tetap dihidupkan oleh Facebook)

BAGAIMANA SELANJUTNYA ?

Setelah menimbang beberapa hal, seperti posisi saya sebagai Admin di beberapa group & pages, maka saat ini saya belum bisa langsung meinggalkan Facebook. Maka saya akan lakukan beberapa hal berikut ini :

  • Berhenti posting konten di Facebook, kecuali link ke artikel blog saya.
  • Menggunakan Facebook sebagai sarana komunikasi. (message / chat)
  • Mulai memindahkan konten-konten yang sudah telanjur ada di Facebook ke blog saya.
  • Terakhir, setelah semua ini selesai (pemindahan konten & delegasi administrasi group/page), maka saya bisa menutup account Facebook ini.

Selamat tinggal Facebook. Selamat datang Google Plus ๐Ÿ™‚

Merdeka ! ๐Ÿ˜€

Happy 4th Birthday Android !

The green robot is having its birthday today ๐Ÿ™‚ yes, its version 1.0 was first released to the world on September 23, 2008.

Thanks to Android, now we can have very powerful smartphones, without compromising our freedom or being dependent to any company. And the smartphone itself is able to unleash its full power, without being held back by any company.

In 4 short years, and look what it has become ๐Ÿ™‚ looking forward to the next 4 years !

Non-Americans: What is the most shocking thing you saw when visiting the United States?…

Non-Americans: What is the most shocking thing you saw when visiting the United States? – kirain mayoritas jawabannya hanya akan seputar tipping dll.

Ternyata…. :O ร‚ย wow. Luar biasa menarik ! ๐Ÿ˜€
Enjoy.

http://www.reddit.com/r/AskReddit/comments/wzrfy/nonamericans_what_is_the_most_shocking_thing_you/รฏยปยฟ

Embedded Link

Non-Americans: What is the most shocking thing you saw when visiting the United States? : AskReddit
I’m Canadian and I went on a brief road trip to the states about a month ago. The most shocking thing I experienced was how cheap the food is. We went…

Post imported by Google+Blog for WordPress.

"Education is all about showing someone the possibilities" : http://goo.gl/vQgfU …

"Education is all about showing someone the possibilities" : http://goo.gl/vQgfU

Quoted : _"Jacques was 76 years old and his kids had bought him a laptop.

I finally just told him that you can do just about anything in the virtual world that you can do in the real world. And so help me, God, I quoted a Microsoft commercial. รขโ‚ฌล“Where do you want to go?รขโ‚ฌย (รขโ‚ฌล“Todayรขโ‚ฌย is implied.)

He thought he was being cute, I guess, when he said, รขโ‚ฌล“Paris!รขโ‚ฌย I Googled Paris, and he was impressed by the photo of the Eiffel Tower and all, and the Google map, but then I told him I could do so much better than that.

I asked him for the address of the house he grew up in, and then I took him on a virtual walk down the street where heรขโ‚ฌโ„ขd lived as a child, a town he hadnรขโ‚ฌโ„ขt seen since he left as a 20-something. He pointed out where his father had owned a bakery (itรขโ‚ฌโ„ขs a camera shop now), the church where he had his First Communion (itรขโ‚ฌโ„ขs still there), and the corner where his school used to be (vacant lot).

Then, I set up a Gmail account for him, and a Skype account, and about 15 minutes and a flurry of text messages later, he was video-chatting with his favorite granddaughter. He said it was like Buck Rogers.

Ah, but the coup de grรƒยขce was when I found him a new fishing boat on eBay."_รฏยปยฟ

Embedded Link

W0rdN3rd comments on I e-mailed a teacher to say thank you, and he posted it on Facebook saying “I really needed this.” What’s something you’ve said/done that you didn’t expect to have such a big impa…
I used to teach computer classes to senior citizens at a community center–oh, the stories I could tell. But, one student named Jacques was 76 years o…

Post imported by Google+Blog for WordPress.

Ini adalah tulisan paling bagus tentang hijab / jilbab yang pernah saya temui – dan,…

Ini adalah tulisan paling bagus tentang hijab / jilbab yang pernah saya temui – dan, ditulis oleh non-muslim. Feminis pula. Sangat mencerahkan : http://www.smh.com.au/news/opinion/behind-the-veil-lives-a-thriving-muslim-sexuality/2008/08/29/1219516734637.html?page=fullpage#contentSwap1

Dikutip : "When I wear my headscarf or chador, people relate to me as an individual, not an object; I feel respected."

Selamat menikmati.รฏยปยฟ

Embedded Link

Behind the veil lives a thriving Muslim sexuality – Opinion –
A woman swathed in black to her ankles, wearing a headscarf or a full chador, walks down a European or North American street, surrounded by other women in halter tops, miniskirts and short shorts. She…

Post imported by Google+Blog for WordPress.

Awas, bit rot mengancam file & data kita : http://ask.slashdot.org/story/12/…

Awas, bit rot mengancam file & data kita : http://ask.slashdot.org/story/12/05/07/1859235/ask-slashdot-whats-a-good-tool-to-detect-corrupted-files

Sekilas mengenai Bit Rot : http://en.wikipedia.org/wiki/Bit_rot

Soal bit rot ini sudah sejak dulu saya ketahui – namun, tanpa saya sadari, tiba-tiba saja mendadak sudah menjadi sangat relevan.

Contoh: Spec SATA menyatakan bahwa untuk setiap 1 TB, akan ada 1 bit yang error. Padahal, komputer di rumah saja sudah 3 TB ukuran hard disk nya :-/ http://goo.gl/UqaXj

Itu baru dari SATA. Masih ada lagi potensi ancaman bit rot / error dari :

# Flashdisk : http://lwn.net/Articles/349970/
# DVD & CD
# Cosmic Rays : 1 error per 256 MB per Bulan : http://en.wikipedia.org/wiki/Cosmic_ray#Effect_on_electronics
# Soft error : http://en.wikipedia.org/wiki/Soft_error#Causes_of_soft_errors
# Dst

Apa yang bisa kita lakukan untuk melindungi data-data kita dari ini semua ?

Pencegahan

# Backup data : dari Linux, bisa menggunakan rsync.
Atau, bisa seperti Time Machine dengan rdiff-backup : http://www.howtoforge.com/linux_rdiff_backup

# Gunakan filesystem yang membuatkan checksum untuk seluruh file & data. Contoh: ZFS, brtfs.
(note: ext4 hanya membuat checksum untuk metadata)

# Gunakan memory / RAM dengan fitur ECC (Error Correcting Code)

# Duplikasi data : Filesystem, seperti Ceph, secara otomatis akan membuat copy dari data yang ada dan menyebarkannya ke komputer yang berbeda = data lebih aman + performa tetap tinggi.
http://en.wikipedia.org/wiki/Ceph

note: RAID ada banyak problemnya, lebih baik gunakan Ceph / dll untuk dalam skala besar : http://lwn.net/Articles/349970/

# Gunakan script md5verify : http://micropipes.com/blog/2011/01/30/md5verify-a-script-to-automatically-verify-file-integrity/

# Gunakan par2 untuk membuat verification + recovery files : http://en.wikipedia.org/wiki/Parchive

note : Par2 ini sangat CPU-intensive. Saya pribadi menggunakan par2+tbb, yang bisa memanfaatkan semua core CPU yang ada : http://chuchusoft.com/par2_tbb/

contoh : par2 create -n1 filesaya.doc

Maka akan dibuat sebuah file recovery bernama filesaya.doc.par2 & filesaya.doc.vol000+100.par2
File ini kemudian bisa digunakan untuk memeriksa integritas filesaya.doc – dan menyelamatkannya jika ternyata corrupt : par2 verify filesaya.docรฏยปยฟ

Embedded Link

Ask Slashdot: What’s a Good Tool To Detect Corrupted Files? – Slashdot
Volanin writes “Currently I use a triple boot system on my Macbook, including MacOS Lion, Windows 7, and Ubuntu Precise (on which I spend the great majority of my time). To share files between these s…

Post imported by Google+Blog for WordPress.

Tercengang melihat istri seorang kenalan yang, setelah bertahun-tahun tidak punya…

Tercengang melihat istri seorang kenalan yang, setelah bertahun-tahun tidak punya anak, baru beberapa bulan ini dikaruniai seorang bayi.

Dulu istrinya kerjanya mengeluh terus di Facebook, kesepian di rumah, suami pergi ke kantor setiap hari, sendirian di rumah tidak ada anak.

Sekarang ? Istrinya mengeluh terus di Facebook, anaknya menangis di malam hari, rewel ketika dia mau tidur siang, sebentar menangis, sebentar minta susu, dst.

Haduh…. jadi maunya apa ?? Ini salah, itu salah. Gak ada puasnya ๐Ÿ˜€

Mengeluhnya di publik / via Facebook pula…..saya yang cuma membacanya saja malu sekali. Entah bagaimana perasaan suaminya…

Post imported by Google+Blog for WordPress.

BSA Sued by Indonesian company

I thought I’d never see the day – BSA (Business Software Alliance) is currently being sued by an Indonesian company, Multisari, due to the illegal raids carried out to find illegal / pirated software.

I know, I know – what an irony indeed, right ? ๐Ÿ™‚ breaking the law to find the breakers of the law, gosh.
What a bunch of genius. ๐Ÿ˜€

Context : Here in Indonesia, some(often?)times there are rogue officials, from BSA or Police, who conducted the checks (raids) illegally.

Imagine having your computers / servers seized suddenly, due to suspicion of having illegal software in it.
What a nasty way to halt a company’s daily operation eh? Yet that’s what happened with a lot of companies here.

No search warrant. No warning whatsoever.
Just some officers suddenly showing up in your office, do some quick check – and there goes your computers.

However, most of the victims chose to stay silent. Or, do a backhand deal with said officers, involving some cash of course, to secure the return of their computer.

Some of the victims of these illegal BSA raids also chose to migrate to Linux ๐Ÿ™‚ which then are welcomed warmly by the local F/OSS community.
Thanks BSA for sending them our way ! Bill Gates & Steve Ballmer would be SO happy that you did such a great job ๐Ÿ˜€

Anyway, Multisari chose to stood its ground. It chose to strike back at these BSA bullies. And I’m so happy to be able to witness such a day. Good for them !

Quoted :


“In case number 517/Pdt.G/2011/PN.Jkt.Pst, Multisari Langgeng Inc. sued BSA Singapore, BSA Indonesia, and BSA Washington DC”


“Multisari sued BSA because of the raids conducted by BSA Singapore (**) and BSA Indonesia to its office on September 22dn, 2011”

(**) What the hell is BSA Singapore doing here, raiding Indonesian companies, on Indonesian soil ?
This is an outrage.

Source : http://www.bisnis.com/articles/hukum-bisnis-perkara-multisari-vs-bsa-masuk-mediasi
(hint: Google Translate is your friend)

Luar biasa – Maulana Law Firm / Bpk

Insan Budi Maulana menawarkan bantuan hukum Pro-Bono (gratis) bagi para Korban Razia BSA !

Informasi selengkapnya dari Pak Rudi Rusdiah, di forward ke milis telematika@yahoogroups.com

Semoga bermanfaat :

———————————–

From: Insan Budi Maulana
To: rrusdiah@xxxxxxxxxx.com, ib_maulana [[at]] maulanalawfirm <<dot>> com

Sent: Tuesday, April 24, 2012 7:10 PM
Subject: Re: Ini baru berita… BSA dituntut oleh Multisari karena penggeledahan yg dilakukan.

sans prejudice

Rekan-rekan APW Komitel,

Kami dari Maulana and Partners Law Firm akan memberikan pelayanan hukum probono bagi para "korban-korban BSA" yang diduga telah melakukan "pemaksaan" kepada para pengusaha sehingga melakukan pembayaran atau kompensasi secara terpaksa kepada BSA

dengan persyaratan para pengusaha yang telah menjadi "korban" itu menggunakan software asli dan memiliki bukti pembeliannya, namun telah memperbanyak dari software aslinya melebihi dari jumlah software asli yang dibelinya.

Salamรฏยปยฟ

Post imported by Google+Blog for WordPress.

MySQL Performance :: Panduan Utama Tentang MySQL & Hardware Yang Dibutuhkan + MySQL Bantai Memcached & NoSQL !

Panduan Utama : MySQL & Hardwarenya Yang Diperlukan

Beberapa client utama saya adalah pengguna MySQL. Software yang mereka gunakan memanfaatkan MySQL sebagai databasenya dengan intensif, dan dengan beban kerja yang banyak & berat.

Karena itu, semua hal seputar topik performa MySQL sangat menarik perhatian saya.

Secara rutin saya & tim kami melakukan berbagai penelitian seputar kinerja MySQL.
Untuk beban kerja tertentu, bagian sistim yang mana yang menjadi bottleneck ? Bagaimana cara melenyapkan bottleneck tersebut ? Bagaimana meningkatkan response time dari MySQL ? Bagaimana cara meningkatkan kapasitas pemrosesan datanya ? Dan seterusnya.

Karena itu saya cukup terkejut gembira menemukan file presentasi berikut ini — dimana berbagai isinya selaras dengan banyak dari temuan kami selama ini. Maka, Anda akan dapat memanfaatkan informasi di dokumen ini seketika; dan tidak perlu sampai melakukan riset selama bertahun-tahun seperti yang kami lakukan secara rutin:

[ Linux & Hardware Optimizations For MySQL ]

Berikut ini adalah beberapa poin-poin ringkasannya :

  • Hardware RAID bisa mengakibatkan performa yang buruk : Tidak setaranya kualitas berbagai produk hardware RAID yang ada jadi bisa menyebabkan justru turunnya performa dibandingkan jika tanpa RAID. Prosesor yang melempem, firmware yang buggy / tidak berkualitas, dst — semua ini dapat menyebabkan penurunan kinerja yang cukup serius. Karena itu sudah cukup lama kami menyarankan untuk melakukan RAID secara software, terutama RAID0 / RAID10.
  • Banyak RAM = Kinerja Naik : MySQL dapat memanfaatkan RAM yang ada untuk banyak hal — mengatur agar proses INSERT menjadi sequential ke disk (sangat signifikan untuk harddisk / bukan SSD), “join” buffer, cache, dst.

    Pasang RAM sebanyak-banyaknya di server database Anda, dan lalu atur setting MySQL, agar bisa memanfaatkan RAM yang ada tersebut.

  • RAID0 / RAID10 adalah cara termurah untuk meningkatkan kinerja disk
  • InnoDB lebih kencang untuk Write-Ops : InnoDB melakukan proses row-level locking pada saat write — dan bukannya table-level locking seperti MyISAM. Pada MyISAM, jika sedang ada proses Write (insert / update / delete) maka seluruh operasi lainnya dihentikan oleh MySQL. Karena itu, pada table MyISAM yang proses Write nya cukup banyak, performanya bisa langsung anjlok dengan sangat drastis.
  • SSD SATA lebih lambat daripada SSD PCI-Express : kadang bisa lebih dari 2x lipat.
  • BBWC = Battery Backed-up Write Cache : satu kelebihan Hardware RAID adalah BBWC. Dengan BBWC, maka proses Write bisa menjadi jauh lebih cepat. Jangan lupa untuk mematikan dulu write cache di masing-masing disk nya sendiri.

Dan masih ada sangat banyak lagi tips & informasi berguna lainnya, yang sulit untuk ditemukan dimana-mana.
Berbeda dengan berbagai artikel di banyak situs, dokumen ini sangat padat isinya, dan tidak bertele-tele. Straight to the point. Sampai kadang bisa kebingungan sendiri membacanya ๐Ÿ™‚

Sangat direkomendasikan untuk mereka yang banyak bersentuhan dengan MySQL.

Untuk melakukan sendiri berbagai proses profiling & optimization nya, saya juga bisa merekomendasikan dokumen ini : [ Performance TUning & Stabilization Tips ]


MySQL Bantai Memcached & NoSQL : 750.000 query / second !

Beberapa tahun terakhir ini kita sering mendengar bagaimana MySQL itu lambat. Bahwa musti pakai Memcached baru bisa agak cepat / meningkat kapasitas (pemrosesan data) nya. Bahwa untuk jumlah query yang sangat banyak, maka musti membuang MySQL dan pindah ke NoSQL.

Yoshinori Matsunobu membuktikan bahwa MySQL sebetulnya amat kencang – dengan Plugin “HandlerSocket”, maka MySQL jadi bisa memproses 750.000 query per detik ! Sementara memcached hanya bisa mencapai 420.000 qps, dan Yoshinori belum berhasil menemukan produk NoSQL yang performanya bisa menyaingi ini.

Secara ringkas – HandlerSocket adalah plugin yang memungkinkan kita untuk mengakses database MySQL secara direct / bypass layer SQL internalnya. Jadinya seperti NoSQL juga, hanya saja ini di MySQL – bukan menggunakan database server lainnya.

HandlerSocket ini, karena berbasis MySQL, jadi memiliki berbagai kelebihan berikut ini dibandingkan dengan software NoSQL biasa :

  • Databasenya bisa diakses secara normal : karena mengakses database MySQL, maka datanya tetap bisa diakses secara normal / dengan perintah / query SQL biasa. Contoh: pembuatan laporan, tetap bisa menggunakan query SQL biasa.

    Tidak seperti software NoSQL lainnya; dimana seluruh akses harus berupa perintah NoSQL.

  • Crash-safe : HandlerSocket di desain untuk menggunakan database engine InnoDB di MySQL.
  • Semua keuntungan operasional MySQL : karena HandlerSocket berjalan di dalam MySQL sebagai plugin, maka semua manfaat MySQL bisa didapatkan — replication, online backup, SQL, internal cache / buffer pool, monitoring, SHOW xxxx STATUS, dst.
  • Tidak perlu merubah MySQL : karena berupa plugin, sehingga langsung kompatibel dengan semua versi MySQL.
  • Kompatibel dengan semua engine database di MySQL.
  • Dll

Siapa sangka ternyata kita tidak perlu pindah ke software NoSQL untuk mendapatkan performa yang tinggi ? Terus gunakan saja MySQL + HandlerSocket plugin.


Penutup

Berbeda dengan mitos & khayalan yang lazim ada, MySQL sebetulnya mampu memberikan kinerja yang sangat tinggi, dengan tetap menjaga integritas data kita.

Dan di luar dugaan, ketakutan saya paska akuisisi MySQL oleh Oracle tidak terjadi. MySQL tidak dibunuh oleh Oracle – tetapi, malah dikembangkan dengan jauh lebih cepat & mengesankan.
MySQL 5.5.x & MySQL Cluster 7.2.x adalah produk-produk MySQL yang paling impresif yang pernah saya temui. InnoDB di MySQL 5.5.x sudah sangat advanced dibandingkan versi sebelumnya. Dan MySQL Cluster 7.2.x akhirnya bisa menyimpan data di disk. Dan banyak kemajuan signifikan lainnya.

Pengetahuan mengenai seluk-beluk MySQL akan memungkinkan kita untuk membuat performanya melesat jauh dari para kompetitornya.

Bahan bacaan lebih lanjut :

Seri Belajar Open Source Cara Copas (BOSCA) : Install MySQL Cluster (tanpa root)

Belum lama ini Oracle telah merilis versi terbaru dari MySQL Cluster, yaitu versi 7.2.x. Ada banyak kelebihan versi terbaru ini, namun yang paling signifikan adalah kemampuannya untuk menyimpan database di disk.

Ya, dulu MySQL Cluster hanya bisa menyimpan data di memory.
Memang ini jadi meningkatkan performa, namun di lain sisi, otomatis jadi sangat beresiko. Jika server mati mendadak, maka seluruh data akan lenyap.

MySQL Cluster versi 7.2.x sudah tidak memiliki limitasi ini lagi. Ditambah dengan berbagai enhancements lainnya, maka saya bisa merekomendasikan versi ini sebagai awal yang baik untuk mulai belajar / menggunakan MySQL Cluster.

Panduan ini akan memungkinkan Anda untuk memasang MySQL Cluster tanpa memerlukan user root. Ini berarti bahwa Anda jadi bisa untuk memasang bahkan banyak MySQL Cluster di satu komputer.
Ini akan sangat berguna misalnya untuk melakukan riset / ujicoba.

Seri BOSCA = Belajar Open Source Cara copAs (copy-paste) :: artikel ini saya tuliskan sedemikian rupa, sehingga Anda tinggal copas / copy-paste saja ke Terminal / Console.
Sehingga hasilnya langsung bisa dinikmati.

Saya percaya bahwa learning by doing adalah cara belajar yang terbaik. Pengetahuan & pemahaman akan otomatis didapatkan dengan langsung praktek / melakukan.
Seri artikel BOSCA bertujuan untuk membantu Anda agar dapat segera mulai melakukan praktek, dengan usaha yang seminimal mungkin.

Selamat menikmati :

### perlu install library AIO (Asynchronous I/O) di beberapa distro
sudo apt-get install libaio1

mkdir $HOME/mysql-cluster
cd  $HOME/mysql-cluster

### Download dari http://www.mysql.com/downloads/cluster/
### Pilih "Linux - Generic 2.6 (x86, 64-bit), Compressed TAR Archive"
wget -c http://mysql.ntu.edu.tw/Downloads/MySQL-Cluster-7.2/mysql-cluster-gpl-7.2.5-linux2.6-x86_64.tar.gz

tar xzvf mysql-cluster-gpl-7.2.5-linux2.6-x86_64.tar.gz

ln -s mysql-cluster-gpl-7.2.5-linux2.6-x86_64 mysqlc
mkdir my_cluster my_cluster/ndb_data my_cluster/mysqld_data my_cluster/conf

### buat beberapa direktori untuk file PID, socket, dan log
mkdir $HOME/mysql-cluster/mysqlc/var
mkdir $HOME/mysql-cluster/mysqlc/var/log
mkdir $HOME/mysql-cluster/mysqlc/var/run
chown -R $USER:$USER $HOME/mysql-cluster/mysqlc/var

########## membuat file-file konfigurasi
### buat file $HOME/mysql-cluster/my_cluster/conf/my.cnf
echo "[mysqld]" >> $HOME/mysql-cluster/my_cluster/conf/my.cnf
echo "ndbcluster" >> $HOME/mysql-cluster/my_cluster/conf/my.cnf
echo "datadir=$HOME/mysql-cluster/my_cluster/mysqld_data" >> $HOME/mysql-cluster/my_cluster/conf/my.cnf
echo "basedir=$HOME/mysql-cluster/mysqlc" >> $HOME/mysql-cluster/my_cluster/conf/my.cnf
echo "port=5000" >> $HOME/mysql-cluster/my_cluster/conf/my.cnf

### buat file $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "[ndb_mgmd]" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "hostname=localhost" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "datadir=$HOME/mysql-cluster/my_cluster/ndb_data" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "NodeId=1" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "[ndbd default]" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "noofreplicas=2" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "datadir=$HOME/mysql-cluster/my_cluster/ndb_data" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "[ndbd]" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "hostname=localhost" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "NodeId=3" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "[ndbd]" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "hostname=localhost" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "NodeId=4" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "[mysqld]" >> $HOME/mysql-cluster/my_cluster/conf/config.ini
echo "NodeId=50" >> $HOME/mysql-cluster/my_cluster/conf/config.ini


################ inisialisasi
### Inisialisasi database
cd $HOME/mysql-cluster/mysqlc
$HOME/mysql-cluster/mysqlc/scripts/mysql_install_db --no-defaults --datadir=$HOME/mysql-cluster/my_cluster/mysqld_data/

### menjalankan MySQL Cluster untuk pertama kali
cd ../my_cluster/
$HOME/mysql-cluster/mysqlc/bin/ndb_mgmd -f $HOME/mysql-cluster/my_cluster/conf/config.ini --initial --configdir=$HOME/mysql-cluster/my_cluster/conf/

$HOME/mysql-cluster/mysqlc/bin/ndbd -c localhost:1186
$HOME/mysql-cluster/mysqlc/bin/ndbd -c localhost:1186

$HOME/mysql-cluster/mysqlc/bin/mysqld --defaults-file=$HOME/mysql-cluster/my_cluster/conf/my.cnf --socket=$HOME/mysql-cluster/mysqlc/var/run/mysql.sock --pid-file=$HOME/mysql-cluster/mysqlc/var/run/mysql.pid&


### tunggu sekitar 30 detik, MySQL CLuster sedang launch
### lalu kita bisa cek statusnya :
$HOME/mysql-cluster/mysqlc/bin/ndb_mgm -e show

### terlampir cara untuk membuat table dengan engine NDB / MySQL Cluster
$HOME/mysql-cluster/mysqlc/bin/mysql -h 127.0.0.1 -P 5000 -u root
####### perintah-perintah berikut ini di copy-paste di prompt mysql> #########
create database clusterdb;use clusterdb;
create table simples (id int not null primary key) engine=ndb;
insert into simples values (1),(2),(3),(4);
select * from simples;
exit


### shutdown
$HOME/mysql-cluster/mysqlc/bin/mysqladmin -u root -h 127.0.0.1 -P 5000 shutdown
$HOME/mysql-cluster/mysqlc/bin/ndb_mgm -e shutdown


### buat script startup
echo '#!/bin/bash' >> $HOME/mysql-cluster/startup-cluster.sh
echo "$HOME/mysql-cluster/mysqlc/bin/ndb_mgmd -f $HOME/mysql-cluster/my_cluster/conf/config.ini --initial --configdir=$HOME/mysql-cluster/my_cluster/conf/" >> $HOME/mysql-cluster/startup-cluster.sh

echo "$HOME/mysql-cluster/mysqlc/bin/ndbd -c localhost:1186" >> $HOME/mysql-cluster/startup-cluster.sh
echo "$HOME/mysql-cluster/mysqlc/bin/ndbd -c localhost:1186" >> $HOME/mysql-cluster/startup-cluster.sh

echo "$HOME/mysql-cluster/mysqlc/bin/mysqld --defaults-file=$HOME/mysql-cluster/my_cluster/conf/my.cnf --socket=$HOME/mysql-cluster/mysqlc/var/run/mysql.sock --pid-file=$HOME/mysql-cluster/mysqlc/var/run/mysql.pid&" >> $HOME/mysql-cluster/startup-cluster.sh

chmod 755 $HOME/mysql-cluster/startup-cluster.sh


### buat script shutdown
echo '#!/bin/bash' >> $HOME/mysql-cluster/shutdown-cluster.sh
echo "$HOME/mysql-cluster/mysqlc/bin/mysqladmin -u root -h 127.0.0.1 -P 5000 shutdown" >> $HOME/mysql-cluster/shutdown-cluster.sh
echo "$HOME/mysql-cluster/mysqlc/bin/ndb_mgm -e shutdown" >> $HOME/mysql-cluster/shutdown-cluster.sh
chmod 755  $HOME/mysql-cluster/shutdown-cluster.sh


### untuk startup / shutdown MySQL Cluster, cukup ketik :
$HOME/mysql-cluster/startup-cluster.sh
$HOME/mysql-cluster/shutdown-cluster.sh


### Enjoy !

Seri Belajar Open Source Cara Copas (BOSCA) : Install MySQL Server (tanpa root)

Panduan ini akan memungkinkan Anda untuk memasang MySQL Server tanpa memerlukan user root. Ini berarti bahwa Anda jadi bisa untuk memasang bahkan banyak MySQL Cluster di satu komputer. Ini akan sangat berguna misalnya untuk melakukan riset / ujicoba.

Memasang banyak MySQL Server di satu komputer juga berguna untuk meningkatkan concurrent throughput – pada jumlah koneksi / user yang banyak, kadang MySQL Server nya sendiri yang menjadi bottleneck.
Memasang banyak MySQL Server di komputer tersebut, dengan masing-masing listening di Port yang berbeda, bisa menjadi salah satu alternatif solusinya.

Seri BOSCA = Belajar Open Source Cara copAs (copy-paste) :: artikel ini saya tuliskan sedemikian rupa, sehingga Anda tinggal copas / copy-paste saja ke Terminal / Console.
Sehingga hasilnya langsung bisa dinikmati.

Saya percaya bahwa learning by doing adalah cara belajar yang terbaik. Pengetahuan & pemahaman akan otomatis didapatkan dengan langsung praktek / melakukan.
Seri artikel BOSCA bertujuan untuk membantu Anda agar dapat segera mulai melakukan praktek, dengan usaha yang seminimal mungkin.

Selamat menikmati :

### perlu install library AIO (Asynchronous I/O) di beberapa distro
sudo apt-get install libaio1

mkdir $HOME/mysql-cluster
mkdir $HOME/mysql-cluster/server1
cd  $HOME/mysql-cluster/server1

### Download dari http://www.mysql.com/downloads/mysql/
### Pilih "Linux - Generic 2.6 (x86, 64-bit), Compressed TAR Archive"
wget -c --timeout=10 --tries=0 http://ftp.ntu.edu.tw/pub2/MySQL/Downloads/MySQL-5.5/mysql-5.5.22-linux2.6-x86_64.tar.gz

tar xzvf mysql-5.5.22-linux2.6-x86_64.tar.gz
ln -s mysql-5.5.22-linux2.6-x86_64 mysql

### buat beberapa direktori untuk file PID, socket, dan log
mkdir $HOME/mysql-cluster/server1/mysql/etc
mkdir $HOME/mysql-cluster/server1/mysql/var
mkdir $HOME/mysql-cluster/server1/mysql/var/log
mkdir $HOME/mysql-cluster/server1/mysql/var/run
chown -R $USER:$USER $HOME/mysql-cluster/server1/mysql/var
chown -R $USER:$USER $HOME/mysql-cluster/server1/mysql/etc

################# menyiapkan file konfigurasi
cp $HOME/mysql-cluster/server1/mysql/support-files/config.medium.ini $HOME/mysql-cluster/server1/mysql/etc/my.cnf

################ inisialisasi database
cd $HOME/mysql-cluster/server1/mysql
$HOME/mysql-cluster/server1/mysql/scripts/mysql_install_db --user=$USER --defaults-file=$HOME/mysql-cluster/server1/mysql/etc/my.cnf --basedir=$HOME/mysql-cluster/server1/mysql/  --datadir=$HOME/mysql-cluster/server1/mysql/data/

###### start database
$HOME/mysql-cluster/server1/mysql/bin/mysqld_safe --defaults-file=$HOME/mysql-cluster/server1/mysql/etc/my.cnf  --user=$USER  --basedir=$HOME/mysql-cluster/server1/mysql/  --datadir=$HOME/mysql-cluster/server1/mysql/data/  --socket=$HOME/mysql-cluster/server1/mysql/var/run/mysql.sock --pid-file=$HOME/mysql-cluster/server1/mysql/var/run/mysql.pid --port=9001 &

##### akses database
$HOME/mysql-cluster/server1/mysql/bin/mysql -u root -h 127.0.0.1 -P 9001 

##### shutdown database
$HOME/mysql-cluster/server1/mysql/bin/mysqladmin -u root -h 127.0.0.1 -P 9001 shutdown

### buat script startup
echo '#!/bin/bash' >> $HOME/mysql-cluster/server1/startup-server1.sh
echo "$HOME/mysql-cluster/server1/mysql/bin/mysqld_safe --defaults-file=$HOME/mysql-cluster/server1/mysql/etc/my.cnf  --user=$USER  --basedir=$HOME/mysql-cluster/server1/mysql/  --datadir=$HOME/mysql-cluster/server1/mysql/data/  --socket=$HOME/mysql-cluster/server1/mysql/var/run/mysql.sock --pid-file=$HOME/mysql-cluster/server1/mysql/var/run/mysql.pid --port=9001 &" >> $HOME/mysql-cluster/server1/startup-server1.sh
chmod 755 $HOME/mysql-cluster/server1/startup-server1.sh


### buat script shutdown
echo '#!/bin/bash' >> $HOME/mysql-cluster/server1/shutdown-server1.sh
echo "$HOME/mysql-cluster/server1/mysql/bin/mysqladmin -u root -h 127.0.0.1 -P 9001 shutdown"  >> $HOME/mysql-cluster/server1/shutdown-server1.sh
chmod 755  $HOME/mysql-cluster/server1/shutdown-server1.sh


### untuk startup / shutdown MySQL Cluster, cukup ketik :
$HOME/mysql-cluster/server1/startup-server1.sh
$HOME/mysql-cluster/server1/shutdown-server1.sh


### Enjoy !

Father’s Prayer For His Children

Children are Creature of Light.
Born pure & innocent.
Bringer of joy.

As they grow however, darkness start to weigh upon them.
They began to know pain, hate, and lies.

I realize that just our love for them is not enough to protect them.
Lord Almighty, please grant us patience & knowledge, to teach & guide them.

Please give them strength to soar above the darkness
To not be engulfed by it.

Amen.