Mengatasi masalah sound pada ubuntu

Masalah sound sering terjadi setelah melakukan instalasi ubuntu misalnya suara tidak keluar atau suara terlalu kecil. Hal ini lebih sering terjadi pada instalasi yang dilakukan di laptop. Seperti pengalaman saya pribadi melakukan instalasi ubuntu pada laptop Acer TravelMate 3270. Saat itu bahkan suara sound tidak keluar sama sekali. Hal yang sama terjadi pada temen-temen di kampus yang juga mengalami hal serupa.

Setelah saya cek tidak ada masalah dengan sound-card saya, sound card saya Intel HDA dengan chipset Realtek didetect oleh ubuntu. Setelah sedikit berpikir “Apakah mungkin volumenya atau PCM-nya belum diaktifkan?”. Saya coba lihat dengan menggunakan perintah pengaturan volume lewat terminal yaitu alsamixer. Dan ternyata memang benar Front dan PCM saya masih 0 Volumenya. Untuk membuka alsamixer klik menu Applications -> Accecories -> Terminal.

$ alsamixer

alsamixer

Naikkan volume bar untuk Master, PCM, dan Front hingga 100% menggunakan tombol panah atas, gunakan tombol panah kiri atau kanan untuk berpindah antar bar. Selain menggunakan alsamixer anda juga dapat menggunakan GUI yaitu dengan mengklik icon speaker yang ada sudut panel anda. Namun pastikan bahwa semua opsi Master, PCM, dan Front ada dengan mengklik menu edit Preferences.

Semoga membantu :).

Read Full Story at:
http://rioastamal.net/2008/09/tips-mengatasi-masalah-sound-pada-ubuntu/

Membuat “Kata Bijak Hari Ini” Saat Start-up GNOME

Kadang sebuah aplikasi menampilkan “Tip of The Day” saat ia dijalankan. Salah satu program yang melakukannya adalah program favorit saya yaitu GIMP. Pada tutorial kali ini kita akan membuat sebuah fitur yang hampir mirip “Tip of The Day” tapi berisi kata-kata bijak yang dalam bahasa kerennya wise word. “Kata-kata bijak hari ini” nantinya akan tampil saat anda memasuki GNOME.

Sama seperti sebelumnya kita tetap menggunakan shell script untuk membuat aplikasi mini ini. Kita juga memanfaatkan satu aplikasi kecil untuk keperluan ini yaitu zenity. zenity sudah include secara default pada distribusi GNOME di ubuntu.

Berikut ini adalah kodenya:

Full story at http://rioastamal.net/2008/08/tutorial-membuat-kata-bijak-hari-ini-saat-start-up/

Membuat Bahasa Pemrograman Sendiri dalam 5 Menit

Bahasa pemrograman apa saja yang sudah pernah anda gunakan? C, C++, PHP, Perl, Java, VB, atau yang lain? Apa kesamaan bahasa-bahasa pemrograman tersebut? Tentu kesemua bahasa pemrogrman tersebut menggunakan syntax dalam bahasa Inggris. Pada artikel ini saya akan coba menunjukkan kepada anda bagaimana membuat bahasa pemrograman yang menggunakan syntax bahasa Indonesia, meski sebenarnya ini hanyalah teknik “goblok-goblokan” saja :).

Jadi nantinya kita dapat menuliskan 'jika [ kondisi true ] maka blablabla...' daripada 'if [ kondisi true ] then blablabla...'. Tertarik?

Bahasa pemrograman yang akan kita buat sebenarnya merupakan sebuah shell script. Pada shell script terdapat sebuah tool yang sangat berguna yaitu alias. Dengan program alias kita dapat memberikan nama lain untuk sebuah perintah. Dan tahukah anda bahwa perintah ls juga sebenarnya adalah alias dari perintah ls --color=auto.

Nah, karena shell script juga memiliki struktur percabangan dan perulangan maka kita dapat membuat sebuah program menggunakan shell script. Perintah alias kita gunakan untuk memberi nama lain pada syntax shell script yang berhubungan dengan pembuatan program seperti echo, if, then, dan lain-lain. Berikut ini adalah alias yang saya gunakan untuk meng-Indonesiakan shell

Full Story at http://rioastamal.net/2008/08/tutorial-membuat-bahasa-pemrograman-sendiri-dalam-5-menit/

Tutorial: Mengambil Screenshot GDM

Anda tentu sering mendengar kata screenshot, bagi yang belum mengetahui apa screenshot tersebut, pengertian screenshot adalah suatu gambar yang diambil dari apa yang terlihat di layar komputer kita baik itu seluruh layar, window tertentu, atau bagian tertentu (geometri) dari layar. Semua sistem operasi secara default menyediakan fungsi ini. Cara paling mudah dan sederhana untuk mengambil screenshot adalah dengan menekan tombol PrtSc SysRq pada keyboard laku paste ke program pengolah gambar seperti MS Paint(Windows) atau GIMP(Linux).

Pada tutorial kali ini saya akan membahas bagaimana mengambil screenshot pada sistem operasi Linux(Ubuntu 8.04) lebih tepatnya screen login Gnome (GDM). Jika kita ingin mengambil screenshot setelah kita login pada Gnome itu hal mudah, tinggal tekan tombol PrtSc SysRq lalu paste di GIMP, beres. Masalahnya baru muncul ketika kita ingin mengambil screenshot dari screen login itu sendiri, kita tidak bisa langsung menekan tombol lalu paste begitu saja, hal ini karena kita belum login jadi mana mungkin kita dapat membuka program semacam GIMP. Terus bagaimana caranya? dari hasil googling terdapat dua metode untuk meng-capture screen GDM, yaitu:

Baca Selengkapnya…

astahttpd v0.1-RC1 is Out!

Akhirnya setelah hampir 2 bulan lamanya, versi RC1 dari astahttpd akhirnya saya rilis. Sebelumnya dari 1 bulan sebelumnya sudah selesai, namun belum sempat saya upload karena banyak kerjaan :).

Beberapa perubahan yang paling signifikan adalah Win32 support dan tidak diperlukannya lagi extension pcntl pada astahttpd. Changelog lengkap dapat dilihat dibawah ini:

- Win32 Support
- Some part now moved as module, such as:
  - mod_static
  - mod_log
  - mod_dir_browser
- New modules:
  - mod_autofix_uri
  - mod_cache ( HTTP 304 Not Modified )
- astahttpd does not need pcntl extension anymore
- Dropped support for IP Based Virtual Host
- many improvements
- Fixed bug #1929009 (Internal gzip compression not work)
- Fixed bug #1929215 (Could not handle same header name in HTTP Header)
 

Sebenarnya masih banyak bug-bug lain yang belum saya catat karena lupa. Maklum saya tinggal sebulan, dan bugnya tidak saya langsung catat jadinya gini lupa deh… hehehe…

Versi RC1 ini sudah saya tes dengan aplikasi yang cukup “berat” seperti phpMyAdmin dan WordPress dan berjalan dengan baik.

Download
=======

Download astahttpd v0.1-RC1 on Sourceforge.net
Subcribe astahttpd on Freshmeat

Tips menghilangkan iklan pada website

Teknik pada artikel ini juga dapat diimplementasikan dengan menginstall DNS Server pada komputer anda.

Pernahkah anda mengunjungi suatu situs yang disitu banyak sekali dijejali iklan sana-sini(misal adsense, dsb)? Saya yakin anda pasti pernah mengalaminnya. Jika memang anda tidak terganggu dengan adanya iklan tersebut silahkan tutup halaman ini, namun bagi anda yang merasa terganggu saya “sarankan” untuk melanjutkan membaca ;)

Alasan lain dan sebenarnya merupakan alasan utama saya menggunakan teknik ini adalah karena iklan-iklan tersebut memberatkan loading website. Jadi saya harus lebih bersabar menunggu konten dan menyimak iklan :( . Hal ini tidak masalah jika koneksi saya broadband dan bandwidth unlimited, sedangkan koneksi yang saya gunakan untuk berinternet ria hanya menggunakan HP CDMA yang kadang-kadang lemot :(

Mohon maaf pada advertiser jika artikel ini merugikan anda, ya semoga saja yang membaca cuman 1-2 orang ;)

Teknik pada artikel ini mengacu pada Sistem Operasi Windows dan GNU/Linux, mengingat dua sistem operasi tersebut yang “bersemayam” di laptop saya :)

CATATAN:
– Linux dalam artikel ini mengacu pada Ubuntu 7.04
– Windows dalam artikel ini mengacu pada Windows XP

Baiklah langsung saja kita mulai membuang iklan-iklan yang menganggu ini…

1. Alur Kerja

Pada dasarnya jika suatu situs memajang iklan dari pihak lain (sebut saja advertiser) seperti Google Adsense, AdBrite, dsb. Maka situs tersebut melakukan request ke server advertiser untuk ditampilkan dalam browser anda. Sebenarnya dalam proses ini situs yang anda kunjungi tidak melakukan hubungan langsung dengan server advertiser. Yang melakukan request ke server advertiser sebenarnya adalah komputer anda sendiri dalam hal ini dilakukan oleh browser anda. Untuk lebih jelasnya lihatlah ilustrasi gambar berikut:

alur kerja
Gambar 1

click for full-size
Gambar 2: salah satu “situs warta era digital” di Indonesia penuh dengan iklan :)

Seperti yang terlihat di gambar sebenarnya kita dapat mengabaikan proses 3 dan 4. Karena konten yang ingin kita tampilkan sudah selesai diload pada proses 1 dan 2. Pada proses 3 browser kita menghubungi server advertiser untuk meminta iklan, kemudian server advertiser memberikan iklan yang diminta oleh browser.

Permintaan yang dilakukan oleh browser tentu saja adalah HTTP request biasa. Oleh karena itu kita dapat “mengelabui” browser agar proses 3-4 tidak sampai terjadi. Caranya? tetap baca artikel ini ;)

2. Membuat domain sendiri

Setiap sistem operasi pasti memiliki alamat lokal (loopback address) untuk dirinya sendiri. Dimana dengan mengisi loopback ini dengan domain apapun maka secara otomatis domain yang anda masukkan akan dikenali sebagai komputer anda sendiri bukan sumber dari luar.

Nama domain yang umum untuk loopback address adalah localhost dan alamat IPv4 untuk localhost adalah 127.0.0.1. Yang akan kita lakukan berikutnya adalah menambahkan daftar domain untuk alamat IP 127.0.0.1. Dalam contoh nanti kita akan memasukkan tiga domain advertiser pada daftar “blacklists” kita.

Sebelum mengecek ke DNS Server, komputer kita akan akan mengecek dulu pada file (X:\Windows\system32\drivers\etc\hosts untuk Windows dan /etc/hosts untuk Linux). Jika domain yang coba dicari ada dalam daftar maka sistem tidak akan melanjutkan query ke DNS server. Jika sekenario tersebut kita implementasikan maka ilustrasi dari gambar 1 akan berubah seperti berikut:

skema loopback address

Gambar 3: loopback address

Tidak masalah jika aplikasi utama dan iklan terletak pada server yang sama. Asalkan domain yang digunakan berbeda contoh, example.com dengan ad.example.com

3. Nama domain advertiser

OK, saya mengerti, tapi bagaimana saya mencari nama domain dari server advertiser tersebut? mungkin itulah pertanyaan yang terlintas dipikiran anda. Dalam hal ini saya memiliki dua metode sederhana untuk mengetahui domain dari advertiser tersebut.

Metode yang pertama ini anda membutuhkan browser yang dapat menampilkan status loading dari website pada status-barnya (Firefox/IE memiliki hal ini) dan koneksi internet yang “cukup lambat” :). Mengapa? kalau koneksi internet anda sangat cepat anda tidak akan sempat melihat perubahan pada status bar browser anda. Untuk hal ini anda perlu metode yang ke-dua.

status-bar
Gambar 4: nama domain advertiser (google adsense)

Metode yang kedua sedikit lebih sulit karena anda harus melihat source code HTML situs tersebut. Hampir setiap browser pasti menyediakan menu untuk melihat source code website yang sedang ditampilkan. Setelah itu anda perlu melihat bagian yang menurut anda merupakan sebuah “panggilan” ke server advertiser.

google adsense
Gambar 5: javascript untuk publisher google adsense

Biasanya pihak advertiser akan memberikan sebuah kode berupa javascript untuk publisher iklan. Lalu publisher menempatkan javascript tersebut di websitenya.

4. Implementasi

Dalam contoh berikut kita akan melakukan blok terhadap beberapa iklan dari google adsense(pagead2.googlesyndication.com), Tribal (a.tribalfusion.com), dan media Fastclick (media.fastclick.com).

– Untuk Sistem Windows

1. Sebaiknya backup terlebih dahulu file untuk berjaga-jaga
2. Buka file X:\Windows\system32\drivers\etc\hosts menggunakan teks editor (misal notepad)
3. Edit file tersebut hingga kurang lebih seperti berikut:

# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a ‘#’ symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host

127.0.0.1 localhost
127.0.0.1 pagead2.googlesyndication.com
127.0.0.1 a.tribalfusion.com
127.0.0.1 media.fastclick.net

4. Simpan file tersebut
5. Coba refresh browser anda apakah iklan-iklan tersebut sudah tidak muncul lagi
6. Untuk memastikan, bersihkan semua history dan cache browser anda.

– Untuk Sistem Linux

1. Backup terlebih dahulu file /etc/hosts
$ sudo cp /etc/hosts /etc/hosts.original
2. Edit file /etc/hosts
$ gksu gedit /etc/hosts
3. Tambahkan hosts pada IP 127.0.0.1 hingga kurang lebih seperti berikut:

127.0.0.1 localhost
127.0.0.1 pagead2.googlesyndication.com media.fastclick.net a.tribalfusion.com

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

4. Simpan file tersebut
5. Coba refresh browser anda apakah iklan-iklan tersebut sudah tidak muncul lagi
6. Untuk memastikan, bersihkan semua history dan cache browser anda.

click for fullszie
Gambar 6: Sekarang “situs warta era digital” tanpa iklan dan sangat cepat :)

Catatan: Jika memang koneksi anda kencang dan memiliki bandwidth yang tinggi, sebaiknya tidak melukan ini mengingat para pemilik situs juga cari makan lewat advertiser, tapi jika memang terasa terganggu dengan iklan, ya apa boleh buat :)

Installing astahttpd v0.1-beta3

Pada tutorial kali ini kita akan coba menginstall astahttpd v0.1-beta3. Sebelum menginstall pastikan kebutuhan minimum sistem anda telah terpenuhi.

System requirements
================

– Linux OS (Tested with Ubuntu 7.04)
– PHP 5.2.x (Tested with PHP 5.2.x)
– A cup of coffee :)

Saya asumsikan disini anda belum menginstall PHP jadi kita akan menginstall PHP terlebih dahulu. Kita akan menginstall PHP secara manual yaitu mengompile PHP dari source. Download PHP dari http://www.php.net dan astahttpd di astahttpd.sourceforge.net

Asumsi:

1. File hasil download diletakkan di direktori /home/user
2. astahttpd akan diinstall di /home/user
3. PHP akan diinstall ke /usr/local/php5

Installing PHP
===========

$ cd /home/user
$ tar -zxvf php-5.2.3.tar.gz
$ cd php-5.2.3
$ ./configure --enable-sockets --enable-pcntl --enable-fastcgi

(sockets dan pcntl adalah KEHARUSAN. Anda dapat menambahkan parameter lainnya seperti –with-mysql –enable-gd etc.)
$ make
$ sudo make install

Jika anda ingin menghemat space dan membuang file2 hasil compilasi yang sudah tidak diperlukan lagi anda dapat mengetikkan perintah berikut:

$make clean && make distclean

Done..!. Sekarang saatnya menginstall astahttpd.

Installing astahttpd v0.1-beta3
=======================

Instalasi astahttpd berbasis interaktif jadi sangat mudah dilakukan.

$ tar -zxvf astahttpd_0.1-beta3.tar.gz
$ cd astahttpd_0.1-beta3
$ ./install.sh

(Masukkan instalasi directory PHP anda /usr/local/php5 lalu masukkan lokasi tujuan astahttpd akan diinstal dalam hal ini /home/user. astahttpd akan terinstal di /home/user/astahttpd)

Selesai…!. Lho kok udah selesai? ya… apa yang anda harapkan lagi :p ?

Running astahttpd
==============

Untuk menjalankan astahttpd masuk ke terminal lalu jalankan perintah berikut:

$ /home/user/astahttpd/bin/aws

Setelah itu buka web browser anda dan arahkan ke http://localhost:8080/. Maka akan tampil halaman default dari astahttpd. Secara default astahttpd running pada port 8080 anda dapat mengubah konfigurasinya di file conf/aws.conf.php.

See you soon on configuring astahttpd article :)

astahttpd v0.1-beta3 is out!

Pada tanggal 07 Februari 2008 13:41:21 GMT astahttpd v0.1-beta3 saya rilis (Lihat di freshmeat). Perubahan terbesar dari versi sebelumnya(0.1-beta2) adalah perubahan arsitektur menjadi modular arsitektur. Sekarang kemampuan astahttpd dapat di-extends dengan mudah dengan menambahan add-on module.

Daftar lengkap lengkap v0.1-beta3
============================

  • Digest Authentication ditambahkan
  • Live server status
  • Bandwidht Limiting
  • Modular Architecture
  • Module yang tersedia: mod_auth_basic, mod_auth_digest, mod_bandwidth,
    mod_cgi_header, mod_cgi, mod_encoding, mod_rewrite, mod_status, mod_vhost
  • Fixed bug #1887560 (Header dari CGI tidak dihandle dengan baik)
  • Fixed bug #1885235 (Error dari external gzip tidak ter-catch)
  • Fixed bug #1885216 (Level kompresi tidak dipass ke parameter pada external gzip)

Download
=======
Download astahttpd v0.1-beta3 on Sourceforge.net
Subcribe astahttpd on Freshmeat

astasms – SMS tools written in PHP

Apa itu astasms?

astasms adalah sebuah program SMS tools untuk linux ditulis menggunakan PHP. astasms bersifat free dan open source dibawah lisensi GNU GPL v3. Saat ini astasms sendiri belum resmi saya rilis untuk publik dan hanya saya gunakan untuk keperluan pribadi. Hal ini saya lakukan mengingat astasms masih sangat prematur dan belum sepenuhnya ditest pada berbagai GSM/Phone modem.

astasms - kirim sms

Motivasi

Sebenarnya motivasi saya membuat astasms untuk mengetahui bagaimana sebuah aplikasi SMS bekerja Karena sekarang lagi marak-maraknya SMS premium “ketik REG spasi Blablabla…”. Setelah beberapa lama googling mengumpulkan artikel, ternyata sangat mudah jika hanya membuat aplikasi pemrosesannya saja (bukan interaksi langsung dengan hardware). Tinggal download sebuah aplikasi SMS server dan manfaatkan API-nya, selanjutnya tinggal coding standard… :)

Namun bukan itu yang saya inginkan, saya ingin tahu bagaimana proses “behind the scene”-nya. Jadi saya mulai mempelajari standar protokol SMS dan sebagainya. Setelah itu baru mempelajari bagaimana linux berkomunikasi dengan sebuah device. Jika anda pernah mendengar sebuah kalimat “semua di UNIX adalah file” itu memang benar. Komunikasi modem dengan sistem dilakukan menggunakan file, contoh /dev/ttyUSB0, /dev/ttyACM0, dsb.

Fitur astasms

Perlu diingat fitur-fitur yang tertulis adalah untuk versi saat ini (v0.1-alpha) non public release.

  • Kirim, terima, dan hapus SMS
  • Baca, ubah, dan hapus contact
  • Modular Arsitektur *
  • Terminal Emulator (AT Command)
  • Themeable (Tema dan diganti-ganti)

*) Planning

terminal emulator

Download

Bagi yang berminat untuk melihat source codenya, silahkan kontak saya atau drop comment disini.

what is astahttpd?

Apa itu astahttpd?

astahttpd adalah sebuah web server ringan untuk Linux yang ditulis murni menggunakan PHP. “Ringan” disini bukan berarti minim fitur :). astahttpd adalah free dan open source software dibawah lisensi GNU GPL v3. Saat ini astahttpd masih dalam tahap beta development, dan belum siap untuk production use.

astahttpd v0.1-beta2

Motivasi

Alasan saya sebenarnya dalam membuat astahttpd adalah membantu front-end dari astasms. Front-end dari astasms adalah web-based jadi perlu sebuah web server untuk membantu menampilkannya. Awalnya saya hanya berniat agar astahttpd dapat mem-parse PHP script, namun lama kelamaan saya malah asyik mendevelop astahttpd dan lupa astasms sehingga astasms saat ini masih belum saya rilis.

Dari ide awal hanya untuk memparse PHP script berkembang menjadi web server yang “cukup” mumpuni untuk jika hanya untuk development process. Saya pun berniat untuk membuat astahttpd menjadi minimal 85% memenuhi standar HTTP/1.1. Mempelajari suatu standar cukup memakan waktu, untunglah waktu saya membuat ini kuliah lagi libur jadi saya punya cukup waktu untuk mempelajari protokol HTTP/1.1.

Saat tulisan ini dibuat versi terakhir yang resmi saya rilis adalah astahttpd v0.1-beta2.

Directory Browser

Fitur astahttpd

Fitur-fitur berikut adalah fitur dari astahttpd v0.1-beta3-dev. Saat anda membaca tulisan ini fitur-fitur baru mungkin sudah ditambahkan.

  • GET, POST, dan HEAD methods
  • Alias Directory
  • CGI Script Processing
  • Content Encoding (gzip & deflate)
  • Directory Browser
  • Basic Authentication
  • Digest Authentication *
  • URL Rewrite
  • Virtual Host (IP dan Name based)
  • Modular Arsitektur *

*) mulai versi v0.1-beta3-dev

asthattpd CGI Processing

Modular Arsitektur

Saya sempat berpikir, “kalo user tidak ingin fitur itu diaktifkan, gimana ya?”. Berangkat dari pemikiran itu saya mulai menulis ulang core astahttpd agar kemampuannya dapat ditingkatkan dengan mudah lewat module Add-on. Sehingga fitur-fitur yang tidak diinginkan dapat dinon-aktifkan.

Anda juga dapat dengan mudah mengextend kemampuan astahttpd dengan menulis modul anda sendiri. Saat ini(v0.1-beta3-dev) modul-modul yang tersedia antara lain:

  • mod_auth_basic
  • mod_auth_digest
  • mod_cgi
  • mod_encoding
  • mod_rewrite
  • mod_status
  • mod_vhost

astahttpd Authentication

User

Untuk saat ini astahttpd hanya ditujukan untuk developer khususnya developer PHP mengingat masih dalam development cycle dan belum pernah mencapai stable version. Selain itu, astahttpd juga ditujukan untuk siapa saja yang ingin mempelajari bagaimana membuat sebuah server(dalam hal ini web server) dan bagaimana mekanisme kerjanya.

Saya juga menyediakan API/Manual untuk astahttpd. Sehingga memudahkan developer dalam mempelajarinya. Dokumentasi API ini saya generate menggunakan PHPDocumenter v1.4.1.

Help & Bugs Report

Saya sangat berharap anda dapat mencoba astahttpd sehingga dapat memberikan saya masukan dan bugs report bila ada. Saat ini saya berharap ada yang membantu saya dalam memperbaiki tata bahasa inggris yang saya sertakan dalam distribusi astahttpd. Karena saya yakin masih banyak kesalahan spelling dan grammar pada tulisan saya.

Selain itu saya juga perlu web designer/programmer untuk membuatkan official website untuk astahttpd. Karena saat ini belum official website dari astahttpd dan masih menggunakan halaman default sorceforge.net.

Bagi anda yang berminat memberikan kontribusi silahkan kontak saya atau drop comment disini :) .

Links

Berikut ini adalah beberapa link yang berhubungan dengan astahttpd:

Homepage/
Subversion(SVN)
Subcribe on Freshmeat