Wednesday, December 17, 2008

Facebook chat-plugin for Pidgin

If you're a multi-platform user like I did (Windows and Mac at home, Linux at office) you probably using a cross-platform application like Pidgin. I do enjoy using Pidgin for its capabilities to put all chat-platform (you name it, YM, Windows Live, GTalk, Jabber, Gadu-gadu, AOL, etc.) in one interface.

And as social networking brighten up with Facebook, probably you start to think, can we put facebook chat into Pidgin as well? The answer is YES. I just found out that Google Code made some kind of plugin to enabling facebook chat protocol in Pidgin. You can find it here

As a user of facebook, I'm really excited. Finally I can put all the chat protocol I've used into one simple interface. Go try it yourself!

Wednesday, November 26, 2008

CLI Applications

Remembering those good old days when there are no GUI for us :-p I've collected several application to use in Linux/Unix terminal, without X-server. Maybe there are more, but I narrowed it down to only the most used :-)

  1. Internet Browser: lynx, links
  2. Email Client: mutt or alpine
  3. IM: centerim
  4. Torrent Client: libTorrent - rTorrent
  5. Document: antiword, catdoc, wvWare
  6. MP3: madplay
  7. FTP: lftp
  8. PDF Manipulator: pdftk


CCache (gentoo documentation)

ccache (see homepage here) is a fast compiler cache. When you compile a program, it will cache intermediate results so that, whenever you recompile the same program, the compilation time is greatly reduced. In common compilations this can result in 5 to 10 times faster compilation times.

# emerge ccache
# ccache -M 2G //only for 1st install
# nano -w /etc/make.conf
# PATH="/usr/lib/ccache/bin:/opt/bin:${PATH}"

and to view ccache statistics, you can execute this command:
# CCACHE_DIR="/var/temp/ccache" ccache -s

Distribution Cross-Compiling


1. Instal paket distcc

 # USE="gtk" emerge distcc

2. Edit file make.conf

 # nano -w /etc/make.conf
MAKEOPTS="-jn" -> n = (2 x CPU) + 1

3. Setting host tempat proses akan dialihkan

 # /usr/bin/distcc-config --set-hosts "localhost host1 host2 ..."

4. Konfigurasi file distccd

 # nano /etc/conf.d/distccd
--allow [host1] [host2] -> IP PC yang diberi hak akses
--listen localhost -> PC yang bersangkutan
--log-file ...

5. Memasukkan link direktori distcc ke dalam default akses

 # export PATH="/usr/lib/ccache/bin: /usr/libdistcc/bin:${PATH}"

USB storage on Gentoo

USB Storage device on Gentoo:

1. Sebelum mem-plug usb device, sebaiknya cek dulu keberadaan device yg sudah ada di PC kita:
# cat /proc/partitions

   major minor   blocks  name
8 0 78150744 sda
8 1 104391 sda1
8 2 996030 sda2
8 3 52998435 sda3

2. Kemudian pasang usb device-nya, lalu cek dengan command 'dmesg' untuk memastikan bahwa device yang kita pasang sudah terdeteksi:
# dmesg | grep -i usb atau # dmesg

   scsi 2:0:0:0: Direct-Access     Kingston DT Elite HS 2.0  5.02 PQ: 0 ANSI: 0 CCS
SCSI device sdb: 2052607 512-byte hdwr sectors (1051 MB)
sdb: Write Protect is off
sdb: Mode Sense: 45 00 00 08
sdb: assuming drive cache: write through
SCSI device sdb: 2052607 512-byte hdwr sectors (1051 MB)
sdb: Write Protect is off
sdb: Mode Sense: 45 00 00 08
sdb: assuming drive cache: write through
sdb: sdb1 => menunjukkan partisi device ada di /dev/sdb1
sd 2:0:0:0: Attached scsi removable disk sdb => device baru terdeteksi sebagai /dev/sdb
sd 2:0:0:0: Attached scsi generic sg1 type 0
usb-storage: device scan complete

3. cek ulang dengan perintah berikut:
# cat /proc/partitions

   major minor   blocks  name
8 0 78150744 sda
8 1 104391 sda1
8 2 996030 sda2
8 3 52998435 sda3
8 16 1026303 sdb => sesuai dengan hasil dmesg
8 17 1025593 sdb1 => sesuai dengan hasil dmesg

6. membuat directory untuk mount device tsb:
# mkdir /mnt/usbdrive

7. mount device baru ke directory yang baru dibuat:
# mount /dev/sdb1 /mnt/usbdrive

8. setelah itu anda bisa mengakses isi dari usb device tersebut (read, write, execute) via directory /mnt/usbdrive

Useful Gentoo commands

Ada beberapa tambahan command yang berguna untuk gentoo linux installation

1. possible USE variables:

 # nano -w /usr/portage/profiles/use.desc

2. walkthrough untuk instalasi linux bisa dilihat di

3. instalasi cups : merupakan printer manager untuk linux

 # emerge cups
# rc-update add cups default

4. pointing kernel → buat yang belum tau.. karena saya juga baru tau :p

 # cd /usr/src
# ln -sfn [linux kernel] linux

5. merubah jam dan tanggal system:

 # date MMDDhhmmYYYY [MM:2 digit month ; DD:2 digit date ; hh:2 digit hour ; mm:2 digit minutes ; YYYY:4 digit year]

6. compile linux kernel:

 # cd /usr/src/linux
# cp .config /tmp
# make distclean
# cp /tmp/.config .
# make menuconfig -> exit -> save
# make -j9 cc=distcc -> -j[n] : n merupakan nominal pembagi proses

7. mengganti ip address di linux secara konsole:

 # ifconfig eth[n] [ip baru] netmask [netmask]
# /sbin/route add -net default gw [gateway baru]
# /sbin/route -n

8. cek package-dependancies di gentoo

 # equery --help
Usage: equery command

where is one of:
-q, --quiet - minimal output
-C, --nocolor - turn off colours
-h, --help - this help screen
-V, --version - display version info
-N, --no-pipe - turn off pipe detection

where command(short) is one of:
belongs(b) files... - list all packages owning files...
changes(c) - not implemented yet
check(k) pkgspec - check MD5sums and timestamps of pkgspec's files
depends(d) pkgspec - list all direct dependencies matching pkgspec
depgraph(g) pkgspec - display a dependency tree for pkgspec
files(f) pkgspec - list files owned by pkgspec
glsa(a) - not implemented yet
hasuse(h) useflag - list all packages with useflag
list(l) pkgspec - list all packages matching pkgspec
size(s) pkgspec - print size of files contained in package pkgspec
stats(t) - not implemented yet
uses(u) pkgspec - display USE flags for pkgspec
which(w) pkgspec - print full path to ebuild for package pkgspec

Gentoo Linux "extreme" Installation

mo pake linux yang mudah? pake aja gentoo linux :p

ini nih cara simple utk instalasi-nya:
1. donlod file iso untuk instalasi disini: donlod gentoo install minimal
2. burn itu file menjadi sebentuk cd.. tentunya
3. start pc dengan boot cd yang baru kamu burn
4. bikin partisi sesuai kebutuhan kamu, bisa pake cfdisk ato fdisk. command-nya: # cfdisk /dev/hdx ato fdisk /dev/hdx
contoh partisi:

 partisi          device          filesystem          mount          size
1 /dev/hdx1 ext3 boot +/-100mb
2 /dev/hdx2 swap swap +/-1000m
3 /dev/hdx3 reiser root +/-sisa space
4 /dev/hdx4 OS Lain OS Lain +/-sisa space

5. Setelah partisi jadi, musti di-format, pilihan file system dan command-nya:

 filesystem     creation command
ext2 mke2fs / mkfs.ext2
ext3 mke2fs -j / mkfs.ext3
reiserfs mkreiserfs / mkfs.reiserfs
swap mkswap

6. Mem-format partisi

 # mkfs.reiserfs /dev/hdx3     | # mkreiserfs /dev/hdx3
# mkfs.ext3 /dev/hdx1 | # mk2fs -j /dev/hdx1
# mkswap /dev/hdx2 | # mkswap /dev/hdx2
# swapon /dev/hdx2 | # swapon /dev/hdx2

7. Mounting partisi yang digunakan dalam instalasi gentoo

 # mount /dev/hdx3 /mnt/gentoo
# mount /dev/hdx1 /mnt/gentoo/boot

8. Setting NIC untuk koneksi network

 # net-setup eth0

9. Men-download dan meng-extract stage3-latest version

 # cd /mnt/gentoo
# wget stage3-[platform]-[latest].tar.bz2
# tar -jxvpf stage3...tar.bz2

10. Men-download dan meng-extract portage-latest version

  # wget portage-latest.tar.bz2
# tar -jxvf portage...tar.bz2 -C /mnt/gentoo/usr

11. # cp /etc/resolv.conf /mnt/gentoo/etc/

12. Editing make.conf

  # nano /etc/make.conf

13. Setting-up the chroot environment

  # mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev

14. CHROOT : change from current installation environment to the installation system

  # chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile

15. Clock Setting

  # rm -rf /etc/localtime
# ln -s /usr/share/zoneinfo/Asia/Jakarta /etc/localtime

16. Synchronize paket yang update dari server

  # emerge --sync

17. Melihat secara detail spesifikasi CPU

  # cat /proc/cpuinfo
# nano /etc/make.conf
USE="[tambahkan parameter yang didapat dari spesifikasi CPU]"

18. Localization

  # nano -w /etc/locale.gen -> hilangkan tanda '#' untuk yang en_US saja
# locale-gen

19. Men-download portage versi terakhir yang available dan men-synchronize-nya ke server

  # emerge portage
# emerge --sync

20. Meng-install paket binutils dan glibc

  # emerge binutils glibc
# binutils-config -> pilih yg versi terbaru
# source /etc/profile
# emerge -P binutils -> menghapus yang versi lama

21. Meng-install paket-paket yang diperlukan untuk compiling

  # emerge glibc binutils gcc libstdc++-V3 libtool portage

22. Meng-install gcc

  # gcc-config -l -> menampilkan versi gcc yang available
# gcc-config [n] -> n = no pilihan untuk versi yang terbaru
# env-update; source /etc/profile
# emerge -P gcc --> menghapus yang versi lama

23. Meng-update keseluruhan paket yang ada di CPU kita

  # emerge -e world
# etc-update -> pilih yang '-5' utk merge all files

24. memilih sources

  # emerge gentoo-sources [no-sources, ck-sources, vanilla-sources, etc.]
#ls -l /usr/src/linux -> utk melihat symlink dari kernel sources

25. Customizing kernel

  # cd /usr/src/linux
# make menuconfig
customize pilihan kernel sesuai dengan yang diinginkan

26. Boot Loader

  # emerge grub
# make all ; make modules_install ; make install

27. System Utility

  # emerge syslog-ng reiserfsprogs reiser4progs sysfsutils dhcpcd gentoolkit acpid slocate vixie-cron e2fsprogs

28. Add system utility to system startup

  # rc-update add syslog-ng default
# rc-update add net.eth0 default
# rc-update add acpid default
# rc-update add gpm default
# rc-update add vixie-cron default
# rc-update add numlock default

29. Editing menu boot loader

  # nano -w /boot/grub/menu.lst
timeout 5
default 0
splashimage = (hd0,0)/grub/splash.xpm.gz
    title = Gentoo Linux
root (hd0,0)
kernel /vmlinuz-[versi sources yg diinstal] root=/dev/hdx3

30. Instalasi boot loader

  # grub
root (hd0,0) #boot partition
setup (hd0) #(hd0) is the MBR of the drive

31. Setting up internal network configuration

  # nano /etc/conf.d/hostname
HOSTNAME="[hostname yg diinginkan sesuai dengan konfigurasi internal network]"

# nano -w /etc/hosts [domainname] localhost

# nano -w /etc/conf.d/net
dns_domain_eth0= ""
dns_servers_eth0= ""
config_eth0= ( " netmask brd" )
routes_eth0= ( "default via" )

# nano -w /etc/resolv.conf
nameserver [ip dns1]
nameserver [ip dns2]

32. Setting file /etc/fstab

  # nano /etc/fstab

33. Setting root password

  # passwd -u root

34. Menambah user yang memperoleh hak akses

  # useradd -m -G users,wheel,audio,video,cdroom,floppy,portage,usb -s /bin/bash [loginname yang diinginkan]
#passwd [loginname]

35. Preparing for restarting system

  # exit -> keluar dari chroot environment
# umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
# reboot

36. Instalasi X

  # emerge x11-base/xorg-x11 atau virtual/x11
# xorgconfig


SMTP dan POP command via Telnet:


 > telnet [smtp server] 25
helo a
mail from: [alamat email pengirim]
rcpt to: [alamat email tujuan]
subject: [subject]
[body email]
. // type a "dot" at this point

2. POP

 > telnet [pop server] 110
user [username]
pass [password]
stat #melihat isi mailbox
retr [no] #no=no email yg diinginkan utk diambil, berdasarkan command 'stat'
dele [no] #menghapus no email tertentu

Change IP Address - Linux

This is how to change IP address with command line interface:
  1. # ifconfig eth0 [ip address] netmask [subnet]
  2. # /sbin/route add -net default gw [ip gateway]
  3. # vi -w /etc/resolv.conf to change or adding name servers
and then you can check the configuration by firing up this command:
  • # /sbin/route -n

Initialization Strings

Initialization String for several type of connection:

Type of data | Initialization String
  1. CSD, Fax, QNC | AT+CRM=0; CSO=12
  2. 2G packet data | AT+CRM=1; CSO=15
  3. 3G packet data | AT+CRM=1; CSO=33
  4. receive data call | AT+CSP=1
  5. receive fax call | AT+CSP=2
  6. infrared connection | AT+CGDCONT=1,"IP","[apn]"

Treo 750 tweaks

These are a few tweaks for my Palm Treo 750 Windows Mobile, just use any Registry Editor.

1. Change operator name to whatever you want:
  • a. goto HKEY_LOCAL_MACHINE\Software\Microsoft\RIL\OperatorNames
  • b. create new String value with MNC/MCC of your operator (list of all operators)
  • c. type your desired name under value data
  • d. reset your phone to see changes
2. Add another option for today button:

  • a. goto HKEY_CURRENT_USER\Software\Microsoft\Today\Keys\112
  • b. open Default string and change value data to: Message
  • c. open Open string and change value data to: Messaging.exe
  • d. reset your phone to see changes
3. Show both date and time
  • a. HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\
  • b. create DWORD value and type TBOpt as value name
  • c. put 3 on value data (1 = Time only, 2 = Date only, 3 = both)
  • d. restart your phone, continue after phone restarted
  • e. goto HKEY_LOCAL_MACHINE\nls\overrides
  • f. create new String value and type SSDte as value name
  • g. put "MM/dd " (without quotes) in value data
  • h. reset your phone
If resetting your phone isn't work for you, you can try to remove the battery for 20 seconds. All these tweaks have been tried by me without any difficulty :-)

Friday, November 21, 2008

New Gmail Theme settings

Today I just learn about new feature in my Gmail, setting up the interface in your Gmail account with more attractive look.. Just read it in someone's post, then at 02:30 GMT +7, my Gmail refreshing itself and showing notification about this new feature. Have you check inside your Gmail yet? Just go to the Settings page. And if it's still not there, just be patience.. :-)

Thursday, November 20, 2008

Apache-WAP Environment Development Settings

If you are developing WAP application, then these should be added to your Apache's httpd.conf file:

AddType text/vnd.wap.wml .wml
AddType image/vnd.wap.wbmp .wbmp
AddType text/vnd.wap.wmls .wmls
AddType application/vnd.wap.wmlc .wmlc
AddType application/vnd.wap.wmlscriptc .wmlsc
AddType text/vnd.wap.wmlscript .wsc
AddType text/vnd.wap.wmlscript .wmlscript
AddType application/x-httpd-php-source .phps
Action application/x-httpd-php /php/php.exe

Wednesday, November 19, 2008

Manual GPRS/MMS Settings - Indonesia

These are manual settings for several Indonesian Telco (I haven't include Axis, Three and Smart since they are still new and not enough information about them). So, here it is..

username: gprs
password: im3
ip gateway:

username: mms
password: im3
ip gateway:

username: wap
password: wap123
apn: telkomsel / internet
ip gateway:

username: wap
password: wap123
apn: mms
ip gateway:

username: [kosong] / gprs
password: [kosong] / satelindo
ip gateway:

username: satmms
password: satmms
ip gateway:

username: xlgprs
password: proxl
ip gateway:

username: xlgprs
password: proxl
ip gateway:

Sunday, November 16, 2008


It was started at 1997, when my first PC (486 processor-based PC) crashed and I know nothing about how to fix that. Every step I took to fix it, brought me to one simple thought, "I must know everything about computer!".

Then, I began my journey with computer and everything related to it.. As a person who never really learned about computer (I took marketing as my major subject at college), I do realize how hard it is to understand, logically, anything computer-related. But, I found many other ways, friends, books that explained it to me.

So, here it is.. computer explaineable-by-the-thought-of-nonIT-person :p

And I hope can provide it with bilingual Indonesian-English.