2008-10-25 pada 01:22 am (Linux, Programming, Python)
Tags: pidgin, Python, script
Pada awalnya aku yakin banget dengan rancana yang aku tulis pada waktu situs pidgin.im down. Rencana yang sepertinya simple dan tidak rumit.
Setelah situs pidgin.im hidup lagi dan berjalan normal serta mood untuk coding yang udah balik. Aku memulai membuat script pidgin yang sesuai dengan rencana itu.
Tahap prototyping script berjalan sesuai dengan rencana, tentu setelah dengan beberapa fixing. Dilanjutkan dengan implementasi fitur utama yaitu daemon mode. Dan dilanjutkan dengan finalisasi struktur dan fitur-fitur penghibur. Jadilah sebuah script untuk pidgin yang sesuai dengan yang sudah aku rencanakan (ada beberapa yang kurang, tapi fitur utama sudah ok).
Karena semua sudah oke, aku coba untuk cross check dengan tulisan rencana aku. Dan apa yang aku dapat ternyata sunggu diluar dugaan, rencana yang sudah aku anggap sesuai itu ternyata melenceng dari yang sudah aku rencanakan.
Baca entri selengkapnya »
& Komentar
2008-10-14 pada 05:10 pm (Linux)
Tags: Linux, ssh, tunnel, udp-tunnel
Dari: Tunnelling UDP Traffic Through An SSH Connection
Untuk cerita lengkap silahkan lihat dilink di atas. Sedang untuk asal bisa, berikut langkah-langkahnya
Buat TCP tunnel ke mesin tujuan
azhar@logos:~$ ssh 192.168.1.2 -L 8999:127.0.0.1:8999
Buat jembatan TCP ke UDP dengan “nc” di server
[azhar@logos-devel ~]$ mkfifo /tmp/fifo
[azhar@logos-devel ~]$ nc -l 8999 < /tmp/fifo | nc -u 192.168.0.1 9999 > /tmp/fifo
Buat juga jembatan tersebut dilokal
azhar@logos:~$ mkfifo /tmp/fifo
azhar@logos:~$ nc -l -u 9999 < /tmp/fifo | nc localhost 8999 > /tmp/fifo
dan selesai, semua koneksi UDP ke localhost:9999 akan diforward ke 192.168.0.1:9999
& Komentar
2008-10-10 pada 01:54 pm (Programming, SQL, Tips)
Tags: oracle, SQL
Limit query dengan menggunakan rownum memang sukses untuk membatasi berapa banyak record yang ingin dikembalikan, tapi hari ini aku perlu limit untuk membatasi result setelah record XX dan sampai record XX.
Aku kira dengan menambahkan batasan bawah rownum yang ingin dikembalikan menjadi:
SELECT rownum row2, b.row1, b.k_agama, b.content
FROM
(
SELECT rownum row1, a.k_agama, a.content FROM m_agama a ORDER BY a.content
) b
WHERE 5 <= rownum AND rownum <= 10;
bisa digunakan, akan tetapi hal itu tidak sesuai dengan yang aku inginkan. Query tersebut gagal. Tidak ada record yang dikembalikan.
Quick workaround adalah dengan mengubahnya menjadi seperti ini:
SELECT c.row2, c.row1, c.k_agama, c.content
FROM
(
SELECT rownum row2, b.row1, b.k_agama, b.content
FROM
(
SELECT rownum row1, a.k_agama, a.content FROM m_agama a ORDER BY a.content
) b
) c
WHERE 5 <= rownum AND rownum <= 10;
Aku tahu workaround ini payah, tapi aku butuh query ini berjalan secepatnya.
& Komentar
2008-10-09 pada 01:15 pm (Programming, Python)
Tags: pidgin, Programming, Python

Sayang sekali, padahal lagi ingin bereksperimen untuk membuat plugin, tepatnya daemon yang menyediakan fungsi tambahan untuk pidgin.
Rencananya seh simpel, dapet ide dari Forum Ubuntu. Jadi dengan menggunakan python dan dbus aku berencana untuk membuat script yang berjalan dibackground yang memonitor teks yang aku ketik. Jika teks itu sesuai dengan keyword, say it – as example, /mixcase maka otomatis setiap teks yang aku kirim akan dibuat mix case, itu loh seperti chatingan abg-abg yang gaul-gaul yang suka nyampur aduk huruf kecil ama huruf besar.
Tapi ya itu, sayang sekali masih down. Moga-moga aja cepet balik normal.
& Komentar
2008-10-09 pada 10:16 am (Programming, SQL, Tips)
Tags: oracle, query, SQL
-- rownum menunjukkan urutan fisik dari record
-- dalam database
SELECT rownum row1, a.k_agama, a.content FROM m_agama a;
-- jika kita order hasil query maka rownum tidak lagi akan urut
-- karena rownum menunjukkan posisi asli dari record
SELECT rownum row1, a.k_agama, a.content FROM m_agama a ORDER BY a.content;
-- jika query model ini diterapkan limit hasil query (emulasi LIMIT)
-- maka akan dihasilkan hasil yang salah
SELECT rownum row1, a.k_agama, a.content FROM m_agama a WHERE rownum <= 5 ORDER BY a.content;
-- dengan multi select maka bisa didapatkan urutan dari query
-- yang menggunakan order
SELECT rownum row2, b.row1, b.k_agama, b.content
FROM
(
SELECT rownum row1, a.k_agama, a.content FROM m_agama a ORDER BY a.content
) b;
-- dengan menggunakan model query terakhir maka bisa diperoleh record yang
-- dibutuhkan (implementasi query LIMIT seperti di mysql)
SELECT rownum row2, b.row1, b.k_agama, b.content
FROM
(
SELECT rownum row1, a.k_agama, a.content FROM m_agama a ORDER BY a.content
) b
WHERE rownum <= 5;
1 Komentar