plperl on PostgreSQL 9.0.4

Yeah banyak sekali trouble yang saya hadapi sebagai tantangan dalam riset saya. Salah satunya adalah kekurangan regexp_replace pada PostgreSQL

berawal dari kebutuhan saya menggunakan engine regex untuk Unicode yang tidak bisa terpenuhi menggunakan fungsi bawaan PostgreSQL yaitu regexp_replace. Akhirnya saya terpaksa menggunakan engine regex milik Perl yang yang harus diinstal sebelum menggunakannya.

Instalnya cukup mudah, cukup dengan menjalankan perintah > createlang plperl dbname. Sebenarnya pada distribusinya PostgreSQL sudah menambahkan PL/PgSQL, PL/Tcl, PL/Perl, and PL/Python.  Dan masing masing database akan ikut diinstalkan jika menggunakan “template1″. Namun karena saya menggunakan “template0″ yang berarti kosong, jadi saya harus menjalankan perintah > createlang plperl dbname.

Permasalahannya adalah muncul error berikut :

createlang: language installation failed: ERROR:  could not load library “C:/Program Files (x86)/PostgreSQL/9.0/lib/plperl.dll”: The specified module could not be found.

Ya eror ini muncul karena dua kemungkinan, yaitu :

  • Belum diInstall-nya Pearl Itu sendiri
  • ATAU plperl.dll membutuhkan perl versi khusus.(Manja banget sih -_-!)

Hal yang harus dilakukan adalah dengan melihan ketergantungan si plperl.dll dengan menggunakan software Dependency walker dan lihat kebutuhan yang kurang. Pada komputer saya yang kurang adalah perl510.dll dan posgres.exe


Untuk Postgres.exe, caranya cukup mudah yaitu dengan memasukkan PATH “C:\Program Files (x86)\PostgreSQL\9.0\bin” pada “environment variables” di Windows. Berarti sekarang sisa yang bermasalah adalah versi Perl saya, sekarang saya harus menginstal versi yang sesuai, yaitu 5.10. Setelah mencari, akhirnya saya menemukan Strawberry Perl 5.10. Yeah, Instal dan jangan lupa restart database server anda dan jalankan kembali perintah > createlang plperl dbname. InsyaAllah semua akan berjalan lancar tanpa error.

Pesan : Software Dependency walker dapat anda gunakan untuk melihat ketergantungan dari plperl.dll, yang mungkin akan berbeda-beda untuk setiap kasus/versi dari PostgreSQL. Silahkan lihat apa yang kurang dan cari sendiri versi Perl yang sesuai.

Semoga bermanfaat

Ahmad Fathi hadi

Acunetix – Web Vulnerability Scanner

Sekali-sekali seorang developer seperti saya bahas topik security juga ah, jangan coding terus :D. Nah dua minggu ini kebetulan ada project security jaringan di pentagon suatu tempat. Untungnya adalah saya tidak terlibat untuk network security, melainkan fokus terhadap Web Security.  Wal hasil saya menemukan sebuah produk yang sangat menarik dan “nice”, yaitu Acunetix.

Acunetix adalah software untuk men-Scan semua kelemahan Web. Menurut saya ini hampir sama dengan Ethical Hacker/White Hacker, cuma ini ya versi softwarenya bukan orang :D. Menurut Acunetix, 70% dari cyber attack adalah Web Application Attack dan hampir 70% website di dunia juga tidak aman(Wow). Sudahkah Website anda aman ?. Gunakan Acunetix untuk mendeteksinya !.

Web Application Attack berbeda dengan Network Attack, jadi sia-sia jika anda memasang Firewalls, SSL and locked-down servers untuk menangani Web Application Attack. Web Application Attack menggunakan port 80/443, langsung melewati Firewall, operating system dan network level security, serta langsung menuju jantung hati dari aplikasi dan data. Nah lalu apa saja sih yang discan oleh Acunetix ?, berikut listnya :

Web Server Configuration Checks

  • Checks for Web Servers Problems – Determines if dangerous HTTP methods are enabled on the web server (e.g. PUT, TRACE, DELETE)
  • Verify Web Server Technologies
  • Vulnerable Web Servers
  • Vulnerable Web Server Technologies – such as “PHP 4.3.0 file disclosure and possible code execution.

Parameter Manipulation Checks

File Checks

File Uploads

Directory Checks

  • Looks for Common Files (such as logs, traces, CVS)
  • Discover Sensitive Files/Directories
  • Discovers Directories with Weak Permissions
  • Cross Site Scripting in Path and PHPSESSID Session Fixation.
  • Web Applications
  • HTTP Verb Tampering

Text Search

  • Directory Listings
  • Source Code Disclosure
  • Check for Common Files
  • Check for Email Addresses
  • Microsoft Office Possible Sensitive Information
  • Local Path Disclosure
  • Error Messages
  • Trojan Shell Scripts (such as popular PHP shell scripts like r57shell, c99shell etc)

Weak Password Checks

Google Hacking Database (GHDB)

Port Scanner and Network Alerts

  • Finds All Open Ports on Servers
  • Displays Network Banner of Port
  • DNS Server Vulnerability: Open Zone Transfer
  • DNS Server Vulnerability: Open Recursion
  • DNS Server Vulnerability: Cache Poisoning
  • Finds List of Writable FTP Directories
  • FTP Anonymous Access Allowed
  • Checks for Badly Configured Proxy Servers
  • Checks for Weak SNMP Community Strings
  • Finds Weak SSL Cyphers

Bagaimana ? nice kan ?. Oleh karena itu pada jenis project seperti ini, saya menggunakan bantuan Acunetix. Karena pekerjaan saya hanya tinggal menambal semua lubang/celah keamanan. Saya memberikan jasa kepada siapa saja(perusahaan/individu) untuk menambal semua celah keamanan.

Kali ini saya akan memberikan contoh hasil scan sebuah website, yaitu http://www.cocobod.gh/

Acunetix

Acunetix

Lebih kerennya lagi, Acunetix juga memberikan penjelasan bahkan solusi untuk setiap threat.

Cross Site Scripting

Cross Site Scripting

Walaupun dengan Acunetic, kita bisa menemukan celah/lubang masalah, tentunya dibutuhkan akhi/pakar orang yang mengerti security pada web application seperti saya untuk memperbaiki celah keamanan yang telah terdeteksi.

Acunetix sudah dipercaya oleh perusahaan dan badan besar seperti Pentagon, Google, Yahoo, Joomla, HP, VeriSign, NASA, dll. Harganya-pun lumayan murah sekitar USD $5000.

Jadi intinya :rate buat Acunetix :recsel .

Dedikasi penuh untuk Adobe User Group Indonesia

Dengan ini saya hanya memberikan sedikit pengumuman bahwa saya akan lebih aktif dan mendidikasikan diri saya untuk komunitas. anda bisa cek semua artikel/tutorial yang saya tulis di http://augindonesia.org/ dengan user ‘ahmadfathihadi’. Saya harap dedikasi saya ini bisa bermanfaat untuk kemajuan Adobe User Group Indonesia.

Malware dan Phishing pada Facebook

Artikel ini saya buat sebagai dedikasi untuk teman-teman saya yang menjadi korban pencemaran nama baik oleh para pembuat malware dan semua yang telah di rugikan karena phishing di Facebook. Pernahkah anda melihat teman anda chating namun seperti aneh dan bukan kebiasaannya untuk menuliskan chat seperti itu, contoh …
Facebook Chat Malware

Ya, bahkan pengirim chat itupun tidak merasa pernah menulis seperti itu. Lalu siapa yang menulis ? Viruskah ? atau mungkin Hantu ?. Bukan virus, melainkan sebuah code program biasa yang berisi malware. Menurut Wikipedia, Perangkat perusak (bahasa Inggris: malware, berasal dari lakuran kata malicious dan software) adalah perangkat lunak yang diciptakan untuk menyusup atau merusak sistem komputer, peladen atau jejaring komputer tanpa izin termaklum (informed consent) dari pemilik.

Tolong garis bawahi kalimat “tanpa izin termaklum (informed consent) dari pemilik”, Bagaimana jadinya bila anda ternyata memberikan izin terhadap software/program tersebut ?, Hal ini jelas ketika pertama kali anda menyetujui program ini melakukan aksinya.Pada Facebook terdapat suatu permission/izin untuk setiap aplikasi yang dikembangkan menggunakan Facebook API, silahkan baca artikel saya sebelumnya disini. Setiap aplikasi pada facebook akan meminta izin kepada para pemakainya sebelum dapat melakukan/menggunakan hak yang anda berikan. Izin atau Permission yang saya maksud disini adalah untuk mengakses data dan fitur yang telah di sediakan oleh Facebook API.

Facebook Permission
pada saat artikel ini dibuat, terdapat 37 permission pada facebook, silahkan liat disini. Misalkan jika kita membuat aplikasi pengelola event, dimana penggunanya dapat mengedit langsung eventnya melalui aplikasi, maka user perlu memberikan izin create_event dan rsvp_event pada aplikasi, yang kemudian aplikasi dapat menggunakan hak yang diberikan oleh user(dapat berupa data, akses, dll, sesuai izin yang anda berikan). Namun sayangnya izin ini dapat disalah gunakan oleh aplikasi, misalnya untuk membuat event sex party dan mengundang seluruh teman dalam friend list di facebook. Hal ini pernah terjadi kepada teman saya, dia menghabiskan waktu 1 minggu untuk memperbaiki reputasinya. Bayangkan jika anda memberikan izin sms ? Event sex party tadi bisa mengirimkan sms undangan kepada seluruh teman anda, ditambah izin publish_stream wall anda akan penuh dengan kata-kata ‘sex’.

Aplikasi meminta izin kepada anda pada saat pertama kali anda mengakses, berikut contohnya …
Facebook Permission

Mulai saat ini jangan sembarangan memberikan permission kepada aplikasi yang berada pada facebook !, Baca dan perhatikan terlebih dahulu apakah aplikasi yang akan anda gunakan, apakah aplikasi resmi dari developer yang bersangkutan atau bukan. Lalu bagaimana bagi facebook user yang sudah memberikan permission kepada aplikasi ?, silahkan buka http://www.facebook.com/settings/?tab=applications, berikut list aplikasi yang terdapat pada facebook saya…
Apps on Facebook

Jadi solusinya adalah Silahkan remove aplikasi yang menurut anda aneh(permissionnya tidak sesuai aplikasi, namanya aneh, dll) dan tidak layak ada. Berikut contoh aplikasi yang aneh yang pernah saya gunakan difacebook…
Apps on Facebook yang aneh

Semoga dapat membantu dan memberikan pemahaman kepada semua yang membaca, Jika artikel ini membantu bagi anda, silahkan sebarkan link blog ini dan add facebook saya di http://www.facebook.com/ahmadfathihadi dan jadilah user yang baik :)

Bonus!!!
Saya akan memberikan beberapa link berguna bagi anda yang mengalami masalah facebook security seperti password anda di rubah( biasa disebut oleh 4L@y “f4c3B0k w dH@K” )  :

  • Jika lupa password, klik disini untuk reset password.
  • Jika anda merasa di hack namun masih dapat mengakses account, klik disini untuk recover.
  • Jika email yang biasa anda gunakan di remove oleh hacker sehingga anda tidak bisa login, klik disini untuk recover.
  • Jika email yang biasa anda gunakan diambil alih sehingga anda tidak dapat login, klik disini

Kamu pasti senang jika ada yang mengajarimu

“Kamu pasti senang jika ada yang mengajarimu”, mungkin merupakan judul sekaligus inti dari apa yang ingin saya sampaikan. Pernahkah terpikirkan jika anda dilahirkan sebagai yatim/piatu atau mungkin dalam keadaan dimana ekonomi keluarga anda pas-pasan ?. Pernahkah kita memikirkan mereka ?, bagi saya perkataan kasian tidaklah cukup apalagi bermanfaat untuk orang-orang yang membutuhkan. Sama seperti cinta yang tidak mengenyangkan, Kasian saja tidak akan merubah keadaan mereka.

Setiap orang pasti bisa memberikan kontribusi terbaiknya kepada lingkungan dan sesama manusia yang sudah diwajibkan bagi kita sebagai umat muslim untuk memikirkannya, dimulai dari tetangga, saudara, yatim/piatu, faqir, dll. Jangan pernah bilang bahwa nasib mereka berada di leher pemerintah apalagi presiden, hai kalian !, mereka orang-orang yang kurang mampu itu adalah tanggung jawab kalian.

Sebagai seorang Developer yang setiap hari sibuk dengan urusan duniawi dan tentu saja Flash Platform :D, saya teringat dengan tanggung jawab saya tersebut sebagai seorang muslim yaitu berkontribusi dan memberikan apa yang bisa saya sumbangkan untuk lingkungan dan terutama manusia. Ada sebuah panti asuhan dekat sekolahan dimana ibu saya mengajar, yaitu bernama “Marhamah”, di Otista Polonia, kampung melayu. Disana terdapat sekitar 60 anak, dan semuanya SMP dari kelas satu hingga tiga. seperti yang sudah saya jelaskan mengenai background pekerjaan saya tadi sebagai seorang developer, saya mencoba untuk mengajarkan anak-anak disana ilmu-ilmu yang dapat bermanfaat dan dapat membuat mereka menyukai komputer.

Tenang saja, saya tidak mengajarkan anak-anak tersebut coding pada awal pertemuan :D, tapi saya mengajarkan design dan animasi yang dapat membuat anak-anak tersebut mencintai dunia komputer. Semua berawal dari niat baik, dan Allah membantu mewujudkan niat baik tersebut dengan mengirimkan donatur yang menyumbangkan 4(empat) unit komputer beserta Meja. Alhamdulillah dan subhanallah ketika niat baik dibantu seketika oleh Allah. Kini sisa perjalanan saya lanjutkan dengan memberikan mereka pelatihan dan training setiap hari minggu selama 3 hingga 4 jam. Ada perasaan senang dari setiap langkah dan menit yang saya lalui bersama anak-anak disini, saya mereka 7 hari yang Allah berikan tidak akan berkurang jika saya menyisihkan beberapa jam atau setengah hari untuk berbagi bersama anak-anak di panti asuhan ini.

Disini saya mengajak siapapun yang membaca untuk turut berpartisipasi dalam bentuk apapun. Jika anda mempunyai waktu luang datanglah dan bagikan sedikit ilmu yang anda miliki untuk mereka, karena saya sendiri pun tidak cukup untuk mengajar 60 anak. Jika anda mempunyai komputer bekas, sumbangkanlah untuk mereka, InsyaAllah dapat digunakan untuk belajar merakit PC atau dihidupkan kembali untuk menambah jumlah PC. Jika anda mempunya rezeki lebih, datanglah sisihkan sebagian untuk dikumpulkan hingga terbeli satu unit PC. Percayalah bahwa semua yang anda lakukan akan kembali untuk anda dunia dan akhirat. Datanglah, berikan keceriaan dan kebahagiaan untuk anak-anak itu.

Alamat panti asuhan : Jl. Cipinang Cimpedak 1 No.11 Polonia, Jakarta Timur

Jika ada pertanyaan, silahkan hubungi saya di,

Mobile : 081808497749

Ym : ahmad_fathi_hadi

Jangan anggap anak-anak yatim/piatu dari panti asuhan hanya sebagai mesin doa yang diundang jika ada acara, mereka memang membutuhkan makan dan uang, tapi mereka lebih membutuhkan bekal untuk masa depan nanti.

Antusias anak-anak panti asuhan dalam belajar komputer

Antusias anak-anak panti asuhan dalam belajar komputer

antusias anak-anak panti asuhan dalam belajar komputer

antusias anak-anak panti asuhan dalam belajar komputer

lab komputer panti asuhan

lab komputer panti asuhan

mengajar di panti asuhan

Semoga semua amal ibadah kita diterima oleh Allah SWT.

H-2 Adobe Camp Indonesia 2011

http://images.groups.adobe.com/132b7f5/adobe_camp.png

Tidak terasa lusa sudah tanggal 20 Januari, 2011. Itu berarti Adobe Camp Indonesia sudah di depan bulu mata :selamat . Banyak kabar menarik dari Camp nanti, Salah satunya akan di undi nanti lisensi untuk satu orang pemenang sebesar $2100 dan satu buat BB(Blackberry). sebelum panjang lebar bicara soal Adobe Camp, kali ini saya meminta doa rekan-rekan sekalian demi kesembuhan saya (tipoid fever) dan kesuksesan acara nanti. Amin

Setelah diskusi panjang dengan salah seorang tamu yaitu Tom Krcha(Adobe Gaming Evangelist), karena Tom mempunyai schedule untuk mengisi acara lain di Singapore, sehingga saya harus mengatur ulang Agenda Adobe Camp Indonesia 2011. selain itu pastinya ngatur jadwal keliling jakarta  :travel bersama Tom dan pacarnya(Jadi setan dech)

New Agenda:

07:30 – 08:00       Registration

08:00 – 08:15       Opening

08:16 – 09:15       Bridging Adobe Flex, Adobe Air to Java Web Application with Adobe BlazeDS by Nova Saputra, Java Developer

09:16 – 10:15       Developer and Designer Workflow by Ahmad Fathi Hadi and Nata Chen, RIA Developer, Game/Creative Producer

10:16 – 11:15       Behind the scenes of MAX Racer and building realtime multiplayer experiences by Tom Krcha, Adobe Evangelist

11:16 – 12:15       Creating mashup apps using various social media API’s and AS3 by Arie M. Prasetyo, Flex & Web Developer

12:16 – 13:15       Break

13:16 – 14:15       Virtual World with AS3isolib by Anggie Bratadinata, Flash Engineer

14:16 – 15:15       Development Playbook Application with Adobe AIR 2.5 and QNX SDK by Tubagus S. Anwar, Flex/AIR Developer

15:16 – 15:45       Break

15:46 – 16:45       Augmented Reality by Rizal Akbar, Flash Developer

16:46 – 17:15       Adobe User Group Indonesia by Ahmad Fathi Hadi

17:16 – 18:00       DoorPrize

Nah, bagaimana ? susunannya sudah bagus bukan :)

Sedikit iming-iming untuk para peserta nanti, kalian akan mendapatkan :

  • Snack Pagi
  • Makan Siang
  • Pin “I’m Attending Adobe Camp Indonesia 2011″
  • Adobe Sticker
  • Adobe Pen
  • Merchandise

Dan masih banyak lagi, Kurang baik apa sih panitia :D

Sedikit keluh kesal dalam event ini adalah ada saja peserta yang daftar dengan identitas asal, sehingga membuat saya harus me refund ordernya. ada pula yang sms nanya tentang event, tapi seperti ngajak ribut,hehehe.

Oh iya terima kasih banyak untuk Panitia di Universitas Budi Luhur, special thanks to Bunda Linda dan Kakak Reni Cantik yang sudah membantu jalannya acara ini. Kebetulan saya tiba-tiba sakit, untung ada orang-orang hebat itu :2thumbup , poko’nya salute deh buat semua panitia yang udah bantu.

Kira-kira siapa yah yang nanti akan dapat BB dan lisensi Adobe :-? Semoga beruntung :)

Adobe Camp Indonesia 2011

Adobe Camp

Sudah satu bulan ini saya sibuk menyiapkan berbagai macam persiapan acara yang dinanti-nanti oleh seluruh pecinta Adobe di Indonesia, yaitu Adobe Camp Indonesia 2011. Acara Adobe Camp Indonesia 2011 ini akan menjadi acara Adobe Camp pertama di Indonesia dan akan menjadi kegiatan rutin tahunan AUGI(Adobe User Group Indonesia).

Apa sih Adobe Camp itu ? mungkin empat point dibawah ini dapat menjelaskan acara ini.

  • Celebrations of the talents of the local community. They showcase the skills of local developers and designers to inspire and train the attendees. Adobe speakers also participate in Camps.
  • Events that expose people to Adobe tools. This is done using many creative approaches, such as demos, hands-on trainings, and team coding sessions to just name a few.
  • Events that feature case studies and examples of projects built using Adobe technologies.
  • Events that raise awareness of the local Adobe community and introduce attendees to the local user groups.

Acara ini nantinya akan diisi oleh 8 pembicara dan semuanya expert dibidangnya seperti Anggie Bratadinata, beliau adalah senior Flash Game engineer untuk HandsOn Mobile(siapa yang gak tau perusahaan ini ? pembuat game Guitar Hero). Lalu ada Tomas Krcha, yang satu ini langsung kita datangkan dari Adobe, Inc, Tomas adalah Platform evangelistnya Adobe(tim dibalik Flash Platform itu sendiri, keren bukan ?). dan yang paling tidak dinanti adalah saya sendiri Ahmad Fathi Hadi, nantinya saya akan membahas “Designer and Developer Workflow”.

Adobe Camp kali ini diadakan oleh resmi oleh AUGI dan di organisir oleh Budi Luhur University(thanks bunda linda atas bantuannya) serta disponsori oleh Adobe,Inc sebagai Platinum Sponsor. Tidak lupa PT. Ciptadana Capital serta BlackBerry yang menjadi Gold Sponsor untuk acara ini.

Baiklah ini detail acaranya :

Name : Adobe Camp Indonesia 2011
Focus : Adobe Flash Platform
Venue : Universitas Budi Luhur
Jl. Cileduk Raya Petukangan Utara
Jakarta Selatan 12260
Date : 20 Januari 2011. Pukul 08-00 s/d 17:00
Fee : Free
Speakers :
Tomas Krcha (Adobe Platform Evangelist)
Ahmad Fathi Hadi (RIA and Mobile Developer)
Ari Setyo (Flex and Web Developer)
Anggie Baratadinata (senior Flash Game engineer – handson.com)
Tubagus Saepul Anwar (Flex and AIR Developer)
Nata Chen (Game / Creative Producer)
Nova Saputra (Java Developer)
Rizal Akbar (Flash Developer)
Contact : Ahmad Fathi Hadi (081808497749)

Pendaftaran dapat langsung dilakukan di http://adobecampindonesia2011.eventbrite.com/

*nb : acara ini akan berisi materi hardcore dan memang ditargerkan untuk para developer, so kita akan menseleksi para pendaftar, quota hanya tersisa untuk para developer ;)

Bagi kalian yang akan hadir silahkan gunakan badge “I’m Attending” pada blog/website anda masing-masing.

http://augindonesia.org/images/adobecampindonesia2011/Adobe%20Camp%20Indonesia%20Attending.png

oh ya ada satu lagi yang lupa saya sampaikan, jangan sampai tidak hadir karena nanti kita akan mengundi hadiah seperti lisensi dengan total $2100 serta dua buah BlackBerry.

Facebook Development

Setelah sekian lama saya menghilang mengarungi pekerjaan baru sebagai Facebook Developer, kini saya kembali mendokumentasikan sebagian pengalaman saya didalam blog ini. Pada dasarnya development aplikasi menggunakan platform facebook cukup mudah bagi yang sudah terbiasa dengan API.
Lalu apa sih tujuannya menggunakan facebook platform ?. Bisa diibaratkan begini, pada suatu website. Anggap saja website ini(blog.fathihadi.net), siapa sih yang mau registrasi user ?. ini kalau satu website, bagaimana kalau banyak website ? apa anda mau terus-menerus registrasi user untuk setiap website ?. Sedangkan anda sudah pasti punya account Facebook(hari gini gak punya facebook ?). kenapa tidak pakai account facebook saja untuk semua website ?, toh sudah banyak friend, dan aktifitas disana.
Nah dengan menggunakan API yang sudah disediakan oleh facebook, anda dengan mudah dapat menarik data User sesuai Permission(izin) yang di berikan oleh user. Ada izin untuk mempost sesuatu di wall user secara langsung, biasa dikenal dengan permission publish_stream.

Facebook Publish to Wall

Facebook Publish to Wall

Lebih lengkap mengenai permission ada di sini http://developers.facebook.com/docs/authentication/permissions
Lalu sekarang kita perlu mengatahui yang disebut access token, apa itu access token ?. Coba bayangkan jika kita sedang berada di sebuah halaman website, sedangkan informasi anda berada di website lain, tetapi ada sudah login pada website dimana informasi anda berada. Dengan menggunakan oath authentication, anda akan diberikan sebuah access token, dimana access token bisa ditukar dengan informasi, dibandingkan anda harus login dimana user dan password anda dipertaruhkan.
Facebook API dapat digunakan untuk :

  • Website
  • Mobile Application
  • Application on Facebook.com

Yang harus anda perhatikan dari awal adalah memilih render method. Facebook menyediakan dua jenis render method, jika anda akan membuat aplikasi web yang menggunakan CSS serta Javascript atau justru mengintegrasikan dengan jQuery, silahkan gunakan iFrame. Namun jika anda akan membuat aplikasi sederhana yang tidak menggunakan css serta javascript, silahkan gunakan FBML. Apa sih bedanya ?, suatu saat akan saya bahas khusus mengenai perbedaannya.
Sekarang kita akan membahas lebih dalam mengenai, FBML, API, dan FQL.

FBML
FBML merupakan singkatan dari Facebook Markup Language , hal menarik bagi saya pada awalnya, karena kita bisa dengan mudah mendapatkan informasi dan tampilan yang telah disediakan oleh facebook dengan mudah. Seperti apa sih contohnya ?

<fb:name uid="12345" /> // akan menghasilkan nama sesuai uid yang tertera.
<fb:profile-pic uid="12345" linked="true" /> // akan menghasilkan tag html <img/> dengan property src foto dari uid yang tertera.

Semuanya sudah terdokumentasi lengkap di http://developers.facebook.com/docs/reference/fbml/. Namun yang perlu anda perhatikan adalah render method yang anda pilih. Tidak semua FBML dapat berjalan jika anda memilih iFrame, bahkan anda harus menggunakan XFBML jika anda menggunaan iFrame. Berikut contoh penggunaan FBML pada iFrame :

<fb:serverFbml style="width: 755px;">
<script type="text/fbml">
<fb:fbml>
<fb:request-form
action="<URL for post invite action, see fb:request-form docs for details>"
method="POST"
invite="true"
type="XFBML"
content="This is a test invitation from XFBML test app
<fb:req-choice url="see fb:req-choice docs for details."
label="Ignore the Facebook test app!" />
">
</fb:request-form>
<fb:multi-friend-selector
showborder="false"
actiontext="Invite your friends to use Facebook." />
</fb:fbml>
</script>
</fb:serverFbml>

FQL
FQL merupakan singkatan dari Facebook Query language. Satu hal lagi yang menarik dari facebook, kita dapat menggunakan gaya query hampir sama seperti SQL. Namun berbeda dengan SQL, pada FQL kita hanya dapat menggunakan satu table pada clause WHERE, Misalkan :

SELECT name FROM user WHERE uid = me();

Contoh FQL diatas akan memberikan kita hasil nama dari user yang sedang login.
Untuk melakukan subquery kita dapat menggunakan keyword IN, namun subquery tidak dapat mengakses variable yang berada diluar skope, misalkan :

SELECT uid, name, pic_square FROM user WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me());

Saat ini Facebook baru mensuport beberapa fungsi dalam FQL, yaitu now(), strlen(), substr(), strpos() dan me().
Bagaimana dengan informasi lainnya, kita tinggal memilih table dan field yg kita inginkan. Untuk list lengkapnya bisa dibuka di http://developers.facebook.com/docs/reference/fql/

API
API yang disediakan facebook cukup banyak, Mulai dari Graph API hingga Flash SDK. Masing-masing keterangan bisa dibaca sesuai topic masing-masing API yang digunakan. Berdasarkan pengalaman saya, untuk pengembagan aplikasi facebook pada Website dan Application Facebook(apps.facebook.com), lebih baik anda menggunakan JavaScript SDK dengan Old REST API/Graph API.
Saya akan memberikan sedikit kunci pemahaman menggunakan Graph API maupun Old REST API disini.
Masing-masing memiliki cara yang berbeda untuk inisialisasi awal.
Pada Graph API(jika kita menggunakan PHP) :

$facebook = new Facebook(array(
'appId'  => $fbconfig['appid'],
'secret' => $fbconfig['secret'],
'cookie' => true,
));
//Facebook Authentication part
$session = $facebook->getSession();
$loginUrl = $facebook->getLoginUrl(
array(
'canvas'    => 1,
'fbconnect' => 0,
'req_perms' => 'email,offline_access,publish_stream,status_update'
)
);
$fbme = null;
if (!$session) {
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
else {
try {
$uid      =   $facebook->getUser();
$fbme     =   $facebook->api('/me');
$token = $session['access_token'];
} catch (FacebookApiException $e) {
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
}

Pada Old REST API(PHP SDK) :

$facebook = new Facebook(API_KEY, SECRET);
$facebook->set_user($uid, $sessID);

Contoh pada Old Rest API untuk mendapatkan seluruh isi dari Album User :
$albums = $facebook->api_client->photos_getAlbums($uid, NULL);
Contoh pada Graph API untuk mendapatkan Seluruh isi dari Album User :
curl -F ‘access_token=…’ \

https://graph.facebook.com/me/albums

sebelumnya kita sudah membicarakan mengenai apa itu access token.

Semua hal yang berkaitan mengenai Facebook API, sudah terdokumentasi lengkap di http://developers.facebook.com/docs/.

Kedepannya saya akan lebih banyak memberikan contoh, showcase, serta tips dan trik untuk facebook development. Owh ya, tidak lupa saya ucapkan terima kasih kepada Dhub Digital yang memberikan saya pengalaman terhadap Facebook Development.

Media Temple

(mt) Media Temple

(mt) Media Temple

Setelah trauma bertahun-tahun(alay) karena hosting lama saya sering mengalami masalah, akhirnya saya memutuskan untuk berpindah ke lain hati. Tentunya anda akan bingung kenapa saya berpaling dari hosting yang lama, berikut beberapa hal yang sudah terjadi :

  • Seluruh hosting terkena serangan malware.
  • Sering sekali Down.
  • Masa Down time yang cukup lama.
  • RTO.
  • Harddisk server terbakar ! -> ini yang paling sulit diterima.
  • Dan hal-hal lainnya yang membuat tidak nyaman.

Lalu apa itu media temple (mt)?
Media Temple, Inc adalah sebuah perusahaan web hosting dan service virtual yang bermarkas di Los Angeles, California. Ada beberapa hal yang membuat saya untuk lebih memilih media temple dibandingkan hosting yang lain, yaitu :

  • (mt) memiliki commercial dan backup power.
  • Heat Rejection
  • Fire Suppression, Dry pipe
  • Beberapa client yang cukup besar seperti Adobe, Starbuck, Sony, Toyota, Qantas, VW, Warner Bros, Tech Crunch, Diesel, Rip Curl, abc, nbc, dll, silahkan cek di http://mediatemple.net/company/clients/

Ketika pertama kali tahu bahwa Adobe hosting di (mt), wah gak mau kalah sama Adobe,hehe walau paket hosting yang dipilih berbeda jauh :D. ya setidaknya ibarat rumah satu komplek lah :D
Ada beberapa macam jenis hosting yang disediakan oleh (mt) seperti :

  • (gs) Grid-Hosting – $20/month | Great for: Small Businesses, Newbies, Devs, Designers
  • (dv) Dedicated Virtual – starting at $50/month | Great for: Multi-Domain, Intermediate, Devs, Designers
  • (dvp) Nitro – $750/month | Great for: Big traffic, big projects, single tenant needs
  • (ve) Server – starting at $30/month | Great for: Devs, Admins, Linux geeks, Root Access, SaaS
  • (cx) Complex Hosting – please contact (mt)

So bagi teman-teman yang sedang berencana mencari hosting, dengan penuh semangat saya merekomendaikan (mt). Oh iya ada satu hal yang pastinya sangat bermanfaat untuk para  pembaca, disini saya akan memberikan sebuah kupon yang bisa dipakai untuk mendapatkan diskon 20%

Coupon Code : ‘retailmenot’

Kado ulang tahun dari O’Reilly

Flex 3 Cookbook

Flex 3 Cookbook

Sebelumnya selamat Ulang tahun fathi yang ke 19 (^_^). Kemarin adalah hari yang spektakuler, coba anda bayangkan mendapatkan 180 lebih ucapan selamat ulang tahun di wall facebook, sms, dan media lainnya. Sampai-sampai saya bingung untuk membalas semua ucapan ultah di facebook maupun sms, wah banyak banget, cape’. Makasih ya semua. Setelah melalui hari yang cukup melelahkan, akhirnya saya memutuskan untuk pulang kerumah di daerah matraman salemba. Setibanya disana saya melihat sebuah paket kiriman dari luar, dan ternyata pengirimnya adalah O’Reilly.

Hore, buku yang saya sangat inginkan diberikan cuma-cuma sebagai kado ulang tahun untuk saya dari O’Reilly. Sebagai rasa terima kasih saya kepada O’Rielly, maka saya akan mereview buku mereka sebagai bentuk promosi. (^_^)

Mungkin anda bertanya, kenapa buku ini yang saya inginkan bila dibandingkan buku Flex lainnya ?. Dikarenakan buku ini mempunyai isi yang begitu menarik, maksud saya adalah formatnya, coba lihat sample dibawah ini :

Problem : You need to select regions or items on your chart
Solution : Use the selectionMode attribute of your chart to set the selection type you want; then
use mouse, keyboard, or programmatic means to select items on your chart
Discussion : Just as with the different list components, chart elements are selectable. This might be
used for showing more detail on a data point with data grids or a secondary chart. To
make a chart selectable, you set the selectionMode attribute to single or multiple (the
default value of this attribute is none). A none value does not allow any selection, a
single value allows only one item to be selected at a time, and a multiple value allows
multiple items to be selected. bla bla bla . . . . . .

Bagus kan ?, buku ini memiliki jumlah halaman sebanyak 704 halaman. Bagi anda yang berminat untuk membeli buku atau hanya sekedar ingin melihat sample chapter, silahkan buka http://oreilly.com/catalog/9780596529857

Harga buku ini lumayan mahal, sekitar $45. Tapi apalah arti uang bila dibandingkan peningkatan skill (^_^)