Monthly Archives: December 2010

4 Comments

Share This :

Saya bukan termasuk orang yang tergila-gila dengan sebuah gadget. Sudah sejak lama saya ingin memiliki sebuah music player. Sempat ingin beli sebuah mp3 player beberapa kali namun selalu gagal. Dan entah kenapa saat bangun tidur, tiba-tiba saja kepingin sebuah iPod. Padahal terpikir pun tidak. Sebenarnya alasannya sih cuma pengen dengerin sholawat aja :) Jadilah, akhirnya saya membeli sebuah gadget bermerk apple dengan nama iPod Touch yang terkenal itu.

Kebetulan ada seorang teman yang mencoba peruntungan dengan berjualan iPod. Akhirnya saya beli lah dari dia. iPod Touch ini merupakan generasi terbaru, dengan spesifikasi kurang lebih seperti ini :
Ukuran
Height: 111.0 mm (4.4 inches)
Width: 58.9 mm (2.3 inches)
Depth: 7.2 mm (0.28 inches)
Weight: 101 grams (3.56 ounces)
Teknis
CPU : ARM Cortex-A8 Apple A4, 1 GHz
Memory : 256 MB DRAM[updated]
Graphics : PowerVR SGX 535
OS : iOS 4.1
System requirements
USB 2.0
iTunes 10 or later
Mac: Mac OS X v10.5.8 or later
Broadband Internet access required; fees may apply.
MPEG-4 video, up to 2.5Mbps, 640x480 pixels, 30 frames per second, Simple Profile with AAC-LC audio up to 160Kbps per channel, 48kHz, stereo audio in .m4v, .mp4 and .mov file formats
H.264 video up to 720p, 30 frames per second, Main Profile level 3.1 with AAC-LC audio up to 160Kbps, 48kHz, stereo audio in .m4v, .mp4 and .mov file formats
Motion JPEG (M-JPEG) up to 35Mbps, 1280x720 pixels, 30 frames per second, audio in ulaw, PCM stereo audio in .avi file format
Support for 1024x768 pixels with Dock Connector to VGA Adapter; 576p and 480p with Apple Component AV Cable; 576i and 480i with Apple Composite AV Cable (cables sold separately)
Camera, photos and video
Video recording, HD (720p) up to 30 frames per second with audio; still photos (960x720) with back camera
VGA-quality photos and video up to 30 frames per second with the front camera
Tap to control exposure for video or stills
Photo and video geotagging over Wi-Fi

Akhirnya, saya punya sebuah gadget dengan merk terkenal... Dan saat nya melakukan "pemerkosaan" terhadap gadget ini :D Kebetulan ini adalah ipod touch generasi ke 4. Jadi seharusnya lebih banyak fiture yang bisa di dapatkan.

Share This :

Saya menggunakan CentOS 5.5 dengan webserver apache 2.2.3 dan PHP 5.1.6. Saat akan menggunakan fungsi regex yang berhubungan dengan karakter unicode seperti (‘X’, ‘pL’, dsb) ternyata terdapat error, dan setelah diselidiki ternyata pada PCRE (Perl Compatible Regular Expressions) ada sebuah fungsi yang belum aktif. Demikian pula saat saya memasang sebuah CMS open source dengan nama RackTables yang akan digunakan untuk inventaris rack, server dan semua peripheral yang ada di Data Center. terdapat sebuah error yang berhubungan dengan PCRE. Error-nya adalah
"PCRE compiled with --enable-unicode-properties FAILED"

PERMASALAHAN:
PHP yang terbaru menggunakan PCRE engine untuk menjalankan fungsi regular expression (regex). Karena itu, kita bisa langsung melakukan query langsung menggunakan pcregrep seperti berikut ini:

[pegasus@svr-cabul ~]$ pcregrep ‘/X*/u’ character.txt
pcregrep: Error in command-line regex at offset 2: support for P, p, and X has not been compiled

Dan ternyata hasilnya terdapat error, bahwa unicode tidak bisa dilakukan. Kemudian ada juga command pcretest untuk melihat hasil kompilasi pcre yang terpasang di komputer/server kita.

[pegasus@svr-cabul ~]$ pcretest -C
PCRE version 6.6 06-Feb-2006
Compiled with
UTF-8 support
No Unicode properties support
Newline character is LF
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack

Dari query diatas tampaklah bahwa memang ada yang kurang dalam kompilasi PCRE. dari query diatas diberitahukan bahwa "UTF-8 support" dan "No Unicode properties support". Hal ini berarti bahwa PRCE diconfig dan dicompile dengan opsi "-enable-utf8" yang memungkinkan PCRE untuk mengenali dan bekerja dengan UTF-8 encoded string. Namun, PCRE tidak dikompilasi dengan "–enable-unicode-properties" yang diperlukan mendukung karakter unicode seperti ' p', ' P', dan ' X'.

SOLUSI:
Untuk mengatasi permasalah ini, maka harus dilakukan kompile ulang terhadap PCRE. Karena saya menggunakan CentOS yang berbasi rpm, maka saya mencari src dari PCRE dan menemukannya di kernel.org yaitu di http://mirrors.kernel.org/centos/5.5/os/SRPMS/pcre-6.6-2.el5_1.7.src.rpm.

1. Download src

[pegasus@svr-cabul ~]$ wget http://mirrors.kernel.org/centos/5.5/os/SRPMS/pcre-6.6-2.el5_1.7.src.rpm

2. Install source rpm

[pegasus@svr-cabul ~]$ sudo rpm -ivh pcre-6.6-2.el5_1.7.src.rpm

perintah ini akan menaruh source kedalam folder /usr/src/redhat/SOURCES dan /usr/src/redhat/SPECS
3. Install rpmbuild
rpmbuild nantinya akan digunakan untuk mengkompile paket source rpm

[pegasus@svr-cabul ~]$ sudo yum install rpm-build

4. Lakukan konfigurasi
buka file /usr/src/redhat/SPECS/pcre.spec, kemudian cari baris

%configure --enable-utf8

dan rubah menjadi seperti berikut ini, kemudian simpan

%configure --enable-utf8 --enable-unicode-properties

5. Build rpm baru

[pegasus@svr-cabul ~]$ sudo rpmbuild -ba /usr/src/redhat/SPECS/pcre.spec

hasil akhir dari perintah diatas, akan membuat rpm baru, dan akan muncul seperti ini:

Wrote: /usr/src/redhat/SRPMS/pcre-6.6-2.7.src.rpm
Wrote: /usr/src/redhat/RPMS/i386/pcre-6.6-2.7.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/pcre-devel-6.6-2.7.i386.rpm

6. Install rpm baru:

[pegasus@svr-cabul src]$ sudo rpm -Uvh redhat/RPMS/i386/pcre-6.6-2.7.i386.rpm
Preparing... ########################################### [100%]
1:pcre ########################################### [100%]

7. Lakukan testing

[pegasus@svr-cabul src]$ pcretest -C
PCRE version 6.6 06-Feb-2006
Compiled with
UTF-8 support
Unicode properties support
Newline character is LF
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack

Dan akhirnya, server pun sudah support unicode. :D