Currently Browsing

Technology

First MeetUp (Hello Mongo)

Be There! Free, Open to Public, All ages all welcome.

Check this website idmug.org for more info.

See you there friends!

Share

Simple CRUD web using Nodejs and MongoDB

a simple CRUD web using nodejs (expressjs f/w, hbs templating) and mongodb
a simple CRUD web using nodejs (expressjs f/w, hbs templating) and mongodb

a simple CRUD web using nodejs (expressjs f/w, hbs templating) and mongodb

In this article, i just want to share my one day experiment with node.js and mongodb. I build a simple web that does CRUD in node.js and save the records to MongoDB. I stupidly built this although this post says that build CRUD in node.js is a bad use case :p

Skip the talks, lets go to the points. I built this on Windows. I need (of course) node.js and mongodb, go to their websites, download and install them to your computer. Once you got them installed then you are ready to code.

Next step is get a HTML template for user interface, if you are LAZY like me just use Bootstrap, from twitter. I need their awesome HTML CSS tables and forms, icons right away. Download and use one of their examples, i am using the fluid layout. User interface? Done.

This is the hardest part (for me), code in node.js. Step one, to make this easier i have to install expressjs. In your app directory type this…

npm install -g express

express “D:/monode-crud” (this is depend on you app directory)

Line one will install expressjs as node modules on your app, and line two will create a directories that expressjs needed. Go to expressjs.com for complete guide.

I don’t like the jade that expressjs used as their default template engine. Instead of using jade, i am installing another node modules called hbs. What is hbs? Hbs is a view engine for express.js. Here is hbs website https://github.com/donpark/hbs. Hbs is basically a handler for Handlebars.js, a Mustache.js-like template engine. Both of them are logic less templates.

npm install hbs

After you are finished installing hbs, then modify your node.js app configurations.

var hbs = require('hbs');
....
....

app.engine('html', require('hbs').__express);
app.set('views', __dirname + '/views/html');
app.set('view engine', 'html');

And then copy all the assets (image, javascript, css files) from bootstrap to “public” directory. Put your .html template under “views” directory.

In order to connect to Mongodb to store the records, i am using node-mongodb-native. There are many other libraries to do this, but IMHO, this is the easiest way to connect node.js and mongodb. Install this via npm as usual.

npm install mongodb

Okay. All done. :)

Check out the complete node.js app and codes at my github page. Here is the repo.

Please drop your comments or questions through this blog or follow me @hadiariawan at twitter. Thanks.

Share

Ucap.in, Berbagi ucapan dengan Kartu Digital

Ucap.in!
ucap.in : greet with caring

Mungkin berbagi ucapan dengan kartu lalu dikirim via pos sudah ketinggalan zaman untuk tahun 2012 ini. Berkirim ucapan dengan kartu yang dikirim via pos ini lebih lama sampai di tujuannya. Sekarang semua serba digital, ucapan ulang tahun, Natal dan tahun baru, Lebaran dan lain-lain dikirim via BBM, Twitter, Facebook atau email. Tetapi kartu ucapan dengan kartu selalu lebih mengena kepada yang dikirimkan, rasanya lebih dekat dan personal.

Untuk yang masih suka berkirim kartu, Anda bisa menggunakan layanan situs ucap.in. Ucap.in memungkinkan penggunanya untuk saling berkirim kartu digital yang dikirimkan secara digital diatas platform Twitter. Situs web Ucap.in ini dapat digunakan oleh pengguna secara cuma-cuma alias gratis. Ucap.in cocok sekali untuk event dan waktu tertentu, misalnya ucapan selamat ulang tahun, menikah, kelahiran putra/putri atau hari-hari besar lainnya.

Dengan menggunakan layanan situs web ucap.in ini kita dapat membuat kartu ucapan digital dan dikirimkan via Twitter. Bagi pengguna yang ingin berkirim kartu ucapan digital via ucap.in ini harus mempunyai akun Twitter. Ucap.in tidak menghilangkan yang menjadi khasnya kartu ucapan, pengguna dapat menggunakan stok foto yang sudah disediakan sebagai latar belakang kartu atau juga bisa mengunggah foto dari komputer pengguna sendiri.

Pengguna juga dapat memilih bermacam-macam font untuk mengganti tulisan tangan yang biasa dituliskan di kartu ucapan biasa.

Situs ucap.in ini masih terhitung baru dan sekarang masih dalam fase public beta. Stok foto yang terbagi beberapa kategori masih sedikit. Saat ini pengguna hanya bisa membuat teks di satu area saja, akan lebih baik juga jika mention username Twitter dilengkapi dengan fitur autocomplete untuk menghindari salah ketik username.

Secara keseluruhan, situs ucap.in ini sudah lumayan untuk berkirim kartu digital. Silahkan berbagi ucapan dengan kartu digital dengan ucap.in

original article : http://techno.okezone.com/read/2012/01/10/90/554645/ucap-in-berbagi-ucapan-dengan-kartu-digital

Ayoo… rame-rame cobain ucap.in!! :)

Share

Alasan Menggunakan PHP Framework

Baru-baru ini ada kesempatan diskusi dengan orang soal penggunaan php framework dengan akademisi dengan latar belakang pemrograman java, mengapa perlu menggunakan php framework, apa gunanya php framework. Diskusinya lumayan menggoyahkan iman :p

Posting kali ini adalah jawaban dan kesimpulan saya soal ini, yang kebetulan belum bisa saya utarakan waktu diskusi tempo hari. Kalau mas dan mbak semua ditanya kenapa menggunakan framework/tidak menggunakan framework, apa jawabannya? Pasti jawabannya beragam. Berikut jawaban populer yang saya dapatkan dari survey kecil2an via Y!m dengan temen2.

Kenapa pake framework?

  • “Coding lebih cepat, biasanya pake framework jadi nulis good code”
  • “Framework X base penggunanya banyak, community besar”
  • “Kalau ukuran project/aplikasi besar lebih mudah dengan framework”
  • “Biar gak reinvent the wheel, reuse code”
  • “dan lain-lain, dan sebagainya, dan teman-temannya… “

Kenapa tidak menggunakan framework?

  • “Framework gak transparan, banyak activity yang di hidden”
  • “Framework gak fleksibel, terus konvensinya beda-beda”
  • “Ga punya full control atas framework, mending bikin sendiri”
  • “dan lain-lain, dan sebagainya, dan teman-temannya… “

Pro dan kontra soal ini memang gak ada habisnya. IMHO, poin2 diatas gak sepenuhnya bener. Coding cepat itu relatif dan pake framework juga belum tentu kita bisa nulis good code. Pengguna framework X banyak juga bukan alasan tepat kita menggunakan framework, tapi ini bisa jadi alasan pertimbangan memilih framework. Ukuran aplikasi yang akan di develop juga bukan tolak ukur penggunaan framework, besar kecil aplikasi bisa di develop menggunakan/tidak menggunakan f/w. Reuse code ini juga relatif, yang tidak pake framework juga pasti punya koleksi class/function bukan?

Kalo dibilang framework itu banyak activity yang di hidden, saya gak setuju, tinggal di trace saja, corenya ada kok, gak sreg ya tinggal modifikasi aja. Konvensi tiap framework beda-beda itu jelas, gak hanya di PHP kan ya? Di Java pun begitu, Spring misalnya pasti beda dengan f/w lainnya di java. Kalo kata mas @neofreko sih bikin apa2 sendiri itu buat orang masih muda aja, kalo yang dewasa ini harusnya bijaksana, lagipula development time kan juga jadi pertimbangan besar.

Ini poin-poin yang jadi kesimpulan saya mengapa menggunakan framework :

  • Mudah dimaintain dan konsisten
  • Development time lebih cepat dengan menggunakan framework
  • Stable and Less Error

Alasan dan penjelasannya kira-kira gini :

  • Mudah dimaintain dan konsisten, ini karena framework sudah ada konvensinya. Aspek ini menurut saya penting jika bekerja dengan tim yang terdiri dari beberapa orang atau anggota tim yang berganti-ganti (as they always do). Dengan adanya konvensi ini debugging lebih mudah dilakukan, alurnya sudah jelas. Ya memang konvensi tiap framework beda-beda, tapi itu bukan masalah menurut saya.
  • Dengan menggunakan framework, development time juga akan lebih cepat. Framework simplify things. Dengan menggunakan framework kita memangkas waktu mengerjakan library basic yang mutlak diperlukan, misal database connectivity, security, session management. Untuk developer yang baru masuk tim pun tidak akan terlalu banyak makan waktu untuk ikut develop langsung dengan membaca dokumentasi dan contoh penggunaan f/w (apalagi f/w yang digunakan termasuk populer).
  • Framework jelas stable dan less error. Apa jaminannya? Cek di websitenya, tiap framework ada testnya. Kalo bikin sendiri error prone alias rawan error.

Kalo kata mas @neofreko lagi sih. “Siapa yang mau bikin ACL (Access Control List) sendiri? cuman orang gila yang mau bikin sendiri” :p

Tapi semuanya balik lagi soal kebijakan dan/atau kasus/aplikasi yang akan dikerjakan. Yaah itu pendapat saya soal alasan penggunaan framework untuk development, boleh setuju boleh juga gak setuju. Silahkan komentar yang setuju dan gak setuju di form komentar dibawah ini… ;)

Selamat makan siang semuanya :)

Share

Review : Firefox With Twitter

Firefox With Twitter

Firefox With Twitter

JUMAT (17/6/2011) lalu, akun resmi twitter mengumumkan bahwa mereka telah merilis browser firefox dengan twitter. Ada dua modifikasi di firefox yang dirilis oleh twitter ini, yaitu firefox telah ditanam built-in Twitter search bar dan Twitter app tab.

Fitur baru firefox dengan twitter ini dapat diunduh di http://firefox.twitter.com. Untuk pengguna yang sudah menginstall browser firefox, maka akan dialihkan ke halaman download addons firefox Twitter search bar.

Twitter search bar ini ada di bagian kanan address bar firefox. Jika default pencarian adalah google, anda dapat mengubahnya menjadi twitter dengan klik drop-down arrow yang ada di dalam search bar tersebut. Kemudian Twitter app tab ada di sebelah kanan menu firefox atau di sebelah kiri kumpulan tab firefox anda.

Dua modifikasi yang dilakukan oleh twitter ini memungkinkan anda untuk terkoneksi langsung dengan apa yang sedang terjadi di dunia via twitter. Anda dapat melakukan pencarian orang/username dan topik langsung di browser firefox anda.

Caranya ketik keyword pencarian di twitter search bar, untuk mencari orang/username gunakan tanda @username kemudian untuk topik gunakan tanda #topik. Contoh: @okezonenews, untuk mencari username okezonenews dan #okezone untuk mencari topik okezone di twitter.

Sumber:

http://techno.okezone.com/read/2011/06/19/92/470029/pencarian-di-twitter-dengan-firefox

Beberapa hari setelah dirilis firefox with twitter ini, Firefox 5 juga telah dirilis tepatnya tanggal 21 Juni 2011 kemarin. Bagi yang belum update versi firefoxnya, silahkan langsung download atau update via browser firefox… ;)

Share

Server Stress Test dengan Apache Benchmark

Banyak tool yang bisa digunakan untuk mengukur performance dari web server, salah satunya posting dulu yang ada di blog ini menggunakan web stress tool untuk windows. kali ini kita akan menggunakan Apache Benchmark (ab) dari Apache HTTP Server salah satu web server yang banyak digunakan di internet. Apache Benchmark ini adalah tool untuk mengukur performance apache, dengan ab kita dapat melihat kapabilitas apache untuk melayani request dari client.

Pertanyaan yang sering ditemukan tentang apache benchmark ini adalah bagaimana cara menginstall dan dimana men-download apache benchmark ini. Ab ini telah terinstall secara otomatis ketika menginstall Apache HTTP Server, jika apache sudah terinstall maka tool benchmarking ini juga sudah otomatis ada. Lokasi tool ab ini biasanya di direktori /bin. Tool apache benchmark ini bisa digunakan tidak hanya untuk apache, tapi untuk web server lain juga seperti lighthttpd, nginx atau Miscrosoft IIS.

Cara menggunakan ab adalah sebagai berikut :

# ab -c 1000 -n 1000 ‘http://202.xxx.xxx.xxx/mongotest/comment/get_data/20/10′

Parameter c adalah jumlah request concurrent (berbarengan) yang dibuat, dengan contoh diatas berarti jumlah request yang dibuat adalah 1000 request dalam satu waktu. Parameter n adalah jumlah koneksi yang dibuat ke server tujuan, dengan contoh diatas berarti koneksi yang dibuat adalah 1000 koneksi. Ab ini mengkonsumsi resource server, mulai dari memori (RAM), bandwidth dan processor. Masukkan jumlah koneksi dan conccurent request yang sesuai, agar web server tidak sampai kehabisan resource dan kemudian hang. Parameter terakhir adalah URL, halaman yang akan diproses oleh web server di-benchmark.

Contoh hasil benchmarknya sebagai berikut :

Apache Benchmark Result

Apache Benchmark Result

Sambil menjalankan ab ini coba lihat pemakaian resource di mesin yang sedang di-test. Gunakan command “top”,  perhatikan memory used, processor used tiap2 service (httpd dalam kasus ini). Benchmark ini juga kebetulan sekalian untuk testing mongodb yang sudah di-insert 3jutaan documents (records) dalam satu collection (table). Surprisingly mongodb cuman perlu sekitar 20Mb memory untuk ab dengan 1000 concurrent dan 1000 koneksi. Cool…

Anyway.. silahkan mencoba apache benchmark…

Artikel resminya disini gan :

http://techno.okezone.com/read/2011/04/08/92/443936/mengukur-performa-web-server-dengan-apache-benchmark

Share

Sekilas PHP dan MongoDB

Posting kali ini sekedar sharing percobaan menggunakan PHP dengan MongoDB. Apa itu MongoDB? MongoDB adalah document-based database server. MongoDB ini open source dibangun dengan bahasa pemrograman c++. Kata wikipedia, MongoDB ini scalable, high-performance, schema-free, web-scale. Isi dari MongoDB ini adalah koleksi dari dokumen – dokumen JSON-like. Kira – kira isinya begini…

  {
       "username" : "bob",
       "address" : {
           "street" : "123 Main Street",
           "city" : "Springfield",
           "state" : "NY"
       }
   }

Di bawah ini ada slide presentasi yang sempat dibuat dari hasil coba – coba PHP dan MongoDB. Apa? Kenapa? dan Bagaimananya MongoDB silahkan browsing – browsing sendiri ya.. :)

Sekilas PHP + mongoDB
View more presentations from Hadi Ariawan.

Note :

Articles to read related to MongoDB and PHP.

 

  • http://www.mongodb.org/display/DOCS/Introduction
Share

Last.fm Scrobbler di Android Phone

Last.fm Scrobbler for Android

Last.fm Scrobbler for Android

Buat yang seneng denger musik pasti sudah gak asing lagi dengan last.fm ini. Situs social networking khusus musik ini selain gudang dan koleksi informasi tentang musik, band, album dan lain-lain, last.fm ini juga memungkinkan kita untuk mengupload lagu-lagu yang kita dengerin di komputer kita.

Caranya? Tentunya register last.fm dulu, kemudian download last.fm scrobbler ke komputer kita. Scrobbler last.fm ini otomatis akan mendeteksi music player yang ada dan terinstall di komputer kita dan merekomendasikan untuk download plugin untuk music player kita. iTunes, Windows Media Player, WinAmp ada semua. Setelah semua diinstall, tiap kita dengerin lagu, otomatis akan “disetor” ke last.fm dan akan muncul di bagian “Recent Listened Tracks” di profile kita.

Ha? blom ngeuh juga? coba liat profile last.fm saya di http://www.last.fm/user/hadiariawan pasti ngerti. Disitu infonya lengkap. Top Artists, Music Library, Top Tracks dan lain lain. kalo statistik saya begini 69090 plays since 8 Jan 2009.

Nah.. sekarang gmana kalo kita lagi di perjanalan, di mobil, di kereta yang notabene hampir enggak mungkin tenteng komputer atau leptop dengan koneksi internet kan? Biasanya kalo kondisinya begitu kita denger lagu dari portable music player, bisa iPod atau handphone. Kali ini yang dibahas hanya untuk pengguna android device saja.

Untuk android phone/device pertama kali adalah cari music playernya dulu. Music player yang saya gunakan adalah MixZing. Overall MixZing ini cukup bagus, ada auto finder Album Cover-nya asal ID3Tag nya komplit Mixzing ini otomatis mencari dan mendownload cover album track yang sedang disetel. Bisa masukin lirik tiap lagu juga kalo ga salah, oke.. cukup bahas Mixzing, bisa buat satu post sendiri ini nantinya. Begini kira-kira tampilan mixzing…

MixZing Music Player for Android

MixZing Music Player for Android Image From : http://www.mixzing.com/android.html

Kedua, gmana cara integrasi mixzing ini dengan last.fm scrobblernya. Di menu option mixzing ini ada last.fm intergrasinya, kalo ga salah kalo di klik otomatis pergi ke market dan rekomendasinya adalah Scrobble Droid. Dowload Scrobble droid dari market, setelah selesai download dan install scrobble droid lalu masukkan username dan password last.fm kamu. Kira – kira tampilan scrobble droid begini nih…

Scrobble Droid

Scrobble Droid Image from : http://code.google.com/p/scrobbledroid/

Oke.. beres.. sekarang waktu dengerin lagu dari mixzing di jalan, di mobil atau di kereta, otomatis lagu yang lagi didengerin “disetor” ke last.fm. Kalo lagi ga dapet sinyal atau lagi ga aktif koneksi internet dari android phone nya, lagu yang didengerin lagi disimpen dulu di lokal android phone, kemudian bisa “disetor” manual dengan cara buka aplikasi Scrobble Droid-nya dan klik tombol “Scrobble” di paling bawah.

Keren kan?! teknologi sekarang memang canggih… #ngok (banana_rock)

http://www.last.fm/user/hadiariawan
Share

Yahoo! Save Delicious. Save The World.

Screenshot of Yahoo!'s Slide

Beberapa waktu lalu internet dibuat heboh dengan kabar yahoo akan menutup beberapa layanannya. Berita ini didukung bocornya screenshot dari slide yahoo (gambar diatas) yang diposting oleh founder MyBlogLog, Eric Marcoullier di twitter. Berita lengkapnya bisa dibaca di dailysocial.

Berikut ini adalah gambar lebih jelas beberapa layanan yahoo yang akan ditutup :

Sunset

Ada Yahoo! Picks, alltheweb, Yahoo! Buzz, MyBlogLog, Yahoo! Bookmarks, altavista dan teman-temannya. Saya adalah pengguna setia salah dua dari beberapa layanan yang akan ditutup tersebut, MyBlogLog dan delicious.

Jika MyBlogLog ditutup, saya tidak terlalu kecewa. Dulu saya register layanan ini ketika MyBlogLog belum diakuisisi oleh Yahoo!, fitur andalannya adalah statistik blog dan widget recent visitors yang mengunjungi blog saya. Ada juga fitur lain yang saya tidak familiar karena saya tidak menggunakan. Saat ini widget recent visitors masih ada di sidebar blog ini, yang akan saya copot jika MyBlogLog sudah tidak online lagi. Hmmm.. no big deal.

Lain ceritanya jika delicious yang ditutup, semua kegiatan bookmarking di internet yang biasa disimpan di browser sudah saya tinggalkan semenjak saya pakai delicious. Saya juga sudah menggunakan delicious sebelum yahoo mengambil alih di tahun 2007. Belum lagi dengan adanya add ons untuk mozilla firefox, bookmark semakin gampang dari input sampai dengan searching. Oh My Goodness… i Love Delicious.

Bagi teman – teman semua yang bernasib sama dan merasa sama kecewanya dengan saya, silahkan ikutan sign petition save delicious di act.ly, silahkan klik disini.

Save The Cheerleader Delicious, Save The World!

More article to read:

PS : semua gambar di post ini diambil tanpa ijin dari dailysocial.net ;)

Share

Installing Zend Optimizer on XAMPP

Secara default instalasi XAMPP di Windows tidak menyertakan Zend Optimizer, tapi pada umumnya peyedia hosting sudah terinstall Zend Optimizer. Berikut ini langkah – langkah instalasi Zend Optimizer untuk XAMPP di Windows. Versi XAMPP yang digunakan saat post ini ditulis adalah XAMPP 1.7.1.

Direktori instalasi XAMPP yang digunakan ada di D: ( D:\xampp\ )

1. Download Zend Optimizer di website zend.com.

Zend Optimizer bisa di download di http://www.zend.com/en/products/guard/downloads. Tersedia versi MacOS, Linux dan Windows. Download Zend Optimizer for Windows (saat post ini ditulis versi Zend Optimizer 3.3.3)

2. Execute ZendOptimizer-3.3.3-Windows-i386.exe

Pastikan apache/web server dalam keadaan tidak aktif sebelum mulai proses instalasi. Pilih web server yang digunakan, untuk XAMPP 1.7.1 adalah Apache 2.x.x.

Saat proses instalasi ini berjalan, anda akan diberikan 3 kali pertanyaan direktori.

  • Lokasi instalasi Zend Optimizer (C:\Program Files\…..)
    • secara default installer akan menawarkan di C:\Program Files\… Zend Optimizer
  • Lokasi php.ini
    • ubah lokasinya sesuai dengan instalasi xampp, dalam kasus ini lokasi xampp yang digunakan ada di direktori D:\ maka lokasinya adalah D:\xampp\php\
  • Lokasi apache
    • ubah lokasinya sesuai dengan instalasi xampp, dalam kasus ini lokasi xampp yang digunakan ada di direktori D:\ maka lokasinya adalah D:\xampp\apache\

3. Cek phpinfo()

Sebenarnya proses instalasi sudah selesai, Zend Optimizer sudah terinstall di XAMPP. Periksa phpinfo untuk memastikan bahwa Zend Optimizer telah terinstall dengan baik dan benar. Jika sudah terinstall maka akan ada bagian seperti gambar di bawah ini.

Zend Optimizer (phpinfo)

Zend Optimizer (phpinfo)

Setelah selesai instalasi, pastikan option Zend Loader : enabled. Jika option Zend Loader masih disabled, ubahlah setting di file php.ini. Cari dan ubah option zend_optimizer.enable_loader dari 0 ke 1. Contoh lihat gambar di bawah ini.

Zend Optimizer (php.ini)

Zend Optimizer (php.ini)

Lalu test dengan menjalankan aplikasi yang membutuhkan Zend Optimizer. That’s it! It’s Done! ;)

Note:

Sorry, tidak sempat capture pada saat proses instalasi.

Share

Switch to our mobile site