Friday, 11 March 2016

Flashlight Cover: My New Year Resolution

Sejak saya bisa main piano dan gitar, saya ingin membuat cover solo band. Sudah banyak ide dan latihan yang saya lakukan, namun tidak pernah ada yang konkrit jadi video. Namun dua minggu lalu saya dengar lagu Flashlight oleh Jessie J


It was crazy energetic and fun! Lalu saya coba cari cover yang ada di Youtube. This one is particularly, IMO, better than the original song in some dimensions.



Lalu saya jadi terinspirasi. Pingin deh make a baby step buat mewujudkan cover solo band yang sudah saya impikan dari dulu. Dan mumpung ini adalah new year resolution saya tahun ini, here I go!


Somehow setelah di encode dan di upload kualitas video dan audionya jadi jelek. Lalu dari segi skill, tentu saja, semuanya masih suks. I particularly am sad about my voice. But again, baby step! I hope I get better in the future. Paling tidak sekarang saya jadi makin mengerti kelemahan yang harus saya tingkatkan untuk meningkatkan keseluruhan kualitas video saya ke depan.

Target saya adalah bikin cover solo band menggunakan semua instrumen yang saya bisa saat ini: piano, gitar, biola, drum dan bass. We'll see :)

Saturday, 26 December 2015

Ame no Hanauta Cover

Tidak tahu sejak kapan saya menemukan lagu ini, tapi lagu ini menjadi salah satu lagu favorit saya. Apalagi kalau hujan. Ame no Hanauta (Humming in The Rain) adalah lagu buatan Get Wet Band. Salah satu personilnya (Doddy) adalah teman SMP saya. Kalau membaca post sebelumnya perlu dicatat bahwa dia salah satu yang tidak membuli saya.


BTW, lagu aslinya bisa didengarkan di sini.

Cover ini super cacat. Saya nebak-nebak chordnya jadi banyak yang ngasal. Suaranya juga ngasal. Metik gitarnya ngasal. Tapi saya bertekad untuk tetap mengupload ini karena beberapa alasan:
  1. Bagian dari resolusi tahun 2015 (mengupload video hasil editan).
  2. Pertama kali mencoba Adobe Pro Premier (terima kasih Facebook atas lisensi gratisnya)
  3. Pertama kali mencoba menggabungkan video dan audio dari file yang terpisah.
  4. Pertama kali merekam video pakai kamera DSLR.
  5. Pertama kali merekam audio pake proper microphone.
Banyak first time di sini. Moga-moga ini bakal menjadi dasar dari skill bermusik saya. Agar harapannya kalau saya melihat video-video saya kebelakang, saya bisa berkata "I am getting better at this."

Tuesday, 17 November 2015

Lucid Dream

To have a lucid dream you need to be aware that you're dreaming. It's known to be a difficult feat to achieve since upon the slightest realization that you're dreaming, you're most likely going to wake up.

Recently, it's incredibly easy for me to have one. I dream about my father every single day. He's there, together with the family. And every single night, I'm 100% sure they are dream. Father is not here anymore and I'll never forget about that. Nevertheless, I couldn't woke up. I don't want to. Only here can I talk to him - to apologize for the promise that I could never fulfill.

And so every night I have a lucid dream.

Tuesday, 29 September 2015

The Never Will

I was a loser back in middle school. I didn’t have many friends. The only joy I had was games. I needed to play in game center since we didn’t have internet back at home. You would take me there since I can’t go there alone. You would take me there every weekend, 4AM in the morning. Your eyes were sleepy, but you didn’t complain. You would pick me up around lunch, brought me foods and gave me a piggyback because I always fell asleep in the car.

Came high school, during Indonesian IOI national team selection. Everybody told me that I should give up. That I should pursue my study. That I had no chance in getting in. You were the only person to give me a push, telling me to try harder, telling me it's ok to skip classes and pursue my dream. It was announced that I was selected to be in the Indonesian IOI team, I was thrilled. You didn't budge. You you simply looked at me with those eyes. Those eyes saying “I never doubted you."

Back when I was an intern at Facebook, the new office was just set to be made. The designer was Frank Gehry - one of your favorite. One of the main reason why I am here right now was so I could bring you here. Give you a tour of the building. Show you around one of the best campus in Silicon Valley. Probably introduce you to Zuck. Look at how your good-for-nothing son is now your pride.

Yesterday out of habit, I sent you a message. A message saying that I've arrived safely at Taipei. A message that you'll never read.

There will never be a walk with you in Facebook office. I’ll never see your smile when I finally bought you a Black Jaguar of your dream. I’ll miss how you keep finding those articles about us that we never know, and boastfully share it to Facebook: “See how awesome my children have become.” I’ll miss your daily Minori photos.

Three days ago my father passed away. May his soul rest in peace, and be reunited with Eyang Poi, Eyang Bobo, Cici, Ditip, Bije, and Mumu.

We’ll live on your legacy, believing in your value: Migunaning tumraping liyan. رَحْمَةً لِلْعَالَمِين. Being a mercy for the world.


Friday, 5 June 2015

Semangat Digimon!

Saya suka sekali sama lagu-lagu Digimon, khususnya Butterfly. Dan sebentar lagi sepertinya keluar versi dewasanya. Trailernya lagunya cantik banget:
Saya dan Rhesa punya dugaan sangat kuat bahwa composer lagu ini tidak lain adalah ryo supercell, orang dibalik lagu-lagu seperti:

  1. Melt
  2. Black Rock Shooter
  3. Kimi no Shiranai Monogatari
  4. Sayonara Memories
  5. Kokuhaku
  6. My Dearest
  7. ODDS & ENDS
In the spirit of Digimon, saya jadi pingin nyanyi juga. Mohon maklum kalau suaranya jelek dan liriknya salah. Kalau ga di post somewhere rasanya ga bisa move-on dari lagu ini.

Saturday, 12 April 2014

Short Story tentang Mahasiswa ITB yang Internship di Facebook part 3



Part 3! Akhirnya dibagian kerja di Facebook-nya. Tapi jangan expect banyak disini karena barang-barangnya confidential. Sebelumnya mungkin mau baca part 1 dan part 2 nya dulu.

------------------------------------- START OF PART 3 ---------------------------------------


Sebagai kali pertamanya saya pergi ke luar negeri sendirian, perjalanan kali ini terhitung cukup menyenangkan. Di pesawat saya menghabiskan waktu nonton Thor, Pirate of Carribean, Liar Game, dan lain-lain. Saya transit di Korea yang dimana sangat sangat banyak cewek cantik, paha dan dada, bertebaran. Perjalanannya total sekitar 18 jam flight ditambah 20 jam-an transit.

Sesampainya di US saya sangat kagum dengan cerahnya langit di US. Clear blue sky. Sudah lama tidak melihat langit yang secerah itu. Namun dibalik cerahnya langit dan teriknya matahari, unexpectedly San Fransisco ternyata sangat dingin. Pada saat saya tiba disana, suhu luar sekitar 13 derajat Celsius. Supir taksinya bilang bahwa suhu ini cukup hangat.

Meniti ruas-ruas jalan sepanjang San Fransisco hingga San Jose, jalan-jalan di US sangat mudah dimengerti. Dari 101 (anggap saja jalan tol) yang menjadi jalan penghubung antar kota, kita akan masuk ke suatu jalan besar. Dari jalan besar tersebut, kira-kira hanya ada maksimal dua tingkat jalan yang perlu diingat. Jadi urutannya 101 > jalan besar > jalan biasa > jalan kecil.

Lalu sesampainya di apartemen saya berusaha mencari kantor administrasi. Pertama-tama saya tidak menemukan apa-apa. Lalu saya curiga dengan tulisan leasing office. Saya pikir itu semacam tempat penitipan hewan. Ternyata leasing office itu kantor administrasi yang harus saya tuju. Disana saya ditunjukkan jalan ke ruang apartemen saya.

Di depan ruangan apartemen ada sebuah gembok kombinasi yang berisi kunci. Untungnya saya sudah ngeprint kombinasi yang perlu dimasukkan untuk dapat membuka gembok tersebut (terima kasih emak). Didalam gembok ada 3 buah kunci. Saya ambil salah satu, saya buka pintu kamar dan saya mendapati sudah ada penghuni lain dikamar tersebut.

Saya tinggal bersama 3 orang lain dalam sebuah apartemen yang berisi dua kamar. Yang pertama kali datang bernama Alex Huang, seorang data analyst. Dia sekolah di Teknik Industri. Yang kedua adalah Airinei Adrian. Dia dari Rumania (yang saya ingat dari Rumania adalah Adrian Mutu). Dia cyclist tingkat berat dan selalu bersepeda kapanpun waktu memungkinkan. Yang terakhir bernama Akim Kumok, roommate saya, red coder dari Rusia. Dia diterima di Facebook karena prestasinya di Facebook Hacker Cup. Dia menjadi orang yang paling sering saya temui dan yang paling dekat dengan definisi teman.

Hari Senin, tepatnya pada tanggal 20 Juni 2011, kami menghadiri orientasi pegawai-pegawai baru di FB. Kami duduk dalam urutan abjad nama kami. Di depan meja sudah tersedia laptop yang kami pilih sebelumnya (mungkin saya belum cerita. Setiap pegawai FB diperbolehkan memilih satu laptop dan satu smartphone untuk ia bawa dan gunakan selama ia bekerja di FB). Saya memilih Lenovo karena saya belum terlalu familiar dengan Macbook. Saya memilih iPhone karena saya sendiri sudah memiliki Android.

Isi orientasi sendiri adalah presentasi. Pada hari pertama berisi bagaimana kultur bekerja di Facebook, bagaimana etika yang harus dipegang, paperwork, keadaan Facebook saat ini, visi dan misi Facebook dan hal-hal etika standar lain yang saya lupakan. Pada hari kedua tim engineering dipisah dengan tim non-engineering. Isi dari orientasi tim engineering antara lain pengenalan framework, cara kerja engineer di Facebook, pengenalan git, dan first task yang harus diselesaikan pada hari itu juga sebagai pengenalan terhadap lingkungan pengembangan Facebook dan git.

Pada hari ketiga (hari Rabu) kami diarahkan untuk pergi ke mentor kami masing-masing. Setiap intern akan memiliki seorang mentor yang akan mengawasi kinerja sang intern sekaligus membantu sang intern untuk dapat smoothly berkontribusi untuk Facebook. Seperti yang telah saya tulis pada post sebelumnya, mentor saya adalah Chris Tice. Orangnya tinggi, good-looking, atletis (dia mengikuti dan menang dalam posisi ke 6 pada sebuah Triathlon di San Fransisco), dan amazing dalam software engineering.

Saya masuk dalam tim mobile di Facebook. Hari pertama saya diberikan tugas untuk menginstalasi environment untuk mengembangkan produk yang dikembangkan oleh tim kami. Kemudian saya diberikan waktu untuk getting familiar with framework khusus yang akan saya gunakan untuk 3 bulan kedepan. Pada hari Jumat saya diberikan list project yang dapat saya kerjakan. Saya memilih yang paling closely-related dengan mentor saya karena saya tahu saya masih butuh banyak bimbingan.

Apa yang saya kerjakan selama 3 bulan di Facebook adalah sesuatu yang tidak dapat saya ceritakan. Hal ini karena produk yang saya kerjakan adalah produk dari proyek yang sampai saat ini sepertinya masih dalam pengerjaan dan belum dikeluarkan ke publik. Hal yang boleh saya ceriakan adalah fakta bahwa saya bekerja dibawah tim mobile dan saya dipinjami sebuah Galaxy S untuk membantu development. Galaxy S ini (atau lebih tepatnya Sim Card yang dibawa oleh Galaxy S ini) nantinya banyak membantu saya dalam petualangan saya di US. Edit: saya mengerjakan Facebook Home.

Minggu-minggu pertama saya habiskan untuk mengenali kultur di US. Bagaimana bepergian dalam kota, bagaimana bepergian luar kota, jadwal bus, supermarket terdekat, lokasi makan terdekat dan fasilitas-fasilitas gratis yang disediakan apartemen saya. Di US saya jatuh cinta pada Subway. Makannya praktis, sangat enak, ada dimana-mana dan di-serve sangat cepat. Saya juga mencoba untuk bersepeda ke supermarket terdekat (yang akhirnya tidak saya lakukan lagi karena lokasiya yang sangat jauh).

Ada cerita menarik ketika saya pada hari yang sama kehilangan dompet lalu ditodong oleh orang hitam. Suatu hari pada hari Sabtu saya pergi ke kantor untuk bekerja (baca: cari makan gratis). Saat itu karena hari sudah siang dan sudah tidak ada shuttle ke Facebook saya jadi menggunakan Caltrain sambil membawa sepeda. Setelah bekerja beberapa jam (baca: main piano, makan, merampok micro-kitchen) saya memutuskan untuk kembali menggunakan sepeda sambil membeli oleh-oleh untuk Karol. Perjalanan agak jauh sehingga saya sampai lokasi sudah agak malam. Namun sesampainya disana ketika saya hendak membayar ternyata dompet saya hilang. "Waduh" pikir saya. Sepertinya jatuh ketika saya sedang naik Caltrain. Untungnya saya membawa recehan dalam tas saya yang bisa digunakan untuk membayar oleh-oleh tersebut dan sekaligus untuk pulang.

Dalam perjalanan pulang, saya naik bus yang bisa membawa sepeda. Waktu sudah menunjukkan sekitar pukul 10 malam. Saya pun ketiduran hingga kelewatan dua blok. Untung saya bawa sepeda pikir saya. Namun tempat ini, di sekitar San Jose, terlihat sangat sketchy. Banyak gelandangan dan anak-anak muda berpakaian rapi yang sepertinya hendak masuk ke bar. Saya pun berusaha untuk tidak memikirkan itu dan lanjut menghabiskan uang terakhir saya untuk membeli tiket bus terakhir untuk pulang.

Bus terakhir pun akhirnya datang. Saya naik bus tersebut, meletakkan sepeda saya di lokasi sepeda, lalu duduk di kursi paling pojok. Beberapa saat kemudian, empat pemuda berkulit hitam menghampiri saya. Mereka berkata meminta satu dolar dari saya. Saya bilang saya tidak punya. Lalu mereka meminta saya untuk memberikan tas saya sambil mengancam saya. Saya berikan saja karena toh tidak ada apa-apa. Lalu mereka meminta saya untuk meminjam iPhone saya beberapa waktu untuk mendengarkan lagu. Lalu mereka bertanya saya datang dari mana. Saya jawab saya berasal dari Indonesia. Lalu tidak lama kemudian mereka mengembalikan iPhone saya, turun dari bus sambil berkata "Assalamu 'alaikum" ke saya. Saya balas "Wa 'alaikum salam" sambil menghela napas lega.

Saya selamat sampai rumah. Namun tiga hari kemudian saya menyadari bahwa kartu kredit dan kartu debit saya ada di dalam dompet yang hilang. Lalu saya mengecek bahwa ada transaksi berlangsung di kartu debit dan kartu kredit saya. Totalnya mencapai 1200 dolar. Saya langsung menelepon ibu saya untuk memblok kartu kredit saya dan menelepon bank untuk memblok kartu debit saya. Tapi 1200 dolar tersebut tidak pernah kembali ke tangan saya.

Ada cerita lain ketika saya hendak pulang dari San Fransisco pukul 11 malam. Saat itu sudah tidak ada bus maupun Caltrain dan saya sudah lelah sekali. Saya sedikit kebingungan dan memutuskan untuk menginap di San Fransisco bila nanti tidak ada transport untuk pulang. Untungnya ada supir taksi yang menawarkan untuk mengantarkan dan berkata bahwa beliau bisa membawa sepeda saya dalam taksinya. Saya sangsi dan jujur saja, sepeda saya hampir rusak ketika sepeda tersebut dimasukkan ke dalam taksi. Namun untungnya saya sampai rumah dengan selamat. Ketika hendak membayar, supir taksinya bilang bahwa ongkosnya 1.5 kali lipat normal karena lokasinya jauh dan dia menunjukkan fakta tentang taksi bandara. "Wat de fak" pikir saya. Sudah tidak masuk akal, dia juga bukan taksi bandara (saya naik taksinya di stasiun Caltrain). Karena saya sudah ngantuk akhirnya saya bayar saja tukang taksi itu.

Pada akhir internship saya ditawari untuk kembali full-time. Karena saya belum akan lulus tahun depannya maka saya tolak dan saya minta untuk kembali untuk internship lagi. Namun itu adalah kisah untuk lain cerita.

--------------------------------------- END OF PART 3 ---------------------------------------


Mumpung lagi ngomongin supir taksi, saya berpikir bahwa kebanyakan supir taksi di US itu scam. Mengapa? Karena perhitungan taksi bandara. Status taksi bandara memungkinkan sang supir men-charge 1.5 kali cost taksi mula-mula. Hal ini dikarenakan.... mereka adalah taksi bandara. Mereka harus kembali lagi ke bandara untuk mendapatkan penumpang. Namun beberapa poin yang menurut saya off adalah:

  1. Tertulis $ x untuk y mil awal. Untuk mil-mil selanjutnya, cost-nya menjadi $ 1.5x. Artinya bila kita pergi sejauh 15 mil sebagai contoh, kita seharusnya dikenakan biaya (y) * x + (15 - y) * 1.5x. Namun bukan hal ini yang terjadi. Saya dikenakan biaya 15 * 1.5x (yang tentu berpuluh-puluh dolar lebih mahal). Hal ini sudah terjadi berkali-kali dan lucunya saya tetap saja tidak protes.
  2. Semua taksi (walaupun bukan taksi bandara) menggunakan tarif ini. Jadi jangan kaget bila anda dikenakan biaya 1.5 kali lipat biasanya.
Saya masih belum tau cara untuk menggagalkan scam ini. Maklum, saya orangnya ansos dan malas angkat bicara.

Saturday, 14 September 2013

Tips Bersuci A'la Indonesia

Post ini saya buat terinspirasi oleh post teman saya. Sebenarnya judul dari post ini mula-mula adalah "Cara Cebok Pake Tisu untuk Wong Ndeso" namun sepertinya terdengar terlalu... well... ndeso.


Latar Belakang Post


Jadi teman saya, sebut saja Sunni, sedang merintis boyband di Korea Selatan tepatnya di daerah Gwangju. Ia sedikit tidak nyaman dengan fasilitas toilet disana. Toilet disana tidak memiliki shower/gayung untuk bersuci setelah buang hajat besar (baca: buat cebok habis ngising). Yang disediakan hanyalah gulungan tisu atau kertas toilet. Kebetulan beberapa hari sebelumnya saya mendapat cerita keluhan serupa dari orang lain. Lalu saya berkesimpulan bahwa orang Jawa (atau disini saya generalisasi tanpa dasar sebagai orang Indonesia) tidak terlalu nyaman bersuci menggunakan tisu.


Darimana Tips ini Berasal


Sebelumnya saya ingin menceritakan bagaimana saya menemukan cara bersuci a'la Indonesia ini. Saya sebut a'la Indonesia karena saya pikir cara bersuci ini cocok dipraktekkan oleh orang Indonesia yang membutuhkan air untuk bersuci setelah buang hajat.

Saya adalah pengangguran yang kebetulan mendapat kesempatan beberapa kali ke luar negeri untuk lomba dan bekerja selama beberapa bulan. Beberapa tempat memang menyediakan toilet dengan shower untuk bersuci. Namun toilet di beberapa tempat yang saya kunjungi dan saya dengar hanya menyediakan tisu toilet. Saya sendiri pada mulanya merasa tidak nyaman menggunakan tisu, namun teman saya yang lain (saya link ke LinkedIn-nya siapa tahu pembaca ingin berterima kasih dan meng-endorse dia karena telah mengajari cara bersuci menggunakan tisu) memberikan saya trik-trik yang cukup menarik. Setelah saya praktekkan ternyata trik ini membuat saya gemar dan nyaman bersuci menggunakan tisu.


How?


  1. Sebelum melaksanakan ibadah berhajat, sediakan tiga gumpalan tisu. Basahi tisu kedua dengan air.
  2. Curhatlah (baca: curahan hajat) seperti biasa.
  3. Wipe your ass menggunakan tisu pertama (yang kering).
  4. Setelah merasa bersih, wipe your ass menggunakan tisu kedua (yang basah). Air yang telah diserap oleh tisu kedua ini akan memberikan kita "kepuasan" dan rasa bersih yang muncul bila kita bersuci menggunakan air biasa.
  5. Untuk mengeringkan dan kebersihan yang lebih baik lagi, wipe your ass menggunakan tisu ketiga (yang kering).
  6. Jangan lupa disentor hajatnya.
Cara membasahi tisu kedua bisa bermacam-macam. Bisa dengan keluar toilet dulu lalu membasahi tisu menggunakan air dari wastafel. Namun cara yang biasa saya gunakan adalah membasahi tisu tersebut dengan air yang ada di dalam toilet. Kalau tidak yakin airnya bersih atau tidak, sentor saja dulu toiletnya

Tips ini mungkin tidak cocok digunakan untuk semua orang. Semoga bermanfaat bagi anda.

Friday, 29 March 2013

The Tale of The Two


Alkisah seorang bocah, baru saja lulus SMP. Dia kesal dengan kehidupannya di SMP karena ia tidak memiliki banyak teman, sering dibuli, delusional dan memiliki riwayat yang buruk. Ia bersumpah untuk berubah pada masa SMA. Menjadi sedikit lebih sosial, lebih terbuka, dan lebih menerima. Dan tentu saja gagal. People change... but not overnight.

Bocah ini adalah seorang gamer akut. Berteman hanya dengan sesama gamer akut lain. Curangnya adalah, walau bocah ini memiliki kemampuan gaming yang sedikit lebih baik dari teman-temannya, bocah ini tidak memiliki kemampuan sosial sebaik teman-temannya. Masih bocah ansos yang manja.

Suatu ketika, dimalam yang ceria, bocah ini membantu teman-temannya dalam suatu festival yang diadakan sekolahnya. Sebuah bazaar. Dia menawarkan teman sekelasnya untuk menjajakan brownies buatan ibunya yang sangat ia suka. Sayangnya karena handmade dan dibuat dengan bahan-bahan yang mahal, brownies ini tidak laku karena terlalu mahal.

Ketika bazaar tersebut berlangsung, tiba-tiba mati lampu. Bazaar yang semula ramai membahana menjadi sepi. Banyak orang bermuram durja; termasuk seorang gadis yang bocah ini kenal sebagai salah satu gamer (yang tidak terlalu akut). Gadis ini menangis. Bocah ini mendekati gadis itu. Bocah ini tidak tahu menahu apa yang membuat gadis itu menangis, maupun bagaimana membuat gadis itu tersenyum lagi. Akhirnya bocah ini hanya duduk disebelah gadis ini, meminjamkan bahunya untuk bersandar dan mengatakan kata-kata yang saat ini telah lama ia lupakan.

Sejak hari itu, gadis ini jadi sering sekali mendekati bocah ini. Bocah ini tidak mengerti kenapa dan apa yang ia lakukan sampai gadis ini mengatakan bahwa ia suka pada bocah ini. Bocah ini yang masih tidak mengerti maksud kata-kata "suka" pun menganggapnya suatu humor belaka.

Hari terus berjalan. Gadis ini makin menunjukkan kesungguhannya. Ia menunggu hingga bocah ini pulang dari latihan olimpiade yang bisa sampai jam 5 sore. Gadis ini membuatkan bocah ini laporan praktikum ketika bocah ini pergi untuk berlomba. Gadis ini menuliskan kisah-kisah mereka di buku kelas, kesedihannya ketika ditinggal bocah ini dan kebahagiaannya saat mereka bersama. Semua orang termasuk bocah ini tahu kesungguhan gadis ini dalam cintanya terhadap bocah ini.

Bocah ini senang, karena untuk pertama kalinya ada lawan jenis yang benar-benar menyukai dia, mengingat masa-masa SMP nya dimana sepertinya ia tidak memiliki teman yang peduli dengannya. Bocah ini tidak memahami bagaimana berhubungan dengan manusia. Bocah ini tidak mengerti bagaimana membalas cinta gadis ini.

Dan bocah ini sadar, bahwa ia memiliki sisi gelap. Sisi gelap yang tidak diketahui orang-orang selain dirinya. Sisi gelap yang membuat ia tidak memiliki banyak teman. Sisi gelap yang tidak mungkin ia tunjukkan ke orang lain.

Sehingga bocah ini menolak affection gadis ini. Ia sebisa mungkin menunjukkan bahwa ia enggan berada di dekat gadis ini walau sesungguhnya ia nyaman dengan keberadaanya. Ia menampik semua gosip tentang mereka. Ia menyangkal bahwa ia juga memiliki perhatian lebih ke gadis ini. Ia menyebarkan dusta ke semua orang tanpa terkecuali. Karena bocah ini yakin, dia hanya akan membahwa petaka, kesedihan dan kemuraman untuk gadis ini. Gadis sebaik ini pantas mendapatkan lebih pikirnya.

Namun bocah ini tidak bisa memungkiri perasaannya. Ia masih memberikan perhatian lebih ke gadis ini. Ia memberikan hadiah yang tidak terpikirkan untuk sebatas teman biasa. Ia memberikan kasihnya pada masa kesedihan. Ia menemani gadis ini dalam perjalanan-perjalanan bahagia. Menjadi teman dalam canda dan tawa.

Hingga tiba saatnya mereka harus berpisah jalan. Bocah ini harus menjalani kuliah di tempat yang terpisah jauh dari gadis ini berada. Ia senang karena ia tidak harus melihat gadis ini tersiksa, menghabiskan waktu untuk cinta yang tidak mampu dibalas oleh bocah ini.

Dan tidak lama setelah mereka mulai kuliah, gadis ini menemukan tambatan hati dan kemudian pacaran. Walaupun terluka dan merasa terkhianati, ia sangat senang akhirnya gadis ini menemukan cinta yang berbalas. Tiga tahun kebersamaan mereka dapat dikubur dengan kehadiran hati yang lain dalam hitungan bulan. Namun dia merasakan kebahagiaan dan kelegaan dari lubuk hati yang terdalam karena akhirnya, gadis yang paling ia harapkan kebahagiaannya, dapat menemukan kebahagiaan tersebut.

Bocah ini pun kuliah. Dengan bekal kebahagiaannya memiliki teman-teman yang sejati selama SMA, ia memutuskan untuk berpetualang dalam dunia organisasi. Ia masuk keberbagai macam unit, menjadi orang yang berguna disana dan menjadi orang yang lebih dapat diandalkan. Ia lebih percaya diri, memiliki kepribadian yang lebih baik, namun masih mengingat jelas sisi gelap yang genggam sejak lama. Kesibukan membuat ia tidak memiliki banyak waktu untuk cinta.

Sesekali ia masih bertemu dengan gadis ini. Saat akhir tahun, saat lebaran, dan di beberapa kesempatan lain. Ia masih sering berkomunikasi dengan gadis ini. Gadis ini menceritakan tentang perjalanan asmaranya, sesekali bahagia, sesekali mengeluh, sesekali menggoda agar si bocah juga segera mencari tambatan hati. Walau tiap kata yang dikeluarkan gadis ini menyayat hatinya, bocah ini tetap penasaran dengan perjalanan cinta gadis ini. Ia ingin memastikan bahwa gadis ini bahagia. Apalagi gadis ini sangat kerap mengutarakan kata "putus."

Suatu ketika, bocah ini sudah tidak kuat lagi. Ia memberikan kado bertuliskan "Selamat Tinggal" untuk gadis ini. Ia menyuruh gadis ini untuk curhat ke pacarnya saja. Dan ia makin menyibukkan dirinya ke dunia organisasi dan kerja hingga prestasi akademiknya jatuh terpuruk.

Namun bocah ini masih luluh dengan permintaan gadis ini. Ketika cuaca buruk, ia masih datang menjemput gadis ini yang sedang bertengkar dengan pacarnya. Ketika pacar gadis ini "selingkuh" ia, masih senang menemani gadis ini berjalan-jalan. Ketika pekerjaan sedang sibuk-sibuknya, ia masih menemani gadis ini yang jauh-jauh datang ke kotanya untuk berlibur. Mungkin bocah ini merasa ia perlu membalas kebaikan gadis ini pada masa SMA.

Hingga suatu ketika, gadis ini putus dengan pacarnya. Benar-benar putus dan tak kembali lagi. Bocah ini sama sekali tidak merasakan kebahagiaan. Ia sangat sedih karena gadis ini akan kembali tidak bahagia. Ia berusaha untuk menyenangkan hati gadis ini, mendekatinya dan memberinya canda tawa. Tanpa terasa mereka sudah dekat lagi, seperti pada masa SMA, bahkan lebih.

Mereka saling menyapa on daily basis. Bertukar kado dan ucapan romantis disaat ulang tahun. Si bocah mengajak si gadis untuk nge-date, datang ke acara wisuda gadis itu dan mendekati keluarga gadis itu. Hingga pada suatu malam candaan kedua insan ini menjadi sebuah love confession.

Bocah ini ragu. Ragu apakah ia dapat membuat gadis ini bahagia. Ragu apakah ia benar-benar mencintai gadis ini. Ragu apakah ia mampu menentang keluarganya yang tidak menyetujui hubungan mereka. Ragu apakah ia siap meninggalkan kesibukannya demi gadis ini. Ragu apakah gadis ini mampu menerima sisi gelap yang telah ia sembunyikan sejak lama.

Ditengah keraguan ini, gadis ini menelepon bocah ini pada tengah malam. Gadis ini mengiyakan ajakan bocah ini untuk berpacaran. Mendengarkan suara gadis ini, keraguannya sirna. Ia yakin ia bisa membahagiakan gadis ini. Ia yakin ia bisa mencintai gadis ini. Ia yakin suatu saat ia bisa membuka dirinya sepenuhnya ke gadis ini.

Hari-hari dilalui. Dua sejoli ini makin mengenal satu sama lain. Mereka saling membuka lapisan yang membungkus hati mereka. Hari-hari terbang begitu saja untuk mengafirmasi cinta mereka. Pertengkaran dilewati layaknya pasangan suami-istri. Bocah ini makin yakin bahwa ia sangat menyayangi gadis ini.

Namun gadis ini belum mampu menerima sisi gelap dari bocah ini. Sesekali sepercik cahaya gelap dari dalam hati sang bocah tidak sengaja lolos, gadis ini terluka. Hati bocah ini hancur tiap kali melihat gadis ini menangis... karena dirinya.

Namun gadis ini kuat. Ia dapat kembali menantang sisi gelap ini berkali-kali dimana orang lain sudah menyerah; walau menatapnya saja ia tidak mampu. Ia selalu datang dengan semangat menggebu-gebu; dengan kebaikan dan ketulusan hati yang menyilaukan mata; dengan kasih sayang yang terus-menerus mengalir.

Bocah ini sedih bahwa suatu saat kegelapan akan menyelimuti gadis ini sebelum gadis ini dapat menerima kegelapan tersebut. Namun bocah ini percaya, bahwa suatu saat gadis ini mampu menerimanya seutuhnya. ia hanya bisa menunggu... dan memberi kesempatan...

Tuesday, 8 January 2013

To The Moon - For River

Jadi ceritanya setelah nge-stalk Bung Kai, bos-nya WJK (Wedang Jahe Kalengan), saya memutuskan untuk memainkan To The Moon. Konon kata beliau game ini adalah gabungan antara Inception dan Byousoku 5cm. Dan kata beliau, musiknya imba sugiru. Karena terdengar menarik, saya mencobanya untuk memainkan game ini. Toh katanya gameplay nya hanya sekitar 6 jam.

Johnny dan River
Ternyata benar. Game ini memiliki BGM yang imba sugiru. Lagu pertama yang dipersembahkan ke pemain adalah For River dan saya instantly captivated. Ceritanya sendiri cukup unik dan bagus menurut saya (dan gameplay nya sendiri hanya sekitar 3 jam). Terakhir, yang paling mengagumkan adalah game ini dibuat oleh satu orang sahaja (musik, artwork, script dan cerita). Orang ini pantas mendapatkan nobel prize.

Game ini menceritakan tentang sebuah perusahaan yang memiliki teknologi untuk mengabulkan permintaan. Permintaan ini hanya dikabulkan dalam pikiran orang itu saja. Dan orang yang keinginannya akan dikabulkan adalah orang yang sedang sekarat dan sudah hampir meninggal dunia. Bagaimana cara mereka mengabulkan permintaan? Ya, dengan masuk ke pikiran orang ini (terdengar familiar? Inception?) dan membuat sedikit perubahan pada masa lalu orang ini sehingga orang yang dimaksud mengambil keputusan yang berbeda pada hidupnya. Keputusan ini nantinya akan chaining ke masa depan sedemikian sehingga orang ini berhasil menggapai impiannya dan bisa meninggal dengan bahagia.

Yang membuat plot dari game ini menarik bagi saya adalah bagaimana dua tokoh utamanya (Dr Rosalene dan Dr Watts) berusaha untuk menggali masa lalu sang pasien sehingga mereka memiliki pemahaman tentang hidup sang pasien bahkan lebih dari pasien itu mengenal dirinya sendiri. Hal ini membuat saya berpikir, jangan-jangan kita juga sebenarnya membutuhkan orang lain untuk lebih mengenali diri kita sendiri, walaupun kita sudah melakukan introspeksi diri tiap hari sekalipun.

Saya memutuskan untuk memainkan piano versionnya dari "For River." Karena keyboard saya di kosan jelek, saya pinjem pianonya (dan kameranya) Sebastian, "guru" piano saya. Kurang memuaskan dari segi permainan dan rekaman, namun ini rekaman terbaik setelah berkali-kali merekam.


Agak loading pas main karena memang mainnya by-ear dan belum terlalu lancar. Komentar, kritik dan saran sangat diterima :D

Saturday, 29 December 2012

Interesting Sites


Interesting sites. To be read later.
  1. [Accounting] http://www.accountingcoach.com/online-accounting-course/60Xpg02.html and subsequently http://www.quora.com/Accounting/What-should-everyone-know-about-accounting
  2. [Programming] http://security.stackexchange.com/questions/19911/crime-how-to-beat-the-beast-successor/19914#19914

Tuesday, 20 November 2012

Jam Baru + River Flows in You

Halo halo,

Masih menggunakan iPhone ayahku tercinta, lagi-lagi saya meng-upload lagu. Kali ini saya menggunakan jam baru dari Mbak Lin.



Yang paling keren dari jam ini adalah... wadahnya. Bentuknya sangat-sangat-sangat-sangat mirip kaleng tuna/sarden/kornet.

Saya punya banyak sekali lagu yang ingin saya cover. I SAY YES! (wedding version), One More Time One More Chance, Crossing Field, ODDS & ENDS, etc. Terus pinginnya digabung sama biola biar epic. Sayang kemampuan saya pas2an. Sedikit lagu yang bisa saya mainin tanpa membuat kesalahan tiap 5 bar.

Akhirnya saya mainkan River Flows in You. Saya jatuh cinta pada lagu ini pada pandangan (pendengaran?) pertama. Yiruma-nim (bener ga ya?) bener-bener sakti membuat lagu yang simple ini menjadi suatu piece yang cantik dan eargasming. Cover saya jauh dari bagus, apalagi kalau dibandingin sama Yiruma punya. Tapi lagu ini saya persembahkan sebagai tanda kembali-nya The Orange Watch, dan tentunya terima kasih kepada Mbak Lintang yang sudah membelikan jam ini :D



Cover ini dimainkan by ear, ngga pakai partitur, jadi mainnya sangat cupu bin gampang. Masih pusing kalau baca piano sheet :(

Thursday, 1 November 2012

Random thought Oktober

Yosh, kembali setelah satu bulan vakum!
  1. Lagi puasa Twitter, jadi kalo kepikiran sesuatu bakal ditulis disini!
  2. Bulan ini banyak teman-teman yang lulus, tapi rasanya sudah gak sedih lagi. Mungkin sudah terbiasa akan perpisahan? Apakah ini pertanda saya sudah siap untuk pergi jauh untuk satu tahun?
  3. [Facebook] Chance untuk ngambil Facebook offer: 58%. Habis di brainwash sama Om Adi jadi makin merasa harus balik ke Facebook.
  4. Day by day, I'm losing my ability to make anything to perfection. The good thing is, my skill to make things work in the first time improves!
  5. [All Manga Mobile] Sudah hampir dua bulan tidak ngurus All Manga Mobile lagi. Merasa sangat bersalah. Maap ya AMM. Kamu tidak menghasilkan ratusan juta sih...
  6. It's been a long time since I'm expecting short message. Kinda nostalgic...
  7. Lagi seneng main console lagi (Tales of Graces F). Cerita-nya dangkal, tapi gameplay-nya menarik, penuh mini-game, seru dan menantang.
Tales of Graces F

Saturday, 8 September 2012

Random thought August

Aku sibuk sekali #Shinchan:

  1. [Facebook] Dapat satu dari 6 Hackathon terbaik this summer. Tentang apa Hackathon-nya? Nantikan saja hasilnya nanti. Clue: tentang Android :)
  2. Sebentar lagi pulang... Harus berhadapan dengan proyek, TA, catch up with life, dan serbuan ide yang udah siap keluar dari kepala.
  3. [Facebook] Dapat full-time offer dari Facebook. Yang membuat saya bangga dengan achievement ini adalah, hanya 30-40% bagian dari saya yang bekerja di Facebook. Sisanya? Digunakan untuk proyek dan bikin All Manga Mobile donk!
  4. Tahun kedua lebaran tanpa keluarga. Can't get used to it. Walau kalau pas acara-nya suka ansos sendiri, selalu kangen dengan kumpul-kumpul keluarga tiap lebaran.
  5. I love crowd, though not necessarily have to be part of them. #NewRealization
  6. Sudah nulis blog post tentang pengalaman internship saya selama dua tahun di Facebook (dari apply sampai pengumuman hasil). Terkesan sangat galau, jadi mohon dimaafkan.
  7. Selama internship tahun ini, saya telah bersepeda sejauh 250 mil! Kira-kira sekitar 402 kilometer!
  8. I love LiSA AAAAAAAAAAAA

Tuesday, 28 August 2012

Short Story tentang Mahasiswa ITB yang Internship di Facebook part 2


Yeah, part 2. Bagi yang belum baca part 1 nya, silakan dibaca di sini.

------------------------------------- START OF PART 2 ---------------------------------------


Jam delapan pagi. Hari ini saya hanya tidur dua jam. Saya ingat jam delapan pada dua tahun lalu memiliki arti  khusus. Jam delapan pada dua tahun lalu adalah saat saya mendapatkan keputusan bahwa saya diterima untuk internship di Facebook.

Dua minggu berselang saya mendapatkan keputusan bahwa saya lolos interview pertama. Tidak ada kabar dari Kinh. Saat itu saya sedang mengikuti kompetisi pemrograman Gemastik bersama Irvan dan Karol di Surabaya. Kami hanya mendapatkan juara dua saat itu. Pada malam harinya saya memutuskan untuk meminjam internet dari Karol untuk mengecek email. Diluar dugaan, ternyata ada email dari Natalie (recruiter yang menjadwalkan interview saya) yang menyatakan bahwa saya sudah dijadwalkan untuk interview besok. Saya langsung panik karena saya masih di Surabaya dan saat itu internet tidak memadai. Saya langsung meng-email Natalie tentang situasi saya dan kami setuju untuk melakukan interview lusa tengah malam saat saya sudah pulang ke Bandung.

Singkat cerita saya ditelepon pada tengah malam. Lagi-lagi suara seorang pria terdengar sebagai lawan bicara saya. Basa-basi yang ia lakukan jauh lebih singat dan ia langsung memberikan pertanyaan. Ia memberikan tiga buah pertanyaan yang menurut saya cenderung lebih mudah dari interview sebelumnya. Dari hasil pembelajaran pada interview sebelumnya, setelah saya memberikan solusi, saya langsung memberikan test case bagaimana saya menguji solusi saya. Interview ini berakhir dengan sangat lancar.

Malam itu saya tidak bisa tidur cepat. Saya terlalu excited karena saya yakin interview kali ini sangat sukses. Setelah bermain DoTA satu ronde dan melanjutkan membuat proyek sejenak, saya tidur pukul 4 pagi.

Jam delapan pagi saya bangun. Saya mendapat email dari Kinh yang mengatakan bahwa ia ingin menelepon saya sekarang. Kebetulan email itu baru dikirim setengah jam yang lalu. Saya segera membalas bahwa saya sudah bangun dan siap ditelepon. Dan pada saat itu ia menyatakan bahwa saya lolos interview dan sekaligus terpilih sebagai intern musim panas di Facebook periode 2011.

Saya sangat senang. Saya melompat-lompat kegirangan seperti kangguru, atau kelinci, atau belalang, atau apapun yang melompat-lompat. Alwi yang sepertinya baru bangun bertanya: "Ada apa to, Go?" Dan saya ceritakan bahwa saya lolos interview di Facebook. Singkat setelahnya satu kontrakan (yang berisi 5 orang) menyelamati saya. Saat itu saya merasa bahwa saya telah menaklukkan dunia.

Berita menyebar sangat cepat. Saya yakin saya tidak pernah menceritakan tentang diterimanya saya di Facebook selain kepada keluarga saya dan beberapa teman baik saya (dan status Facebook yang sangat implisit). Namun bahkan rekan proyek saya dari SBM mengenali saya sebagai orang yang akan intern di Facebook.

Bukannya saya tidak suka menjadi orang populer, tapi saya merasa terganggu dengan hal ini. Selain orang-orang menjadi memiliki ekspektasi berlebihan terhadap saya dan memberikan stereotype yang sampai saat ini saya pegang: orang Facebook, Facebook-er, or such. Saya tidak menyukai hal ini. Apabila seorang teman mengingat saya, saya ingin ia mengingat saya sebagai teman berjuang bersama, teman bermain DoTA, teman dengan sense musik yang sama; bukan sebagai manusia unknown yang pernah bekerja di Facebook.

Dari sini saya menghabiskan banyak waktu menyiapkan visa. Masalah pertama adalah: paspor saya akan kadaluarsa pada waktu internship, padahal internship-nya masih lama. Hal ini membuat paspor saya tidak dapat diperbaharui (karena belum waktunya). Namun saya tidak punya waktu untuk menunggu hingga paspor-nya kadaluarsa karena mengurus visa membutuhkan waktu yang cukup lama. Akhirnya saya berhasil membuat paspor dengan memalsukan bahwa "paspor saya hilang." Dengan cara ini saya berhasil mendapat paspor baru.

Setelah mengurus paspor, saya mengurus tiket untuk pulang-pergi. Facebook saat itu bekerjasama dengan Carlson Wagonlit untuk masalah transportasi. Saya hanya perlu memberikan tanggal, tujuan dan informasi paspor dan saya mendapatkan tiket pulang-pergi gratis.

Setelah itu saya mengurus visa ke CDS (sekarang Cultural Vitae). Saya diharuskan memiliki transkrip dan surat pernyataan bahwa saya masih kuliah di ITB. Setelah itu saya mengisi essay mengenai mengapa saya ingin ke US, apa yang saya harapkan dari internship di US, dan essay-essay sejenis. Proses ini diakhiri dengan interview singkat dari CDS untuk memastikan saya bisa berbahasa Inggris dengan baik dan benar.

Proses terakhir adalah proses yang paling menyebalkan, mengurus visa ke kedubes. Banyak form yang harus diisi, dokumen yang harus dibawa dan ketentuan yang perlu dipatuhi. Singkat cerita setelah mendapatkan dokumen-dokumen yang dibutuhkan, membuat pas foto dan membayar fee, saya harus pergi ke kedubes pukul 6 pagi untuk interview. Disana saya masih harus menunggu hingga pukul 11 siang untuk mendapatkan interview. Mengantri untuk interview cukup menegangkan. Hal ini dikarenakan 3 orang didepan saya tidak diterima aplikasi visa-nya (ya, interview-nya terbuka). Saya tidak terlalu ingat alasannya. Saya yang mengantri diakhir barisan menjadi grogi. Namun ternyata aplikasi visa saya diterima dengan cepat.

Pada akhir April saya sudah siap. Paspor baru, tiket pesawat untuk pulang-pergi, apartemen yang sudah disewakan kan oleh Facebook selama 3 bulan, dan visa sudah ditangan. Tepat ketika saya merasa cukup siap dari segi non-teknis, HR Facebook mengontak saya dan memberi tahu tim dimana saya akan bekerja dan mentor yang akan "mengurus"saya selama 3 bulan. Everything finally fell in its places and I was very excited.

Dengan sigap saya langsung mengontak mentor saya, Chris Tice. Yang pertama saya lakukan tentu mengirim dia email. Kebetulan ketika saya mengirim email itu Chris sedang ulang tahun. Jadi selain perkenalan saya sekaligus menyelamati dia. Setelah itu saya langsung add dia sebagai friend, dan mengirim beberapa pesan-pesan perkenalan.

Diluar dugaan, yang ia balas pertama kali adalah email. Ia berterima kasih dan menyebutkan bahwa saya akan bekerja di proyek yang namanya tidak bisa saya sebutkan. Ia juga memberitahu saya tools dan framework yang harus saya pelajari (yang tidak bisa saya sebutkan juga). Saya lalu menghabiskan beberapa hari untuk mempelajari framework yang diberikan. Sayangnya karena framework tersebut masih baru dan dokumentasinya minim, saya mengalami kesulitan untuk mendapatkan esensi dari framework tersebut.

Dengan sebuah koper besar penuh baju, laptop mini yang tidak bisa di-charge, kemampuan berbicara Bahasa Inggris yang pas-pasan dan pengetahuan tentang medan pertempuran di Facebook yang minim, saya berangkat ke US pada tanggal 17 Juni 2011.

--------------------------------------- END OF PART 2 ---------------------------------------

Wah yang ini mulai gak niat nulis-nya. Nulis-nya di-postpone dulu deh biar quality nya sama dengan sebelumnya >.<

Wednesday, 1 August 2012

Random thought July


Busy these days :(
  1. [Android] Apparently when you clean your Android project on Eclipse, it will generate new id on R.java. And there's this small probability it will make your app works on some OS and crash on the other. Fuck!
  2. Akhir-akhir ini sering kagum dengan beberapa pekerjaan where my code "just work. Dimana kode-nya kadang-kadang bekerja lebih bagus dari perkiraan. This is not exactly a good thing tapi kejutannya cukup menyenangkan :).
  3. Punya ide startup yang cukup solid. Moga-moga ada waktu untuk nyicil.
  4. Dapat ide aplikasi mobile. Sangat simple. Moga-moga tidak di-banned oleh Google Play nanti :(
  5. [Facebook] Hackathon di Facebook! Niatnya gak mau ikut lagi. Tapi gara-gara Hendri >.<

Saturday, 28 July 2012

Short Story tentang Mahasiswa ITB yang Internship di Facebook part 1

Warning: tulisan ini banyak berisi ratapan dan kegalauan seorang mahasiswa. Tidak dianjurkan dibaca saat anda sedang bahagia.

------------------------------------- START OF PART 1 ---------------------------------------

Sruput. Mie instan dua bungkus sedang saya lahap sebagai sahur saya untuk persiapan puasa hari ini. Hari ini tanggal 28 Juli 2012. Sebentar lagi subuh di Palo Alto dan saya sedang merenung karena seringnya ditanya oleh teman-teman: bagaimana cara bisa internship di Facebook? Bagaimana rasanya?

Saya ingat 2 tahun lalu ketika saya masih tingkat 3 awal, saya sibuk sekali mengerjakan banyak hal. Proyek, mengajar untuk TOKI, himpunan, dan kerja part-time. Saya hampir tidak peduli dengan kuliah. Merenungi saat-saat itu saya jadi merasa bahwa saat itu saya sedang mencari jati diri saya. Namun saya yakin, diri saya yang dahulu hanya memiliki satu pikiran: "jalani saja apa yang diberikan oleh dunia kepadamu." Hingga saat ini pun saya masih berpikir demikian.

Istilah internship masih asing bagi saya saat itu. Saya hanya berpikir bahwa internship di Facebook berarti kita akan pergi ke Facebook untuk belajar. Namun ternyata internship di Facebook berarti kita akan pergi ke Facebook untuk bekerja.

Dan saat-saat itulah saya mendengar kabar bahwa salah satu teman saya, Irvan, sedang di-interview untuk internship di Facebook. Saya cukup mengenal Irvan. Saya kira-kira tahu dari mana ia mendapat tawaran tersebut dan saya yakin saya bukanlah orang yang qualified untuk hal tersebut. Apalagi saya tidak memiliki banyak pengalaman dalam berbicara Bahasa Inggris. Jadi ketika Irvan menawarkan saya untuk di-refer untuk interview, saya hanya angguk-angguk dan menerima email recruiter yang ia berikan ke saya. Toh, tidak ada salahnya saya menyimpan email orang yang tidak saya kenal barang satu atau dua.

Kebetulan kami yang sudah tingkat tiga akhir diharuskan untuk melakukan kerja praktek. Kerja praktek ini pada umumnya berlangsung sekitar satu sampai tiga bulan. Kerja praktek ini juga harus dilaksanakan di tempat yang "jelas." Saat itu saya sudah memiliki pekerjaan sambilan, yakni menjadi programmer untuk Zingmobile. Saat itu bekerja untuk Zingmobile merupakan pengalaman yang baru dan menyenangkan. Jadi saya tidak terlalu berpikir untuk mencari kerja di tempat lain dan saya merasa relatif aman.

Diluar dugaan Irvan tidak diterima untuk internship di Facebook. Tentu saja hal ini makin memantapkan saya untuk tidak mencoba. Saya adalah manusia yang sudah sering merasakan kegagalan dan kekecewaan. Saya memutuskan untuk melanjutkan kehidupan normal saya yang sudah cukup amburadul agar tidak perlu mengenal kegagalan lagi.

Namun perlu diketahui, setelah interview dengan Facebook, Irvan melakukan interview dengan Google dan diterima. Menurut saya itu adalah pencapaian yang luar biasa mengingat usahanya yang sangat keras mengejar materi tentang Computer Science dan Software Engineering dengan membaca banyak buku-buku berat. Saya pernah berusaha membaca satu-dua buku rekomendasinya dan tertidur dalam 40 halaman pertama.

Tidak lama setelah itu, sekitar bulan Agustus, saya mendengar bahwa Adhit juga mendaftar untuk interview di Facebook melalui link lain. Saya yakin Adhit pasti sudah mendengar berita tentang Irvan. Saya mengagumi keberanian Adhit untuk mencoba, sehingga saya juga terpacu untuk mencoba. Saat itu saya mulai mengerjakan Facebook puzzle.

Hari demi hari saya habiskan untuk meratapi dan melakukan problem solving yang sudah sekian lama tidak saya lakukan. Soal demi soal saya kerjakan dengan teknik OOP, yang tidak umum digunakan untuk problem solving. Hal ini dikarenakan saya lebih terbiasa menghadapi segala hal dari sudut pandang OOP. Saya teringat kembali bagaimana dahulu saya sempat mengalami masa-masa trance dimana saya hanya tidur dua jam selama tiga minggu berturut-turut hanya untuk mengerjakan USACO.

Setelah cukup yakin dengan apa yang saya raih dalam mengerjakan puzzle, pada bulan September saya memutuskan untuk meng-email recruiter yang diberikan oleh Irvan. Saya masih ingat bahwa email saya sangatlah awkward. Tidak ada perkenalan, tidak ada basa-basi. Tiba-tiba saya menyodorkan CV dan meminta untuk interview. Tidak lama setelah itu recruiter saya, Kinh, membalas. Ia menanyakan darimana saya mendapatkan emailnya, dan beberapa hal basa-basi yang lupa saya lakukan sebelumnya. Setelah bertukar beberapa email, Kinh memutuskan untuk menelpon saya untuk interview singkat via Skype.

Saya grogi ketika akan ditelepon. Ini pertama kalinya saya akan menggunakan Bahasa Inggris untuk keperluan kerja. Saya bahkan tidak pernah berbicara Bahasa Inggris lebih dari 5 menit sebelumnya. Ketika ditelepon, ternyata internet saya kurang kuat. Akhirnya kami berbicang menggunakan telepon asli. Walau suara-nya tidak terlalu jelas, namun logat Amerika Kinh sangat membantu saya untuk melakukan percakapan. Singkat cerita percakapan kami diakhiri dengan Kinh menyuruh saya untuk mengerjakan puzzle tersulit Facebook.

Cukup lama waktu yang saya habiskan untuk mengerjakan puzzle tersebut. Saya habiskan satu hari untuk memikir berbagai macam algoritma. Hari kedua saya habiskan untuk membuat implementasi dan mengirim solusi. Dua hari berikutnya saya gunakan untuk membenarkan solusi dan membuat solusi alternatif hingga akhirnya saya berhasil memecahkan puzzle tersebut. Malamnya saya langsung memberitahu Kinh bawa saya sudah menyelesaikan puzzle yang ditugaskan.

Dua hari kemudian Kinh mengatakan bahwa saya akan di interview teknis selama satu jam. Malam itu tidak terlalu dingin namun saya menggigil kediningan karena grogi dengan interview teknis pertama saya. Saya meminta teman sekontrakan saya untuk tidak menggunakan internet pada saat saya interview dan teman-teman saya yang baik menyetujuinya. Sehingga pada interview kali ini Skype berjalan dengan sempurna.

Kring...kring... suara notifikasi telepon di Skype berdering. Jadwal interview adalah pukul 00.30 dan telepon berdering tepat ketika waktu memasuki menit ke 30 pada hari itu. Sangat tepat waktu pikir saya. Yang menjadi lawan bicara saya adalah seorang pria, engineer Facebook yang sudah bekerja selama 2 tahun disana. Ia dengan santainya melakukan percakapan santai selama 2 menit. Setelah itu kita masuk ke real-deal nya, interview teknis.

Ia menyuruh saya membuka editor online yang dimana saya bisa membuat kode secara live disana dan ia dapat membacanya. Saat itu saya menggunakan Collabedit. Lalu ia memberikan sebuah pertanyaan. Saya habiskan beberapa menit untuk mengerjakan pertanyaan-nya dan beberapa menit untuk menjelaskan apa yang saya tulis di editor. Ia menanyakan test case apa yang saya gunakan untuk memastikan jawaban saya benar. Lalu saya memberikan beberapa test case dan ia baru yakin bahwa jawaban saya benar.

Lalu ia memberikan pertanyaan kedua. Pertanyaan kedua relatif lebih sulit dari yang pertama. Saya menghabiskan beberapa menit untuk memikirkan algoritmanya. Setelah mendapat secercah ide, saya langsung menuliskan solusi saya. Kali ini saya langsung memberikan test case yang saya gunakan untuk mengujinya. Namun saya mengalami kesulitan untuk menjelaskan algoritma yang saya gunakan dalam menyelesaikan pertanyaan kedua. Setelah beberapa menit berlalu, interviewer saya percaya dengan solusi saya.

Ia lalu bertanya apakah saya punya pertanyaan untuk dia. Saat itu saya menanyakan tentang bagaimana Facebook bisa menangani arus data yang sangat besar. Saya tidak ingat jawaban dari dia karena penjelasannya sangat rumit. Yang saya ingat adalah saya merasa excited dengan interview tersebut. Namun pada saat itu saya tidak memiliki harapan untuk lolos. Karena saya cukup meragukan apakah saya telah menjelaskan solusi terhadap pertanyaan kedua dengan baik atau tidak. Setelah menjelaskan tentang arus data di Facebook, kami menghentikan pembicaraan dan saya langsung tidur. Ngomong-ngomong soal tidur, saat ini sudah saatnya saya menarik selimut tebal saya yang empuk dan menikmati tidur.

--------------------------------------- END OF PART 1 ---------------------------------------

Hiyaa, maap kalau gayanya sok novelist tapi gak jadi. There's a first time for everything right? Btw nantikan part-2 nya :)

Sunday, 15 July 2012

Perbandingan Performa SharedPreferences dan SQLite

Yup bersama saya lagi bermain-main dengan Android! Kali ini saya ingin membahas tentang SharedPreferences dan SQLite sebagai pilihan untuk menyimpan data pada Android.

Pembuat aplikasi Android pasti suatu saat akan menemui suatu permasalahan tentang penyimpanan data. Bagaimana cara menyimpan data? Bagaimana data itu disimpan? Dimana harus disimpan? Jawaban dari pertanyaan itu dapat dijawab dengan membaca tutorial Android disini. Menurut saya tutorial itu sudah cukup memberikan pengantar yang cukup untuk memulai merambah dunia simpan-menyimpan di Android (sehubungan dengan simpan-menyimpan, saya jadi ingat dengan "simpanan" saya. Tapi itu untuk lain cerita).

Apabila si pembuat aplikasi ini sudah mulai advance, ia akan mulai bingung antara "apakah saya harus menggunakan SharedPreferences atau kah saya harus menggunakan SQLite?" dengan asumsi kita tidak memperdulikan penyimpanan di storage (internal maupun eksternal). Karena sudah dipastikan penyimpanan di storage itu lambat (akan disinggung sedikit nanti mengapa penyimpanan di storage itu lambat). Seperti kita ketahui, SharedPreferences hanya dapat menyimpan data dalam bentuk key-value pair sehingga mudah dimodifikasi. Sedangkan SQLite hanya dapat diubah dengan membuat query SQL.
Ini ngomongin apa sih? Saya maunya pake Hadoop saja >:)
Di sebuah post di StackOverflow sudah dibahas tipe penyimpanan mana yang harus anda gunakan pada suatu kondisi tertentu. Inti dari post itu adalah: Gunakan SharedPreferences bila data-nya kecil dan bermacam-macam. Gunakan SQLite bila data-nya besar, terstruktur dan sedikit macam-nya. Contoh data yang ingin anda simpan di SharedPreferences adalah: "opsi apakah user ingin mendapatkan notifikasi", "opsi apakah user hanya ingin mengunduh data dari internet ketika terhubung dengan wireless", "berapa kali notifikasi harus dilakukan tiap hari" dan berbagai macam data yang kecil yang lain. Contoh data yang ingin anda simpan di SQLite adalah: "daftar manga yang di bookmark oleh user", "contact list", "kumpulan teman-teman yang baru saja saya miss-call" dan berbagai macam data yang terstruktur yang lain.

Namun anda yang suka bermain Javascript atau fanatik dengan JSON akan berargumen: "Bitch please! Saya bisa mengubah data saya, misalnya Manga, menjadi sebuah JSON lalu saya simpan ke SharedPreferences. Manga saya nanti punya sebuah key, misal URL darimana Manga tersebut diambil, untuk mendapatkan Manga yang saya mau dari SharedPreferences dengan mudah. Solusi ini mudah dibuat dan sangat mudah dikembangkan! Semua-nya jadi rata ke SharedPreferences! Screw SQL!"
JSON can save the world! JSON can even kill and fight Freddy!
Baik saya sangat setuju bahwa dengan SharedPreferences pasti perlu digunakan (untuk setting, konstanta-konstanta kecil, menyimpan versi terakhir yang digunakan, menyimpan waktu update dari internet terakhir kali, dan lain sebagainya). Sedangkan seperti yang telah disebutkan diatas, SQLite tidak sepenuhnya dibutuhkan dengan alasan struktur yang kita butuhkan dapat dikompres dengan mudah kedalam JSON lalu kita simpan sebagai String biasa. Tapi bagaimana kalau kita tinjau dari segi performa?

Pertama SharedPreference akan makin lambat seiring dengan banyak-nya data yang disimpan dalam SharedPreference tersebut. Lambat disini hanya terjadi saat aplikasi mulai dijalankan. Misal anda menyimpan segala sesuatu di SharedPreference SPMangaMobile. Maka suatu saat apabila terlalu banyak Manga yang anda simpan di SPMangaMobile ini, untuk bisa me-load opsi-opsi trivial seperti "kapan terakhir kali aplikasi ini di-update" akan memakan waktu sangat lama. Samsung Galaxy Mini saya merasakan 5 detik startup hanya untuk memulai aplikasi karena saya menggunakan cara ini.

"Kalau begitu, pisahkan saja SharedPreference yang bersifat struktural, seperti Manga, ke SPManga. Sedangkan untuk yang lain, masukkan ke SPMangaMobile." In a way, solusi ini cukup benar sampai anda punya 1 MegaByte data. Me-load 300kB data saja membutuhkan waktu hingga hampir 1200 ms! Dan ini dilakukan di Android yang tidak sembarangan: Galaxy Tab 8.9" dengan processor Tegra 2 dual core 1 GHz! Bayangkan berapa lama waktu yang dibutuhkan di Galaxy Mini?


Tiap kali pengguna memulai aplikasi, pengguna harus menunggu selama 516 ms untuk  mempersiapkan SharedPreferences. Another 720 ms untuk mendapatkan data yang dibutuhkan.
Selebihnya program menghabiskan rata-rata 720ms untuk mengolah data hingga dapat digunakan.
Wow. Pengguna Android sekarang pasti akan mulai membanting HP-nya apabila HP-nya berhenti me-respon dalam waktu lebih dari 3 detik (ya, pengguna Android se-tidak-sabaran itu). "Nexus gw gak mungkin selambat itu! Yang lambat itu cuma BB!" Baik, coba tunjukkan waktu yang dibutuhkan bila menggunakan SQLite! Segera komandan!
3685 ms adalah waktu yang dibutuhkan untuk mem-backup database ke eksternal storage (karena itu saya bilang menyimpan di storage itu lambat). Hal ini hanya dilakukan sekali saja  setiap kali anda mengubah definisi database (misal menambah kolom pada suatu tabel). Jika anda pintar, database hanya perlu dibuat sekali saja :)
Loh tapi ternyata performa-nya tidak berkembang sama sekali! Penipuan ini namanya!
Ya, bisa anda lihat bahwa performa menggunakan SQLite tidak berbeda jauh dari menggunakan SharedPreference. Lalu apa gunanya donk kita menggunakan SQLite? Tunggu dulu! Mari kita simak lagi.

Berbeda dengan apabila kita menggunakan JSON terstruktur pada SharedPreferences, pada SQLite kita bisa mengambil data-data yang kita perlukan saja (dengan menspesifikasikan query yang tepat). Misalnya untuk kasus ini, saya hanya ingin mengambil judul, url, dan rating dari suatu Manga. Saya tidak peduli dengan deskripsi, genre, maupun data-data yang lain. Tentu hal ini bisa meningkatkan performa! Tapi sebesar apa? Mari kita lihat!
Karena sudah di-backup sebelumnya, kali ini kita hanya melihat waktu yang dihabiskan oleh aplikasi untuk menyiapkan data yang siap ditampilkan.
Yes! Akhirnya peningkatan performa! Kali ini aplikasi dapat me-load data dalam waktu hanya 231ms saja! Tiga kali lebih cepat dibandingkan sebelumnya!

Dari percobaan ini saya kembali ke kesimpulan yang sebelumnya telah dibuat oleh suatu post di  StackOverflow : Gunakan SharedPreferences bila data-nya kecil dan bermacam-macam. Gunakan SQLite bila data-nya besar, terstruktur dan sedikit macam-nya.


Sekian dari saya. Seperti biasa, komentar dan tanggapan sangat diterima :)

Saturday, 30 June 2012

Random Thought June

Juni datang! Waktu musim panas dan liburan telah tiba!

  1. [All Manga Mobile] Akhirnya nge-release All Manga Mobile! Pada dua hari pertama agak kacau. Sistem biling nya Google nge-bug sesaat, akhirnya server nya over-quota. Karena server over-quota, jadi ga bisa diakses dan aplikasinya jadi ga guna. Akhirnya pada hari itu banyak yang ngasih rating jelek :(
App Engine yang quota-nya sedikit dan mahal :(
  1. [All Manga Mobile] Lagi memikirkan bagaimana men-support banyak manga source sekaligus. Saat ini All Manga Mobile sudah men-support 6 manga source dimana secara UI masih enak dilihat. Tapi bayangkan kalau sudah ada 20 manga source!
  2. Meninggalkan banyak proyek di Indo (and a big one on top of that). Semoga yang ditinggalkan kuat untuk mengerjakannya. Amin.
  3. Cukup senang sampai saat ini masih berhasil men-juggling 4 kerjaan sekaligus (Facebook, Bangunindo, All Manga Mobile dan satu proyek pribadi).
  4. Sedih sekali melihat teman-teman pada lulus. Mereka akan hidup di jalan nya masing-masing sekarang dan mulai menjalani kehidupan yang sepi dan membosankan. Good luck my friends. We will need it.
  5. [Android] ActionBar tidak berfungsi untuk ActivityGroup (yang sudah deprecated) pada Ice Cream Sandwich. Padahal di Honeycomb masih berfungsi dengan baik.
  6. [Android] Sesedikit mungkinlah menggunakan AsyncTask. Dan jangan lupa untuk meng-cancel AsyncTask yang tidak digunakan (misalnya setelah Activity berakhir). Karena bila tidak, ketika Activity berakhir dan AsyncTask masih berjalan, AsyncTask ini akan berjalan terus menerus (istilahnya zombie thread). Hal ini mengakibatkan program tidak bisa menjalankan Thread lain (tidak hanya AsyncTask lain) dan bahkan menutup aplikasi tidak membantu ini. So use AsyncTask moderately and with a grain of salt.
  7. [Android] Perlu ditekankan, AsyncTask itu selalu di set sebagai Thread dengan LOW_PRIORITY. Jadi apapun yang dikerjakan di AsyncTask sangatlah lambat. Bila perlu prioritas dalam melakukan suatu pekerjaan, buatlah Thread sendiri.
  8. Random pic:
I don't know what I was thinking that time

Saturday, 2 June 2012

Random Thought May

May the 4th be with you
  1. How you become a main character? It is by knowing when you should be one and when you should be not.
  2. Been recording myself for months now and my voice is definitely improving. At this rate I should be able to sing on my brother's wedding party :)
  3. I like the feeling that being an intern at Facebook already feels natural to me. It doesn't have any special feeling anymore to it except me being over-and-sicking-ly famous. Can't wait for the second one and do my best there.
  4. Been drawing this month. Hope anyone like it. Still I'm not satisfied with the result :(
Chitoge Kirisaki
Maria Otonashi


Monday, 30 April 2012

Random Thought April

April. Not really having lot of personal thoughts.
  1. Apakah saat paskah sering ada pemberian hadiah? There's a huge improvement in Manga Mobile's ads income in easter week.
  2. Suugaku Girl. Manga keren banget tentang pembahasan matematika yang cukup advance. Bahkan ada penurunan rumus Fibonacci dan pembuktian bahwa jumlah bilangan prima itu tak terbatas. Simply brilliant!
  3. Waking up early -> analyzing why do I wake up so late lately -> ended up waking up late.
  4. Beberapa hari ini aku melakukan eksplorasi manga dari manga yang memiliki rating tinggi hingga rendah. Dari pengamatan ini dimana aku membaca manga dengan rating tinggi baru yang rating rendah, aku memahami satu hal yang menarik: manga dengan rating tinggi maupun rating rendah memiliki beberapa kualitas yang sama. Manga dengan rating rendah bisa memiliki gambar yang bagus, plot yang menarik, cerita overall yang breath taking. Namun manga dengan rating tinggi memiliki koneksi antara satu gambar dengan gambar yang lain, memiliki percakapan yang mudah dipahami, dan memiliki progress yang sesuai dengan harapan pembaca (tidak terlalu cepat dan tidak terlalu lambat, tidak tiba-tiba cepat dan tidak tiba-tiba lambat). Manga dengan rating bagus tidak akan membiarkan ending-nya berakhir dengan "Hah? WTF was that?" tapi lebih kearah "Hah? WTF tamat! But I wonder...."
  5. Another way of seeing "It must be nice to live having no worries and such" is "They think you're an idiot"
  6. Bulan ini banyak meng-explore hal baru tentang Android. Moga-moga bisa di post secepatnya :)