Tuesday, May 31, 2011

Tips searching di google

Search skill di google adalah suatu hal yang sangat penting saat ini. Terutama sebagai programmer yang sangat jarang mendapatkan supervision dan mentoring dari atasannya.

Terdapat beberapa tips yang sering saya pakai dalam menggunakan google :
  1. Mencari keyword hanya dalam suatu site (ex :  site:agungbayuiswara.blogspot.com google)
  2. Mencari file dari suatu keyword (ex : ijazah filetype:doc)
  3. Mendefinisikan kata : (ex : define : roflmao)
  4. Currency : (ex : 1 sgd in rupiah)
  5. Menampilkan waktu : (ex: time jakarta)
  6. Google juga bisa dipake calculator! (ex : 1 + 2 + 3 + 4)
Have fun!

Exhausted Body

Ternyata tidak cuma komputer yang bisa exhausted (seperti tulisan sebelum nya, exhausted memory). Tubuh ini ternyata lebih mudah untuk menjadi lelah. Setelah beberapa hari dijejali berbagai macam pekerjaan. Baik dikantor maupun di kost, baik fisik maupun pikiran, akhir nya tubuh ini menyerah juga. 3 hari terkapar lemas di kamar kost.

Memang belakangan ini saya sangat jarang memperhatikan kesehatan. Dulu biasanya saya membeli supplement untuk menjaga kebugaran, tetapi belakangan ini sudah sangat malas untuk membeli hal - hal seperti itu lagi..

Padahal menurut atasan saya dulu, "Tubuh manusia tidak dibentuk untuk bekerja lebih dari 8 jam". Tapi pada kenyataannya saya memaksa tubuh ini bekerja sedari mata mulai terbuka. Belum lagi kalau ada pekerjaan diluar kantor (seperti freelance) yang lain. Wah bisa jadi untuk tidur pun cuman sempat 1/6 hari.

Tampak nya cara hidup seperti ini bukanlah suatu cara hidup yang "baik". Priority Scale harus dirubah. Dari tubuh, baru ke pekerjaan. Sayangilah tubuh anda lebih dari apa pun! Kesehatan adalah priceless.

Monday, May 23, 2011

Memory size exhausted pada CI

Lama saya mentrace error yang terjadi pada Codeigniter (Memory Size Exhausted) saat akan melakukan insert ke import suatu table dalam jumlah yang cukup besar.

Cukup aneh karena error tersebut tidak terjadi jika saya melakukan import dengan Command mysql_query dari php sendiri.

Ternyata error nya berasal dari driver database dari CI. Pada class CI_DB_driver, di file system/database/DB_Driver.php terdapat satu variable yaitu $save_queries. Nilai nya TRUE, dan setiap kali saya melakukan query, isi dari variable tersebut selalu bertambah.

Setelah saya merubah nilai nya menjadi FALSE, error tersebut dapat diatasi.
Cukup aneh, karena saya sendiri tidak menemukan dimana saya bisa merubah nilai tersebut dari konfigurasi CI (configurasi database pada folder config).

Thursday, May 12, 2011

Mouseover vs Mouseenter Jquery

Baru sadar kalau mouseover berbeda dengan mouseenter pada jquery.

Mouse over & mouse out event ditrigger saat mouse sama masuk / keluar dari element. Tapi dilanjutkan ke element child dimana event tersebut tertrigger. Jadi saat mouse masuk kedalam element, dan kemudian masuk lagi ke child dari element tersebut, event akan tertrigger kembali.

Sebalik nya mouseenter & mouseleave akan tertrigger saat masuk / keluar element, tapi event akan masih berlaku saat mouse masuk child dari element.

Sunday, May 8, 2011

All about Diabetes

Mari kita gali lebih dalam tentang Diabetes. Artikel berasal dari berbagai sumber. Dan maaf jika tidak mencantumkan asal dari sumber tersebut.

Background, karena saya memiliki keturunan diabetes maka akan sangat penting untuk menghindari aktivitas dan makanan yang dapat memicu naik nya gula darah melebihi batas normal.

Sebetulnya inti utama dari pencegahan penyakit diabetes adalah dari pola makan. Beberapa makanan Sehat untuk mencegah diabetes :
  1. Kacang polong : Kacang polong tinggi serat. Serat merupakan komponen tumbuhan yang membuat Anda kenyang, menstabilkan kadar gula darah, dan bahkan menurunkan kolesterol. Setengah cangkir kacang hitam mengandung sekitar tujuh gram serat. Selain itu, kacang polong juga mengandung kalsium, mineral yang terbukti membantu membakar lemak tubuh. Setengah cangkir mengandung sekitar 100 gram kalsium, sekitar 10 persen dari asupan harian. Di samping itu, kacang polong juga merupakan sumber makanan yang kaya protein. Berbeda dengan sumber protein hewan (daging), kacang polong rendah lemak jenuh, lemak yang menyumbat arteri dan memicu penyakit jantung.
  2. Susu : Produk susu, seperti susu, keju dan yogurt, kaya kalsium dan vitamin D. Sebuah studi, seperti dikutip situs perevention.com, menemukan, perempuan yang mengonsumsi lebih dari 1.200 mg kalsium atau lebihdari 800 internasional unit (IU) vitamin D sehari berisiko 33 persen lebih rendah menderita diabetes dibandingkan mereka yang mengonsumsi kedua nutrisi ini dalam jumlah kurang. Tapi, pastikan memilih produk susu yang rendah atau bebas lemak.
  3. Salmon :
    Salmon kaya asam lemak omega-3. Tiga ons salmon menyediakan sekitar 1.800 mg omega-3. Jenis lemak sehat ini berfungsi mengurangi risiko penyakit jantung, menurunkan berat badan, mengurangi peradangan, serta memperbaiki resistensi insulin. Selain itu, ikan ini juga mengandung vitamin D.
  4. Tuna :
    Tuna merupakan jenis ikan sehat yang juga kaya asam lemak omega-3. Tiga ons tuna menyumbangkan 1.300 mg omega-3 dan sejumlah vitamin D.
  5. Oats
    Oats juga kaya serat, setengah cangkir oat instan menyumbangkan empat gram serat. Penelitian menunjukkan bahwa pencinta oat bisa menrunkan kadar kolesterol total dan kolesterol jahat LDL serta memperbaiki resistensi insulin. Kandungan serat dalam oat memperlambat proses pemecahan dan penyerapan karbohidrat. Karena itu, kadar gula darah Anda akan tetap stabil.
  6. Biji rami
    Biji rami kaya akan serat dan alpha-linolenic acid (ALA), yang akan diubah tubuh menjadi omega-3 EPA dan DHA. Beberapa studi besar telah menemukan hubungan antara peningkatan asupan ALA dan penurunan kejadian penyakit jantung, serangan jantung, serta gangguan kardiovaskular lainnya. Biji berukuran kecil ini juga dinyatakan bisa menurunkan kadar kolesterol dan gula darah.
  7. Kenari
    Satu ons kacang sehat ini (sekitar tujuh biji) mengandung dua gram serat dan dua koma enam gram ALA. Tapi, jumlah tersebut juga menyumbangkan 185 kalori. Jadi, perhatikan jumlah asupan jika Anda sedang mempertahankan berat badan.
  8. Selai kacang
    Beberapa studi telah menyatakan bahwa selai kacang bisa mengurangi risiko diabetes. Kandungan serat di dalamnya (dua sendok makan mengandung dua gram serat) turut berperan dalam penurunan risiko ini. Selain itu, selai kacang juga mengandung lemak tunggal tidak jenuh yang baik untuk jantung. Tapi, makanan ini juga kaya kalori. Karena itu, perhatikan takaran asupan Anda.
  9. Cokelat hitam
    Cokelat ini kaya antioksidan flavonoid, yang berfungsi memperbaiki kadar kolesterol baik dan jahat serta mengurangi tekanan darah.(MI/ICH)

Salah satu cemilan yang cocok buat saya : http://www.sedapur.com/cgi-bin/daftarmerchant.cgi?profilmerchant&1290740437&&&&

Saturday, May 7, 2011

Highlight me - Jquery Plugin

Cukup lama meminta bantuan kepada mbah google untuk mencarikan plugin yang sesuai dengan apa yang saya inginkan, tetapi masih belum dapat juga. Putus asa mencari, akhir nya memutuskan untuk buat saja sendiri.

Berikut plugin Highlight me, yang akan menghighlight image dengan mem-fade image disekitarnya.
(function( $ ){     
   $.fn.highlightme = function(options) {             
    var defaults = {
     fadespeed : "fast",
     fadeopacity : 0.1
    };
    var options = $.extend(defaults, options);  

    return this.each(function() {
     $(this).mouseenter(function(){
      $.each( $(this).siblings() , function(k, v) {
       $(v).find("img").stop().fadeTo(options.fadespeed, options.fadeopacity);
      });
      $(this).find("img").stop().fadeTo(options.fadespeed, 1);      
     });

     $(this).parent().mouseout(function(){          
      $.each($(this).find("img"), function(k, v){       
       $(this).stop().fadeTo(options.fadespeed, 1);
      });      
     });
    });
   };
  })( jQuery );
Penggunaan nya :
$(".testah").highlightme({
   fadespeed : "fast",
   fadeopacity : 0.1
  });
hasil nya :

Sunday, May 1, 2011

My Promise

In next 7 month from now i promise my self. i should prepare and be ready for that time. Time to prove to the world. This time i will never fallback again. I Promise.

Performa Web [Bandwidth | Latency]

Berbagai macam alat untuk mengakses performa dari sebuah website. Beberapa nama yang top seperti YSlow yang merupakan plugin dari Yahoo untuk browser mozilla, kemudian google juga mengeluarkan alat berupa website untuk mengukur performance yaitu pagespeed.googlelabs.com, dan beberapa website yang juga menghitung performa website, mereka kebanyakan tidak memberikan penjelasan detil terhadap beberapa hasil dari perhitungan mereka.

Dari segi network sendiri, sebetulnya terdapat 2 (dua) faktor yang menentukan kecepatan dari koneksi internet. Yang pertama adalah Bandwidth, kemudian Latency. Dua hal tersebut merupakan salah satu faktor sangat penting untuk di ingat jika untuk meningkatkan performa website.

Internet dengan bandwidth yang besar tidak selalu menyebabkan website terbuka dengan cepat. Biasanya internet dengan bandwidth yang besar cocok untuk membuka video secara streaming, atau mendownload file yang besar. Jadi semakin besar bandwidth tentu nya akan semakin bagus.

Berbeda dengan Latency, semakin kecil latency akan semakin bagus. Lantecy merupakan seberapa cepat client dapat berkomunikasi dengan server dan kemudian dari server bisa mengembalikan response. Setelah mereka membuat suatu koneksi, maka kecepatan internet selanjutnya akan bergantung pada bandwidth.

Latency & Bandwidth dapat di analogikan seperti Jalan raya. Lebar jalan adalah bandwidth, dan halus nya jalan adalah latency. Semakin besar jalan, maka semakin banyak kendaraan yang dapat melintas (bandwidth), dan semakin halus jalan maka semakin cepat kendaraan mencapai tujuan (lantecy).

Nah bagaimana hubungan nya dengan performa sebuah website?
Seperti yang disebutkan diatas setiap kali client mengirimkan request ke server maka server akan mengembalikan data yang sesuai dengan permintaan user. Semakin banyak request yang diminta oleh client, maka akan semakin lambat website tersebut, lebih lebih jika latency dari user besar. Oleh karena itu performa website akan lebih baik jika Request dikurangi.

Contoh pengimplementasian nya adalah dengan menggabung kan image (css sprite), kemudian menggabungkan JS & CSS menjadi satu file. Bayangkan saja jika sebuah website harus merequest 20 file css, dan 20 file js. dimana setiap request yang dminta memerlukan waktu sepertsekian detik untuk membuka koneksi, dibandingkan dengan hanya 1 file css dan 1 file js yang direquest.

Kemudian timbul pertanyaan, kalau file itu besar, lama dong download nya. Tentu saja. oleh karena itu kita perlu mengurangi size dari file tersebut. Beberapa cara untuk mengurangi besar file static (css, js, image).
Untuk CSS & JS dapat menggunakan script memperingkas syntax dari CSS & JS.
Untuk JS dapat menggukan tool berikut : http://dean.edwards.name/packer/ atau http://jscompress.com/
dan untuk CSS dapat menggunakan : http://www.minifycss.com/css-compressor/ atau http://www.csscompressor.com/

Dengan memahami konsep dari networking sendiri, akan banyak dapat melahirkan pemikiran pemikiran lain untuk memperbaiki performa dari sebuah website.

Menghindari karakter encoding aneh pada database - MySQL

Dahulu pada kantor yang lama, saat masih cupu - cupu nya, setiap kali XML merender error pada tampilan browser, selalu yang disalahkan content dari database nya. Padahal sebetulnya sebelum data di insert ke dalam database, data tersebut di proses terlebih dahulu melalui berbagai proses. Dan salah satu yang sering sekali terlupa oleh seorang programmer adalah encoding dari database.

Pada MySQL, standart collation dari database adalah Latin. Dimana collation tersebut, sesuai dengan nama nya hanya dapat menyimpan karakter - karakter latin. Saat table akan di insert dengan row baru, setiap karakter akan di convert menjadi collation yang berkesesuaian. Sehingga jika suatu saat table tersebut di insert dengan tulisan china, maka tulisan - tulisan tersebut akan di convert (biasa nya di convert menjadi "????" karena di collation latin tidak mengenali character tersebut).

Oleh karena itu sangat perlu di perhatikan Collation dari setiap field. Untuk aman nya lebih baik menggunakan Collation utf8-unicode-ci atau utf8-general-ci. Perbedaan antara kedua collation tersebut dapat dilihat pada pertanyaan berikut : http://stackoverflow.com/questions/2344118/utf-8-general-bin-unicode

Belum selesai sampai sana. Ada 1 lagi yang harus juga diperhatikan. Setiap kali melakukan query (ddl, dml, ataupun select), biasakan untuk mendefenisikan client character set. Untuk php dengan database MySql dapat menggunakan fungsi mysql_set_charset, dengan parameter utf8.

Dengan melakukan set pada database & php, maka akan terhindar dengan character - character aneh yang mungkin keluar dikemudian hari.