16 April 2009

Tools yang dipake programmer sini

Genap enam bulan nih programmer sini pake Linux. Kalo sebelumnya pake Delphi bajakan, sekarang semuanya gunakan solusi webbase. Dan hasilnya bisa diakses client Linux maupun client Windows. Terus terang ada satu hal yang menyenangkan gue. Terutama setelah mreka bisa bilang: di Linux lebih banyak tools nya. Jadi lebih banyak pilihan. Sehingga bisa kelar lebih cepet akhirnya :-D

Wuih ... ada 2 kemungkinan yang bakal terjadi waktu itu. Perpindahan dari M$ base ke opensource base biasa banyak kendala. Pengalaman dulu, salah satu factory di Jakarta tempat gue kerja. Gara-gara mengambil keputusan untuk pake Linux, beberapa programmer handal VB nya cabut. Alasannya simple katanya. Kalo nggak pake VB, mending cari company laen yg mau. Masih banyak. Loh .... ???

Kalo inget waktu itu, gue sempet kaget dan heran. Yang ngasih gaji kita itu yg sharusnya jadi perhatiian. Bukan Bill Gates !!! Kalo company mau pake solusi laen, itu artinya sebagai IT/Programmer ya tentu saja kita harus pelajarin hal itu. Emangnya Bill Gates yang nggaji kita??? Sejak saat itu, kalo cari IT/Programmer gue nggak pernah terlalu fokus cariin yang canggih punya. Yang penting ada kemauan mau belajarnya. Itu lebih penting dan bagus utk ke depannya.

Untungnya di Thai sekarang programmernya laen. Walo dulu mereka suka pake Delphi, tapi beberapa solusi laen mereka kerjakan webbase dengan PHP juga. Tapi PHP versi kuno lah. Pure PHP saja. Sekarang mereka gunakan framework. Dengan support AJAX yang bisa mempermudah.

Awalnya mereka ragu. Itu wajar. Tau Linux sekedar telnet, add user di mail server. Semua server Windows base. Semua solusi selalu Windows base. Tapi sekarang situasinya terbalik. Hampir semua server pake Linux. Cuma 2 server lama tetep pake Windows karena ada licensenya Oracle dan MSSQL. Itupun juga nunggu waktu aja. Soalnya juga udah kuno banget keduanya. I have another plan for this :-D

PC Mereka

Semua komputer di MIS pake Ubuntu Linux 8.0.4 LTS Edition. Dengan software yang seperti biasalah di semua client.
  • Firefox 3.0
  • Sun-Java6 Plugins
  • Adobe Flash Plugins
  • OpenOffice.org 3.0
Khusus untuk programmer, gue kasih solusi tambahan IE6 dan IE7 dari IEs4Linux. Ini penting kalo membuat software webbase. Karena mereka perlu coba di Firefox dan IE skaligus.

Ada pengalaman lucu sebelumnya. Program pertama yang mereka bikin udah kelar. Simple lah. Mereka coba di Linux OK. Waktu di launching dengan pedenya, mereka udah seneng banget. Ternyata ada banyak user complaint. Pake IE nggak bisa beberapa hal. Sedangkan pake Firefox pada bisa semua :-D

Dari situ gue selalu tekanin, pake budaya di Linux. Abis bikin, test dulu di Firefox and IE. Kalo udah merasa beres, masih ada tahap lanjutan. Test ke beberapa user (baek pengguna Windows/IE maupun Firefox). Kasih waktu 1-2 minggu. Lalu revise kalo ada yang perlu di sempurnakan. Baru di publish ke semua user.

SQL Tools

Kita ada 3 server SQL. MySQL server yang sekarang mereka gunakan. Sedangkan 2 SQL server laen adalah MSSQL dan Oracle. Walau jarang diakses, kadang mereka perlu konek juga utk mengaksesnya.

Pengenalan pertama adalah phpMyAdmin (include repo). Penggunaan phpMyAdmin yang mereka sukai. Solusi webbase ini luwes. Terutama kalo remote dari client laen. Juga di komputer mereka, mereka pilih emma (include repo). Mungil dan simple katanya. Pernah gue kenalin juga mysql CLI interface. Tapi sampe detik ini mereka kurang sukain yg text base.

Kendala muncul saat di Linux mereka pengen akses MSSQL dan Oracle. Solusi SQuirrel-SQL akhirnya gue kenalkan. SQuirrel-SQL connect ke SQL server gunakan JDBC/Java. Jadi semua SQL server bisa mereka akses dengan baek.

Walo begitu, OpenOffice.org tetep pilihan bagus juga. Terutama kemampuan DataPilotnya untuk memproses data. Dan itu langsung tersambung ke MySQL, MSSQL dan Oracle. Well ... dengn JDBC, OpenOffice.org bisa konek ke semua server SQL dengan baek.

Editor

Beberapa PHP editor yang gue kenalkan kandas semua. Karena mereka pilih Aptana Studio. OK lah. No problem buat gue. Aptana juga base on Eclipse. Dengan beberapa tambahan sehingga mereka lebih menyukainya.

Kadang Gnome Editor (gedit) juga mereka gunakan. Luwes dan simple nih. Asal jangan lupa install "gedit-pugins".

Framework

Mulai dari PHP, Ruby on Rails, TurboGears, Python, Java, Free Pascal + Lazarus, GTK, Qt, WxWidget, dll. Akhirnya mereka pilih PHP. Dengan beberapa framework, merekapun pilih CodeIgniter. Keren juga. Dalam 6 bulan ini, banyak juga software for Windows udah di convert ke webbbase. Makanya client Linux bisa bekerja dengan aman-aman saja.

Kedepannya, kemungkinan besar mereka akan butuh GUI (bukan webbase). Dan Free Pascall + Lazarus adalah pilihan yang bagus untuk mereka. Kalo terbiasa Delphi, sharusnya itu akan jadi mudah. Tinggal penyesuaian sajalah.



13 April 2009

Brother MFC-5890CN on Linux

Ada permintaan printer dan scanner untuk divisi baru. Mereka minta yang udah jadi satu. Jadinya bisa copy/scan/printer sekalian. Awalnya gue kepikiran HP. Tapi sewaktu mereka merevise minta support ukuran kertas A3, wah... lumayan juga harganya merk HP.

Dari pengalaman kita, merk HP dan Brother sangat bagus dukungan untuk Linux. Kedua brand ini punya suuport site khusus Linux yang bener-bener keren. Untuk Epson/Canon, sorry yah. Gue nggak rekomendasikan. Jadi tentu saja gue minta ke MIS untuk bandingkan harga printer multi fungsi baek HP maupun Brother yang tentunya support A3. Wah... Brother bener-bener murah. Hampir separo harga merk HP. Kepilih deh Brother MFC-5890CN untuk di beli :-)

Yang pengen tau, ini spek Brother MFC-5890CN. Tenyata ada dukungan fax juga selain copy/scan/print. Tapi karena fax kita gak pake, jadi di sini dibahas setting Linux untuk fungsi printer dan scannernya saja.

Fungsi Printer

Setelah baca speknya, printer ini mendukung emulasi GDI. Jadi paling simple ya tentu saja coba driver Generic - GDI dari CUPS. Sayangnya hasilnya cetakan print testnya kagak pernah keluar. Gak tau tuh. Mana yang nggak beres. GDI support di printernya? Atau GDI driver CUPS?

Selanjutnya harus coba driver dari support sitenya Brother (link). Dari sini kita dapatkan 2 files .deb yaitu:

mfc5890cnlpr-1.1.2-2.i386.deb

mfc5890cncupswrapper-1.1.2-2.i386.deb

Tapi sebelum menginstallnya, dianjurkan (khusus Ubuntu/Debian) lakukan dulu perintah-perintah berikut:

sudo -i
aa-complain cupsd
mkdir /usr/share/cups/model
ln -s /etc/init.d/cupsys /etc/init.d/lpd
mkdir /var/spool/lpd
dpkg -i mfc5890cnlpr-1.1.2-2.i386.deb
dpkg -i mfc5890cncupswrapper-1.1.2-2.i386.deb


Selanjutnya add printer seperti biasa di CUPS. Dan dibagian driver Brother udah ada MFC-5890CN. Sekali test print, langsung OK.

Oya, itu hanya kita setting di CUPS server saja. Karena langsung kita share. Dan semua client Ubuntu Linux bisa langsung menikmati tanpa perlu di setting apa-apa lagi :-D Bandingin dengan client Windows, satu persatu CD installer for Windows harus di install. Lama lagi prosesnya.

Fungsi scanner

Untuk fungsi scannernya, caranya nggak beda dengan Brother MFC-8460N yang udah pernah gue bahas sebelumnya. Bedanya hanya drivernya. Printer ini gunakan "brscan3" sedangkan artikel sebelumnya pake "brscan2". Tapi cara settingnya 100% sama.

Nih artikel gue tentang fungsi scanner di Brother MFC-8640N:
http://rippingthepenguin.blogspot.com/2008/12/fungsi-scanner-di-brother-mfc-8460n.html

Dan juga kalo pengen gunakan multipage scan di Brother MFC-8640N:
http://rippingthepenguin.blogspot.com/2009/04/fungsi-scanner-di-brother-mfc-8460n-2.html

Goodluck pren


05 April 2009

Fungsi Scanner di Brother MFC-8460N (2)

Sebelumnya gue udah bahas tentang fungsi scanner di Brother MFC-8460N di blog ini (link). Karena salah satu MIS selalu komplain hasil scan cuman satu halaman saja, terpaksa gue cek lebih jauh lagi. Dan nemu deh problemnya. Well ... Linux harus dikasih solusi deh. Gue nggak mau kalo mereka merasa client Linux nggak bisa. Padahal client Windows bisa.

Cara scan di device ini bisa dari 2 tempat:
  1. FlatBed

    Seperti mesin photocopy tradisional. Buka cover, taruh kertas, scan. Buka cover lagi, ganti kertas lagi, scan lagi. Dan seterusnya. Hasilnya 1 file (1 image saja). Cara yang nggak praktis untuk scan banyak dokumen.

  2. Automatic Document Feedeer

    Letaknya di paling atas. Tinggal masukkan setumpuk kertas dan mulai scan. Hasilnya akan disimpan ke dalam 1 file (tapi multi image). Bener-bener praktis untuk scan banyak dokumen.

Di Windows ke duanya berfungsi dengan baek. Tapi di Linux agak laen. Ternyata script dari Brother (dalam paket brscan2) hanya mengijinkan menyimpan 1 file (1 image saja). Sehingga baek no.1 atau no.2 di atas, hasilnya hanya lembar pertamanya yang discan. Alias gambar pertama saja :-D

Coba perhatikan baris terakhir di file ini (cetak tebal):

$ tail /usr/local/Brother/sane/script/scantofile-0.2.1-1.sh

...
output_file=`mktemp ~/brscan/brscan.XXXXXX`
chmod 644 $output_file
echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file


Pada baris terakhir, penggunaan "scanimage" itu jadi penyebabnya. Command "scanimage" hanya menyimpan proses sekali scan saja. Makanya setiap scan 1 lembar, nggak ada problem. Tetapi scan lebih dari 1 lembar, hanya tersimpan lembar pertama saja.

Setelah cek kesana kemari, di Ubuntu Linux menyerta satu utility lagi selain scanimage. Yaitu "scanadf" yang ada dalam paket "sane". Dan scanadf bisa  menghandle scan lebih dari 1 lembar dengan baek. Tentu saja untuk beberapa jenis scanner. Dan rupanya Brother MFC-8460N didukung dengan baek.

Jadi untuk menggunakan scanadf di script itu, ten
yata bisa. Dan ini modifikasi gue untuk script /usr/local/Brother/sane/script/scantofile-0.2.1-1.sh versi Brother. Sehingga hasil scan bisa multiple image dan disimpan ke format TIFF.

Ini 3 baris terakhirnya setelah gue rubah (cetak tebal):

$ tail /usr/local/Brother/sane/script/scantofile-0.2.1-1.sh

...
output_file=`mktemp ~/brscan/brscan.XXXXXX`
chmod 644 $output_file
echo "scan from $2($device) to $output_file"
scanadf --device-name "$device" --resolution $resolution> $output_file
convert -adjoin `ls image-????` image-`date +%G%m%d%k%M`.tif
rm -f image-????


Karena perintah "scanadf" dan "convert" dipake di sini, jangan lupa install 2 paket ini:

sudo apt-get install sane imagemagick

Dan kalau menginginkan menyimpan hasil scan ke PDF, rubah saja baris ini (cuman extensionnya saja yang beda):

convert -adjoin `ls image-????` image-`date +%G%m%d%k%M`.pdf

Selama proses scan, sekarang semua file akan disimpan di $HOME folder. Ya tentu saja akan keliatan file image-xxxx (berformat PNM) lumayan banyak deh. Sebanyak lembar yang di scan. Setelah kelar, semua file image-xxxx akan di gabung ke format TIFF/PDF dengan perintah convert. Lalu semua file image-xxxx akan dihapus dari $HOME folder. Dan hasilnya file TIFF/PDF saja yang ready di $HOME folder.

Goodluck