There is always the tough woman behind a great man
Ramadhan tahun lalu gue sering sahur di kantor. Kantor jadi tempat sahur yang lebih ideal daripada kosan karna ramai dan banyak yang bersedia membangunkan bahkan dititipi pesanan makanan.
Ramadhan tahun ini lebih spesial tapi tidak jauh berbeda dari Ramadhan sebelumnya. Gue masih mendapati bangun tidur sendirian, tapi dengan mendengar suara kompor atau wajan yang beradu dengan spatula dari arah dapur.
There is always the tough woman behind a great man yang enggak kelewat waktu sahurnya
Android Game : Squarezoo

Jadi game developer bukan berarti bakal punya banyak game yang bisa dipamerin. Game yang dibuat banyak, tapi tak cukup banyak yang bisa di share dan dengan bangganya bilang “ini game gue”.
Sebagai game programmer di studio “gamification”, kebanyakan game yang gue buat adalah milik klien. Klien request, studio sepakat, gue bikin, klien oke, game jadi milik mereka. Selain itu, game dibuat secara tim, mau sendiri beresin game jadi hal yang teramat sulit. Seperti Angkot The Game dari studio gue, banyaknya waktu yang dibutuhkan berpengaruh ke hal-hal lain, seperti “biaya”.
Tapi sulit bukan berarti gak mungkin. Dengan berbekal beberapa weekend dan aset yang dibagikan orang-orang yang baik dari Kenney, gue akhirnya bisa bikin game. Gamenya sederhana, atau mungkin sangat sederhana, karna memang targetnya untuk anak-anak seangkatan sama adik gue yang emang masih kelas 2 SD.
Player hanya dituntut untuk memilih binatang yang sama sebanyak dua atau lebih. Bagi yang mau coba atau install buat adiknya, silahkan ke link di bawah ini ya 🙂
A Hectic Long Weekend

Long weekend kemarin gue disibukkan dengan satu projek freelance. Membuat e-commerce simpel. Projek yang pada umumnya dikerjakan sekitar sebulan, diringkas padet jadi 3 hari long-weekend karna klien butuh di Hari Senin.
Sempat kepikiran develop pake WordPress dan WooCommerce, tapi item-item yang dijual sangat enggak biasa. Item yang dijual berupa batik dengan motif-motif yang dapat diganti oleh pembeli. Jika pembeli sudah oke dengan motif yang “diutak-atik” sendiri, pembeli bisa melanjutkan proses checkout dan melakukan pembayaran.
Karna klien butuh cepet, maka pada akhirnya gue pilih Angular. Tinggal pasang route dan buat beberapa view, beres. Buat CSSnya gue minta bantuan Bootstrap untuk memudahkan tampilan grid view dan ngetik SCSS dengan bantuan scssphp. Untuk sistem gonta-ganti motifnya sendiri “terpaksa” gue pake Flash. Embed SWF di salah satu view karna gue gak akan sempet bikin pake Canvas HTML5 dalam sehari (fiturnya baru dipaparkan lebih lanjut di Malam Minggu). Gambarnya sendiri gue olah pake Photoshop, mainin Magic Wand dan Poligonal Lasso Tool buat potong-potong motif dan “maksain” nempelin ke baju.
Angular – $http
Minggu kemarin gue nulis tentang Fetch() API. Metode untuk mengambil resource / data dari URL yang diberikan. Method tersebut masih belum banyak digunakan, bahkan sangat sedikit karna baru bisa di terapkan di Chrome dan Firefox versi paling baru.
Nah, kali ini gue coba berbagi tentang $http service di Angular. Service yang fungsinya sama dengan Fetch() API atau fungsi XHR lainnya. Perbedaan yang paling menonjol adalah fungsi ini merupakan fungsi bawaan dari AngularJS dan bisa digunakan tanpa tambahan modul lainnya.
Yang berbeda selanjutnya adalah fungsi ini mempunyai chain success dan error yang sangat memudahkan coder untuk memeriksa hasil pemanggilan. Contoh paling dasar penggunaan success dan error bisa dilihat disini :
1 2 3 4 5 6 7 8 9 10 |
// perhatikan metode chaining success dan error $http.get('[url yang menghasilkan data]'). success(function(data, status, headers, config) { //data : berisi data yang diambil //status : status pemanggilan, apakah berhasil (200), not found (404), dll //headers : header data yang diterima }). error(function(data, status, headers, config) { }); |
Karnaval KAA 2015

Enam tahun gue tinggal di Bandung dan weekend kemarin adalah pertama kalinya gue ke karnavalan. Yup, Bandung jadi tuan rumah Konferensi Asia Afrika ke 60. Berikut video yang gue rekam sembari menikmati pertunjukan.
dan ini video keduanya. Videonya dibagi jadi dua bagian karna terlalu panjang. 🙂
(more…)
Memulai Belajar Angular JS

AngularJS adalah framework javascript yang digunakan untuk memaksimalkan elemen HTML menjadi tampilan yang dinamis. Meskipun masih terbilang muda, framework ini sudah banyak digunakan. Beberapa aplikasi yang sudah menggunakannya antara lain Youtube on PS3, Vevo, ga.me, Sky Store, dan MSNBC.
Salah satu fitur yang paling utama dan belum gue temuin di framework lain adalah Two Way Data -Binding. Fitur ini memungkinkan nilai elemen terhubung langsung dengan model. Ketika model / variabel di dalam controller diubah, maka tampilan di dalam DOM Element akan ikut berubah. Bergitupula apabila tampilan di elemen diubah, maka model di dalam controller pun akan ikut berubah. Contohnya seperti di bawah ini
See the Pen AngularJS – Two Way Data-Binding by Afief Yona Ramadhana (@afief) on CodePen.14290
ubah text yang ada di dalam textbox
Selain fitur tersebut, fitur lain yang menarik juga adalah Template. Kita bisa membuat template dari HTML biasa, lalu membinding setiap elemen ke dalam model sehingga tampilannya menjadi dinamis. Kita juga bisa membuat beberapa tampilan dengan HTML yang terpisah, lalu membuatnya menjadi halaman-halaman yang terpisah dengan menggunakan ngRoute.
Fitur – fitur tersebut dan fitur lain seperti MVVM, Directive, Service, dll dapat dipelajari dengan mudah dan menyenangkan di codeshool.com. Situs tersebut menyediakan course gratis bagi yang mau belajar AngularJS, dengan menonton beberapa video yang berisi penjelasan-penjelasan singkat namun terpapar dengan baik. Kemudian kita juga bisa mengerjakan contoh kasus pada setiap sesinya untuk dapat melanjutkan ke sesi course selanjutnya. Selamat Belajar 😀
Mobile Friendly Test

Salah satu tools dari google yang cukup favorit buat ngecek apakah web yang kita bangun mobile friendly atau tidak. Tools tersebut akan menganalisa bagaimana website kita tampil di dalam perangkat mobile. Yang paling utama adalah apakah font menjadi terlalu kecil, atau pranala-pranala yang ada jaraknya terlalu dekat.
Bagi yang mau mencoba, silakan masukkan nama website di bawah ini
atau langsung saja ke https://www.google.com/webmasters/tools/mobile-friendly/
Fetch() API

Salah satu problem ketika membuat aplikasi dengan meminimalisir library adalah ketika melalukan pemanggilan AJAX. Kadang mau gak mau gue tambahin jQuery, cuma buat pakai fitur AJAXnya yang mudah digunakan. Tapi kadang pula ketika ingin meminimalisir ukuran, gue tulis sendiri fungsi XHRnya. Meskipun, XMLHttpRequest cukup sulit untuk diingat implementasinya.
fetch()
Fungsi ini sama seperti AJAX. Digunakan untuk mengambil resource/data dari URL yang diberikan. Fungsi ini dapat dipanggil dengan window.fetch()
atau fetch()
dengan argument pertama adalah URL dan argument kedua adalah objek yang merupakan pengaturan tambahan. Fungsi ini akan menghasilkan objek Promise.
1 2 3 4 |
window.fetch("[url]", {[pengaturan_tambahan]}). then(function(response) { //response object }); |
Pengaturan tambahan yang dapat dimasukkan antara lain :
1 2 3 4 5 6 |
method: "[method]", //post, get, delete, dll. headers: "[headers]", body: "[body]", mode: "[mode]". //cors, no-cors, atau same-origin credentials: "[credentials]", //omit, same-origin, atau include cache: "[cache]", //default, no-store, reload, no-cache, force-cache, atau only-if-cached. |
Weekend Terakhir Membujang

Siapa sangka, akhirnya tiba. Weekend terakhir gw hidup membujang. Tepat sabtu depan gw dan Dara bakal menikah. Bagi yang ingin tau info lebih detail, bisa buka disini. Kami akan bahagia jika kalian datang.
Sejak beberapa hari kemarin Dara udah “dipingit”. Artinya kesempatan gw untuk ketemuan sangatlah kecil, apalagi untuk ngajak dia main dan makan di luar. I have no idea apa yang dilakukan para bujang di weekend terakhir dia membujang. 😐
Intel Realsense App Challenge

Tahun kemarin, gue ikut kompetisi Intel Perceptual Computing Challenge. Berhasil lolos phase pertama, dan dapet kamera 3D perceptual dari Intel.
Kamera ini kurang lebih hampir sama dengan kinect. Perbedaannya ada di ukuran yang lebih kecil, dengan SDK yang hanya mendeteksi tangan dan wajah. Namun kamera 3Dnya lebih detail dari Kinect. Bisa mendeteksi mimik wajah dan mood nya.
Nah, tahun ini, Intel ngadain kompetisi yang sama dengan nama yang berbeda. Intel Realsense App Challenge. Gue kembali lolos phase pertama, dan dapet kamera yang lebih cihuy dari kamera kemarin. Doakan semoga lolos phase selanjutnya ya. 🙂