Buat web-browser sendiri dengan Python

Saya lupa dulu dapat kode program ini dari mana (forum Ubuntu kah?). Ini juga baru nemu lagi setelah iseng-iseng periksa isi harddisk. Supaya nggak lupa lagi, backup di blog ini.

Web-browser sederhana ini membutuhkan python-gtk2 dan python-webkit. Kodenya:

#!/usr/bin/env python
import sys
import gtk
import webkit
DEFAULT_URL = 'http://localhost' # Change this as you wish
class SimpleBrowser: # needs GTK, Python, Webkit-GTK
    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
        self.window.connect('delete_event', self.close_application)
        self.window.set_default_size(800, 600)
        vbox = gtk.VBox(spacing=5)
        vbox.set_border_width(5)
        self.txt_url = gtk.Entry()
        self.txt_url.connect('activate', self._txt_url_activate)
        self.scrolled_window = gtk.ScrolledWindow()
        self.webview = webkit.WebView()
        self.scrolled_window.add(self.webview)
        vbox.pack_start(self.scrolled_window, fill=True, expand=True)
        self.window.add(vbox)
    def _txt_url_activate(self, entry):
        self._load(entry.get_text())
    def _load(self, url):
        self.webview.open(url)
    def open(self, url):
        self.txt_url.set_text(url)
        self.window.set_title('%s' % url)
        self._load(url)
    def show(self):
        self.window.show_all()
    def close_application(self, widget, event, data=None):
        gtk.main_quit()
if __name__ == '__main__':
    if len(sys.argv) > 1:
        url = sys.argv[1]
    else:
        url = DEFAULT_URL
    gtk.gdk.threads_init()
    browser = SimpleBrowser()
    browser.open(url)
    browser.show()
    gtk.main()

Simpan dengan nama (misalnya) browser.py, lalu jalankan di terminal dengan perintah
$ python browser.py http://namasitus.com
Ingat, http://-nya harus ditulis juga lho.

Selamat mencoba πŸ˜€

Iklan

Konfigurasi Lynx

Lynx benar-benar penyelamat untuk fakir benwit πŸ˜€ Masalahnya cuma Lynx ini defaultnya selalu minta persetujuan sebelum menyimpan cookies. Karenanya saya buat sedikit penyesuaian agar Lynx selalu menerima cookies dari situs yang sudah dipercaya, misalnya wordpress.com πŸ˜€

Jalankan Lynx lalu tekan tombol o untuk masuk ke laman options. Buat perubahan seperlunya, tandai checkbox “Save options to disk”, lalu pilih “Accept changes”

Sekarang kita buka berkas .lynxrc yang baru dibuat, lalu tambahkan daftar domain yang cookie-nya akan selalu Lynx terima.

Kisah modem ZTE MF636 di Debian Squeeze

Kebetulan sekarang pegang modem ZTE MF636, yang di”bundel” dengan kartu 3, katanya gratis internetan 3 bulan. Yang nyatanya nggak terpakai, gara-gara sinyal 3 nggak sampai di tempat saya. Jangankan modem, diuji dengan hape saja sinyalnya cuma dapat 1 bar (-__-“). Nomor utama saya, XL, juga sinyalnya “hidup segan, mati semangat”. Cuma Telkomsel yang sinyalnya cukup kuat untuk dideteksi modem ini.

Setidaknya modem ini nggak bikin netbuk mati kalau dicolokin, dan tidak perlu modprobe lagi. Yoi d00d, sudah terdeteksi otomatis. Tinggal utak-atik settingan di Network Manager sahaja. Isikan apn, nomor sambungan, dan DNS Google, beres.

Yang bisa dikeluhkan cuma tarif-kuota-speed yang kadang-kadang saya rasa tak seiring-sejalan…

Setting modem Advan DT9 di Blankon Ombilin

Kebetulan adik saya lagi mudik ke rumah. Dia punya modem USB Advan DT-9, yang kadang-kadang saya “pinjam” untuk sekedar nge-junk di Plurk πŸ˜› . Sayangnya saya harus pakai Windows XP kalau mau internetan, karena Blankon Ombilin tidak mengenali modem ini. Agak aneh, karena biasanya modem-modem lainnya yang pernah saya colokkan di netbuk bisa dikenali oleh Ombilin. Tampaknya data modem ini belum ditambahkan pengembang Blankon πŸ˜€

Modem Advan DT-9 ini dikenali Ombilin sebagai media penyimpanan, sehingga saya harus sedikit utak-atik beberapa berkas agar Ombilin mengenali modem ini sebagai usbserial. Pencarian di Google mengantarkan saya pada tulisan ozanrock mengenai setting modem Advan DT8-HT. Rupanya caranya cukup manjur juga untuk modem DT-9

  1. Di Ombilin, usb-modeswitch tidak perlu diinstall lagi. Skip ke langkah 2
  2. Buka terminal, lalu jalankan lsusb. Modem terdaftar pada baris:
    Bus 001 Device 003: ID 0685:6001
    Yak cuma itu doang, tidak ada keterangan manufaktur-nya. Tapi ndak penting, yang penting saya dapat ID vendor (0685) dan ID product (6001)
  3. Sunting berkas /etc/usb_modeswitch.conf. Tambahkan baris berikut
    DefaultVendor=0x0685
    DefaultProduct=0x6001

    TargetVendor=0x0685
    TargetProduct=0x6001

  4. Muat driver modem
    sudo modprobe usbserial vendor=0x0685 product=0x6001
  5. Nah di sini saya bahkan tidak menjalankan usb_modeswitch di terminal. Tahu-tahu network-manager sudah mencari koneksi, dan muncul notifikasi saya sudah terhubung ke Internet. Lucky! πŸ˜€

Tapi modem ini masih bikin masalah. Baik di XP maupun di Ombilin, kalau modem ini saya colokkan saat netbuknya nyala, pasti netbuknya langsung padam. Jadi kalau mau pakai modem ini, si Pico dipadamin dulu, modemnya dicolokin, lalu Pico dinyalakan kembali. Ribet! Dasar modem aneh!

*rampokan kok komplen πŸ˜›

Scam konyol

Pernah buka inbox e-mail Anda, dan mendapatkan e-mail yang mengiming-imingi jutaan dolar, entah itu dari lotere, ‘konspirasi‘ harta gono-gini, pejabat bank culas yang hendak ‘mengamankan‘ harta klien yang meninggal dalam kecelakaan tragis, atau anak pejabat yang minta bantuan menghadapi saudara tiri yang jahat?

Pertanyaan bodoh, memang. Kalau Anda punya akun e-mail, masuknya pancingan sekem adalah keniscayaan.

Tapi pernah tidak ketemu sekem yang attachment-nya gambar barisan penguin?

LMAO