Friday, November 18, 2011

Segmentation Fault di PHP

Tadi siang tiba-tiba file bot PHP gw mati. Setelah gw cek, ternyata ada 1 line code yang selalu menyebabkan file tersebut mati, yaitu str_get_html . Matinya pun aneh, berenti tiba-tiba tanpa permisi ataupun teriak-teriak di log. Akhirnya kucoba memasang try-and-catch-exception, eh anehnya tetap lolos.

Pusing begitu, akhirnya bertanyalah ke mbah google, stackoverflow, dll. Disarankan untuk verbosing, aku memasang kode berikut ini:

error_reporting(E_ALL);  
ini_set('display_errors', 1);

Dan voila, muncullah si brengsek satu itu "segmentation fault". Wuahhh, langsung deh teringat dengan nostalgia masa kuliah, ketika memprogram dengan bahasa C ^^. Ternyata, segmentation fault itu terjadi akibat PHP kehabisan jatah memori untuk memproses string kode HTML menjadi linked-DOM-object.

Akhirnya diputuskan, kalau ternyata panjang stringnya udah keterlaluan, maka ga usah diparse menjadi linked-DOM-object.

So, kode programnya menjadi seperti ini:


$html_code_str = get_html_code($link);
$html = null;
if (strlen($html_code_str) < 500000) {
    $html = str_get_html($html_code_str);
} else {
    print "exceed max string length => unprocessed";
}

Wednesday, October 12, 2011

Tekanan Ban Motor

Tiap kali gw isi bensin di pompa bensin yang menyediakan fasilitas isi angin gratis (seperti "beberapa" Pertamina PASTI PAS, Shell dan Total) gw selalu bingung "berapa sih tekanan angin untuk ban motor gw?". Well, setelah berbulan-bulan selalu diganggu dengan pertanyaan itu, akhirnya tadi siang tercetus ide cemerlang, yaitu cek di internet. Hahaha ide basi ya :p

Anyway, untuk tekanan ban motor yamaha mio gw, yang gw lupa berapa ukuran diameter bannya. Ban depan bertekanan 200 kPa atau 2,00 kgf/cm2 atau +- 29 Psi. Ban belakang bertekanan 225 kPa atau 2,25 kgf/cm2 atau +- 32,63 Psi. (Sumber: yahoo_answer dan asknumber).

Lalu setelah gw googling lebih lanjut, gw berhasil menemukan saran bahwa, tekanan ban ketika musim kering dan musim hujan sebaiknya berbeda. Di musim kering, setting di atas dapat digunakan, namun untuk musim hujan, ada yang menyarankan untuk mengurangi tekanan ban depan menjadi 27 Psi dan ban belakang menjadi 30-31 Psi supaya ban lebih "menggigit" atau "menapak" jalanan.

Tuesday, October 4, 2011

PHP untuk no-cache

Berikut ini kode program PHP yang digunakan untuk menjamin no cache. Kode program ini dapat berjalan di IE, firefox dan Chrome. Terakhir dites tanggal 4 oktober 2011

session_start();
session_cache_limiter('private');
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Expires: 0");

Wednesday, September 7, 2011

Pembayaran SITTI kedua

Alhamdulillah akhirnya SITTI telah membayar penghasilan keduaku. Lumayanlah buat jajan. Ayo frens, daftar menjadi publisher SITTI ^^