Posted by: Furqon | March 12, 2009

Offline mode Firefox

Biar gak cari-cari lagi klo nemu masalah yang sama.

Masalahnya muncul ketika alamat yang kita tuju dari address bar firefox adalah address local (misal: http://localhost/), browser tidak akan memunculkan halaman yang dimaksud, kecuali jika kita terhubung dengan internet (online).

solusinya:

  1. ketik ” about:config ” dari address barr
  2. cari browser.offline-apps.notify
  3. set menjadi true dengan cara klik dua kali

Sudah keberapa kali ngalamin, tapi selalu lupa dan musti brawse-browse untuk cari solusinya.

Posted by: Furqon | February 19, 2009

Case: Upload, Validate, dan max_execution_time

Tulisan kali ini tidak secara khusus menjelaskan tiga proses yang telah disebutkan dalam judul. Kali ini gw coba berbagi satu kasus berkaitan dengan ketiganya. Kurang lebih kasus yang dihadapi adalah seperti ini:

  1. upload batch file berkestensi .txt,
  2. membaca per-baris file yang diupload, memvalidasi, dan insert ke dalam table
  3. batasan max_execution_time.

Bisakah pirsawan bayangkan gimana kalau data yang diupload itu misalnya terdiri lebih dari 100.000 baris kemudian akan kita entri ke dalam database, dengan kriteria macam-macam yang mengakibatkan setiap baris yang akan di entri ke dalam database harus divalidasi, kemudian dicatatkan log berhasil tidaknya dst.. Sangat besar kemungkinan sebelum program kita mencapai baris ke 100.000, program kita akan berhenti karena kehabisan nafas. timeout, halt, modyar.

Nah kali ini, saya mau berbagi kali aja ada yang mau nangkep. Ide besarnya adalah membagi 100.000 baris data tadi kedalam segmen-segmen kecil sehingga tiap segmen behasil dieksekusi tanpa mengakibatkan program validasi kita kehabisan nafas.

Berikut pseudocode-nya.

  1. form upload: user upload file .txt,
  2. submit: file diupload ke dalam satu folder tertentu.,
  3. segera setelah data berhasil diupload, jalankan script untuk membaca file,
    • baca panjang baris data (  while( fgets() ) $i++   )
    • tentukan jumlah baris paling aman, sehingga proses validasi tidak halt (sebut satu segmen, misal 1000 baris)
    • mulai baca  perbaris data sampai batas atas segmen
    • ketika mencapai ujung  segmen, stop pembacaan
    • kembalikan ke view (buat pesan sesuai selera) panggil fungsi untuk membaca segmen ke 2.
    • lakukan hingga program membaca baris paling akhir
  4. ketika pembacaan berakhir beri user kabar gembira, entri telah berhasil

Cara di atas menggunakan ajax sehingga proses eksekusi antar segmen bisa berlangsung. Ketika satu segmen telah selesai dibaca, lakukan eksekusi fungsi melalui ajax dengan parameter (segment, namafile dst).

Sok atuh kalo ada yang mau tanya.. dari gaya tulisnya sih.. musti banyak yang dipertanyakan.. :)

UI upload,validate

UI upload,validate

Posted by: Furqon | February 13, 2009

Proyek Kolaboratif

Traversa

Traversa

 

Alhamdulillah (atau astaghfirullah) awal tahun ini dapet amanah baru, dapet kesempatan baru untuk me-lead developer untuk membuat sebuat aplikasi managemen routing untuk satu perusahaan telco. Ada beberapa hal yang harus dipersiapkan kurasa untuk menunjang keberhasilan proyek ini. Dikarenakan tatap muka yang tidak begitu intens maka kemungkinan gagalnya proyek ini cukup besar. Seluruh aktivitas dilakukan secara online.

 

  1. subversion
    sebuah system untuk mengontrol source code yang dikembangkan. system ini sangat penting karena pengguna (pengembang) source code terdiri lebih dari satu orang, sehingga ada kemungkinan satu file diedit lebih dari satu orang. system ini memungkinkan adanya proses merging dari dua orang programmer yang mengedit satu file bersamaan. system ini juga memungkinkan adanya rollback kepada versi sebelumnya jika sesuatu terjadi pada versi terbaru, dst.
  2. bugtracker
    ini adalah web based tools yang digunakan untuk mencatat seluruh aktivitas development. ia digunakan untuk mencatat request-request terhadap aplikasi, mencatat bug-bug sampai assignment siapa yang harus bertanggung jawab terhadap bug tersebut dengan priority yang bisa kita set. 
  3. unit testing
    aplikasi yang baik adalah aplikasi yang bug-free. bagaimana kita bisa meminimalisasi bug-bug yang kemungkinan muncul dalam aplikasi kita? diperlukan seseorang yang mampu melakukan QC satu persatu terhadap fungsi-fungsi hingga module-module, sehingga aplikasi kita bug proofed. cara lain lagi adalah dengan membuat unit testing yang akan bekerja secara otomatis tanpa bantuan tangan manusia.
  4. timeline
    karena proyek ini memiliki tenggat waktu, maka setiap orang yang terlibat memiliki tanggung jawab masing-masing yang harus diselesaikan pada satu waktu tertentu. untuk ini kita bisa menggunakan schedule/calendar yang dimiliki google, yang bisa kita share dengan sesama anggota developer dan akan memberikan alert via mail/ponsel jika ada event tertentu.

Ah.. kiranya cukup itulah dulu.. kalau ada yang mau berkomentar. Monggo silaken, saran dan kritik sangat diharapkan. Semoga proyeknya kelar tepat waktu.. :)

Posted by: Furqon | February 4, 2009

- – - – - 8< – - – - -

Gunting disini..

Itu kurang lebih tanda yang biasa kita jumpai di lembar isian formulir untuk menandai bagian yang terpisah dari sebuah formulir.

Trus ngapain itu dijadiin judul sebuah posting? penting amat emang?

Ya nggak ada pentingnya sama sekali sih buat pirsawan sekalian, tapi menurut gue itu penting karena itu yang menjadi pengingat buat gue pribadi bahwa gue akan menapaki sesuatu, sebutlah, a new begining.  Koq new? ya abis dulu-dulu belum pernah sih.. :)

Ada satu tulisan karya pak Godin berjudul The thing about goals, yang cukup menyentil saya. Hidup sudah seperempat abad lebih koq sepertinya mengalir begitu saja. No plans, no goals, no steps… no way !

Kenapa kita mesti punya goals? objectives? tujuan? mimpi? cita-cita? Mungkin udah banyak sih buku-buku motivasi yang bilang kenapa. Tapi bagi gue pribadi sebuah tujuan yang jelas memaksa kita untuk:

  1. Menyadari apa yang kita punya. Poin ini adalah fase menakar kelebihan dan kekurangan yang kita miliki. Istilah kerennya analisa SWOT. Ini bisa juga berarti lingkungan seperti apa yang ada di sekitar kita. Mampukah gue merealisasikan tujuan itu, ataukah itu terlalu absurd, muluk-muluk, sehingga tujuan kita mesti di-adjust.
  2. Menentukan langkah-langkah. Dari kompilasi modal dasar nomor satu yang kita punya, kita bisa punya gambaran apa yang kira-kira harus dilakukan dan bagaimana mengolah resource yang ada. Memecahnya kedalam batu capaian, sehingga kita bisa merasakan bahagianya mendapatkan kesuksesan-kesuksesan kecil untuk menyemangati perjuangan kita.
  3. Memperkirakan berapa lama tujuan itu harus dicapai. Ini penting, karena kita jadi memiliki beban moral untuk selalu terpacu menuntaskan tujuan kita tepat pada waktunya. Membuat tujuan kita jadi lebih measurable.

Gue rasa ini penting untuk ditulis buat gue pribadi. Kalo ada yang bilang wuih narsis amat, ya silaken sahaja. Setidaknya gue jadi malu dan inget, klo di tengah jalan gue lupa dan melipir dari tujuan semula gue. Gue rasa setelah semua langkah itu dicatat, tinggal butuh satu poin lagi.. yaitu istiqomah, konsistensi dari diri kita untuk tetap di track yang udah dirancang.

Selain istiqoman, mungkin hal penting lain adalah teman yang selalu mengingatkan (baca istri). Dooh jadi malu sendiri..

aaah.. kenapa tak jadiken saja itu salah satu tujuan yang harus dicapai dalam waktu dekat ini.. hmmm menarik…

 

aah.. having goals is a pain in the neck..

Posted by: Furqon | January 30, 2009

Ada Juga symfony

gak sengaja buka republika.co.id, ternyata ada juga penggemar symfony diantara selipan codeigniter di jajaran web-web berita indonesia.. :)

 

)

Republika pakai symfony :)

Posted by: Furqon | January 28, 2009

Gerhana Matahari

Alhamdulillah kemarin tanggal 26 Januari 2009 sekitaran jam 16.00 WIB, gerhana matahari cincin berhasil di-capture.. Untuk meng-capture ini sebenernya ada beberapa metode seperti. Salah duanya adalah dengan menggunakan teknik pinhole photography dan cara lainnya adalah dengan menggunakan filtering.

Cara pertama dilakukan dengan membuat prakarya pinhole bersama Dito. Cara ini pada prinsipnya seperti membuat layar tancap dengan sumber cahaya melalui lubang kecil yang ditangkap oleh layar. Gambar inilah nantinya yang akan kita capture. But unfortunatelly, this method… bloated.. salah tafsir dari instruksi pembuatan. Walhasil diketawain sama ponakan-ponakanku yang lutju-lutju ituh.. :D

Beruntung pas sebelum shalat gerhana dilangsungkan. Gw inget dulu pernah liat-liat matahari pake disket jebod yang tipis itu, dicari-cari lah sehingga akhirnya berhasil ketemu.

Disket Jebod

Disket Jebod

Nah caranya adalah tuh disk ditempel di hood lensa, trus kita bisa langsung keker deh tuh gerhana. Yah untuk amannya, kecepatan shutter dibikin yang paling cepet (1/4000 di gw) dan bukaan lensa paling kecil (f36 di gw), set fokus ke manual, WB atur sendiri deh sesuka hati..

 

Half eclipse

Half eclipse

 

Gerhana the series..

Gerhana the series..

Thats it.. so semoga kapan-kapan nemu gerhana dah gak bingung..

happy hunt then.. :)

Posted by: Furqon | November 27, 2008

Setting CodeIgniter + AdoDB

Dikarenakan adanya request dari seorang pengunjung untuk mensettingkan codeigniter-nya dengan adoDB. Dengan senang hati saya akan sampaikan langkah-langkahnya.

Langkahs:

  1. mungkin liat-liat dulu kenapa musti gunakan adodb ketimbang fasilitas yang sudah diprovide oleh CI. kali aja abis baca itu gak jadi nerusin, kan ga jadi buang waktu :D
  2. klo langkah satu sudah ok, donlod adodb
  3. extract file ke dalam CI/system/application/libraries/adodb/
  4. kita buat CI untuk me-load adodb yang baru kita masukkan
    buka file CI/system/application/config/autoload.php, tambahkan load libraries:
    $autoload['libraries'] = array(‘database’, ‘adodbloader’); 
  5. lalu kita coba liat libraries adodbloader ini (baca: dibuat ato donlod)

Read More…

Posted by: Furqon | October 29, 2008

Indonesia Militan

My Kampung from a distance

My Kampung from a distance

Setiap hari, Andi Rabiah mengarungi lautan, dari satu pulau ke pulau lain. Siang dan bahkan malam. Jarak satu pulau ke pulau lain bisa mencapai 13 jam perjalanan. Ombak tinggi kadang menghantam perahunya yang sederhana. Namun, suster Puskesmas Pulau Sapuka, Pangkep, Sulawesi Selatan, itu tetap melaksanakan tugas mulia: mengobati orang-orang sakit diare.

Lebih 29 tahun, suster berjilbab berusia 49 tahun itu menjalani tugas yang mengancam jiwanya. Namun, justru untuk menyelamatkan jiwa pasiennya yang tersebar di 25 pulau di perbatasan antara Laut Flores, Laut Jawa, dan Selat Makassar. Beberapa kali, dia mengalami kecelakaan.

Pernah suatu ketika, perahu Rabiah hancur dihantam ombak dan dia terdampar di karang selama tiga hari.
Ketika kemarin bangsa ini memperingati 80 tahun Sumpah Pemuda, perjuangan Hj Rabiah–yang ditulis Republika tahun lalu–menjelaskan keikhlasan dalam melaksanakan kewajiban. Suster Apung itu berhari-hari di tengah laut yang bergelombang untuk menemui pasiennya yang kebanyakan orang miskin. Ibu empat anak itu mendahulukan kepentingan orang lain daripada dirinya. Dia adalah seorang militan.

A Riawan Amin, Senin (27/10), meluncurkan tiga bukuSatanic FinanceThe Celestial Management, danIndonesia Militan. Buku Indonesia Militan mengingatkan saya pada perjuangan Rabiah di tengah rakyat yang memilih pemimpin karena sejumlah uang; pemimpin yang menghabiskan puluhan miliar rupiah mengiklankan dirinya untuk meyakinkan rakyat bahwa dia berjuang demi orang miskin.

Dalam perenungan Riawan, bangsa ini memerlukan semangat militansi. Bung Karno dan Bung Hatta contoh dari militansi itu, mengobarkan api perjuangan bangsa. Bapak Bangsa itu mempertaruhkan jiwanya, menggerakkan rakyat untuk merebut kemerdekaan. Bung Hatta, yang dipenjara dan dibuang, bahkan berjanji tidak akan menikah sebelum cita-cita perjuangan mengantarkan Indonesia merdeka tercapai.

Read More…

Posted by: Furqon | October 13, 2008

Pano Rendering

sawah field at back of my uwak’s home.

beach view of my neighborhood.

kebon kelapa at walantaka.

Autopano, tools yang digunakan menyatukan potongan-potongan gambar landscape, sehingga menghasilkan sudut pandang yang lebih luas. Menggunakan metode canggih matematika RANSAC. Kinda remind me to the beautyness of mathematics.

taken while mudik.

Posted by: Furqon | September 24, 2008

Semoga Hujan Turun Membawa Keberkahan

25 Ramadhan 1429H..

Gerimis Syahdu

Gerimis Syahdu

Tiba-tiba saja, malam ini hujan mengguyur Jakarta dan juga bertepatan dengan malam ganjil di sepuluh malam terakhir ramadhan. Adakah ini ciri lailatul qadr?

Abdullah bin Unais r.a. berkata bahwa Rasulullah saw. bersabda, “Pernah diperlihatkan kepadaku malam Lailatul Qadar, tapi aku melupakannya. Waktu itu, shubuhnya aku sujud di lantai berlumpur.” Abdullah bin Unais berkata lagi, “Pada malam ke-23 itu turun hujan dan Rasulullah saw. shalat bersama kami. Pagi harinya Rasulullah saw. meninggalkan kami, terlihat pada kening dan hidung Rasulullah saw. ada bekas lumpur.” (H.R. Muslim)

Ya Allah… jika ini adalah malam-Mu, maka ijinkan aku tuk meraihnya. Kuatkan aku tuk menggapainya.

Sesungguhnya Kami telah menurunkannya (Al Qur’an) pada malam kemuliaan.
Dan tahukah kamu apakah malam kemuliaan itu?
Malam kemuliaan itu lebih baik dari seribu bulan.
Pada malam itu turun malaikat-malaikat dan malaikat Jibril dengan izin Tuhannya untuk mengatur segala urusan.
Malam itu (penuh) kesejahteraan sampai terbit fajar.

(QS Al Qadar: 1-5).

Yah kapanpun datangnya malam itu, mau hujan atau tidak, sepertinya tetap kita harus optimis bahwa malam inilah lailatul qadr. Usaha keras dan tetap terus berbaik sangka. Semoga Allah limpahkan keberkahan pada kita malam ini itu.

Semoga hujan turun membawa keberkahan.

@jsx building, menunggu hujan.

« Newer Posts - Older Posts »

Categories