Tagihan tahunan

Sekarang sudah bulan Maret dan ini artinya amplop hijau dari Gemeente alias pemerintah daerah dan amplop putih/biru dari Waternet akan datang! Amplop2 ini berisi Acceptgiro alias formulir pembayaran terkait bbrp hal xD Barhubung jumlahnya cukup signifikan, mari kita sekalian lihat dan catat apa aja sih yang ditagih.

Amplop pertama datang dari Gemeente. Dari sekian banyak hal yang bisa ditagih, yang sekarang relevan untuk saya adalah yang berikut ini. Oya angka2 ini bisa berubah tiap tahunnya dan yang saya pakai ini adalah untuk tahun 2015.

  • Onroerende-zaakbelastingen (OZB) alias pajak bangunan. Jumlahnya itu sekian persen (tepatnya 0,06228%) dari nilai properti yang (sepertinya) dihitung/ditentukan dari Gemeente. Jadi andai nilai rumah adalah 100 ribu euro, maka yang bakal ditagih adalah sekitar €63.

    Fun fact: di Amsterdam sini status tanah itu nyewa! Jadi kalau kita beli rumah, ya itu cuma tuk bangunannya aja. Si tanah tetep dimiliki oleh Gemeente (kayanya sih). Tiap daerah punya aturan sendiri termasuk yang status tanahnya adalah hak milik juga.

  • Afvalstoffenheffing yaitu uang kebersihan. Besarnya tergantung jumlah orang yang tinggal di sebuah alamat dan uniknya pilihannya cuma dua yaitu sendiri atau lebih dari satu orang xD Tuk tahun 2015 ini, si Gemeente bakal nagih €240 tuk satu orang dan €320 jika ada lebih dari satu orang.

  • Rioolheffing untuk saluran pembuangan. Besarnya dipukul rata sama semua yaitu sebesar €149.41.

Contoh hal lain yang bisa ditagih tapi gak relevan tuk saya itu pajak anjing. Jadi tiap orang yang memelihara anjing bakal harus bayar sekian euro.

Selain si Gemeente, Waternet yang ngurusin segala hal yang terkait dengan air juga punya tagihan tahunan. Ada dua/tiga hal yang ditagih oleh Waternet:

  • Watersysteemheffing atau pajak air. Besar tagihannya akan disesuaikan dengan properti/tanah yang kita punya. Tuk pemilik bangunan, sama seperti pajak bangunan di atas, besarnya akan dihitung berdasar nilai bangunan sebanyak 0,017089%.

  • Zuiveringsheffing atau Verontreinigingsheffing tergantung kondisi koneksi bangunan dengan saluran pembuangan. Komponen tagihan ini dipakai untuk pemurnian air yang “tercemar” oleh penghuni bangunan xD Besarnya dihitung berdasar jumlah pencemar, alias jumlah orang. Kalau cuma satu orang, akan dikenai tagihan sebesar 1 unit dan kalau ada dua atau lebih, tagihan akan datang untuk 3 unit pencemar. Tahun 2015 ini, ongkosnya adalah €53,76 per unit.

Kalau angka-angka di atas dijumlah semua, akan bikin puyeng jika mesti dibayar sekaligus. Untung aja si Gemeente (sayangnya si Waternet ngga demikian) menyediakan bbrp metode pembayaran. Dibayar sekaligus, dalam 2 kali pembayaran, atau 8 kali namun dengan tagihan otomatis. Sepertinya juga tiap bulan mesti menyisihkan sekian euro supaya gak terkaget2 setiap bulan Maret/April xD

Kalau ada yang salah2 atas penjabaran di atas, tolong kasih tau ya :D

Tagged , , , | 1 Comment

Memasang Go di Ubuntu

Ceritanya saya sedang menulis ulang sebuah proyek kecil yang sudah lama tidak saya sentuh. Mengapa saya tulis ulang? nanti saja saya ceritakan secara terpisah :D Proyek tersebut saya tulis ulang dalam bahasa Go. Nah bagaimana cara memasang perkakas bahasa Go di Ubuntu?

Cara paling enak dan cepat tentunya memasang yang ada di repositori Ubuntu. Cari paket bernama golang lalu pasang! Namun bagi para petualang yang butuh Go versi terbaru, yang ada di repositori Ubuntu mungkin tidak cukup.

Sekitar dua tahun yang lalu, ada yang memelihara paket Go dengan versi paling mutakhir di repositori PPA. Namun karena ada beberapa kendala, usaha ini akhirnya dihentikan. Tapi untungnya beliau ini masih menyediakan alat bantu untuk mengubah paket binari Go resmi menjadi paket Debian yang bisa dipasang di Ubuntu.

Berikut ini cara memakainya.

  1. Unduh aplikasi untuk mengunduh dan mengubah paket binari Go menjadi paket Debian. Aplikasi ini terdiri dari dua versi, satu untuk arsitektur i386 dan satu lagi untuk arsitektur amd64.

    Sebagai contoh, saya akan memakai versi i386

    $ wget https://godeb.s3.amazonaws.com/godeb-386.tar.gz
  2. Ekstrak berkas yang tadi diunduh. Setelah diekstrak, akan ada berkas bernama godeb.

    $ tar xzf godeb-386.tar.gz
  3. Cek daftar versi Go yang tersedia

    $ ./godeb list
    1.4beta1
    1.3.3
    1.3.2
    1.3.1
    1.3
    .. dst ..

    Akan tampil daftar versi Go yang tersedia di tempat unduh resminya.

  4. Lalu jalankan perintah seperti di bawah ini untuk mengunduh dan mengubah paket binari Go menjadi paket Debian.

    $ ./godeb download 1.3.3
    processing https://storage.googleapis.com/golang/go1.3.3.linux-386.tar.gz
    package go_1.3.3-godeb1_i386.deb ready
  5. Pasang paket Debian yang baru saja terbentuk

    $ sudo dpkg -i go_1.3.3-godeb1_i386.deb
    [sudo] password for iang: 
    Selecting previously unselected package go.
    (Reading database ... 37654 files and directories currently installed.)
    Unpacking go (from go_1.3.3-godeb1_i386.deb) ...
    Setting up go (1.3.3-godeb1) ...
  6. Go versi pilihan Anda sudah siap untuk beraksi

    $ go version
    go version go1.3.3 linux/386

Aplikasi godeb ini sebenarnya juga menyediakan opsi install yang akan menjalankan tahap 4 dan 5 di atas sekaligus. Saya pribadi agak kurang suka dengan opsi tersebut karena tiba-tiba akan meminta password untuk sudo tanpa memberi tahu untuk apa. Sebenarnya menjalankan berkas binari acak seperti di atas juga tidak baik, tapi kalau kita tahu pasti sumbernya adalah sumber yang aman dan bisa dipercaya, mudah-mudahan kode yang dijalankan juga aman.

Akhir kata, saya ucapkan selamat mencoba! :D

Tagged , , | 1 Comment

JSON formatter bookmarklet

At work I need to read JSON document pretty often and making it pretty will help me pretty much. Last time I showed how to prettify a JSON document using Python script. But since I am working mostly in a browser, having to switch from browser to terminal is a bit cumbersome. There are a lot of online JSON formatter out there but I think it’s too much if I need to make a remote request just to do the formatting. Also the JSON document I need to format can be a sensitive document so it’s also not a good idea to use an online service.

Then I realized browser nowadays has in-browser JSON formatter function: JSON.stringify. I just need to find a way to make using it a bit easier. So I made the following bookmarklet.

Prettify JSON

Drag the link above to bookmark bar in your browser. If you need to format a JSON document, you can click it, then paste the JSON document (make sure it’s valid), and finally click the button there. Voila!

Tagged , , | Leave a comment

Sertifikat SSL gratis dari Cloudflare

Setelah setahun, sertifikat SSL gratisan yang saya dapat dari StartSSL akhirnya kadaluarsa. Kalau mau lanjut, tentu saja saya harus pengajukan pembaruan dan memperbarui sertifikat yang sekarang dipakai. Proses ngurus sesuatu di StartSSL itu aga2.. er… ribet :/ jadi males xD

Namun.. berhubung sekarang Cloudflare menyediakan sertifikat SSL gratisan, saya memutuskan tuk pindah saja haha :D Kebetulan domain ini emang sudah ditangani oleh Cloudflare jadi mestinya saya cukup mengatur agar segala lalul intas melewati server Cloudflare dulu. Gak masalah lah ini :D

cloudflare

Tapi sebelum itu, saya jg harus mengaktifkan dukungan SSL di Cloudflare. Dari empat opsi penggunaan SSL yang ada, saya memilih Full SSL supaya koneksi dari Cloudflare ke server tempat saya naro blog ini juga tetap menggunakan HTTPS. Pakai sertifikat yang mana? tentu saja pakai yg sudah kadaluarsa itu hihi :D

ssl

Memakai sertifikat SSL gratisan dari Cloudflare ini bukan ngga ada resikonya. Salah satunya adalah browser pengunjung udah mesti punya SNI (Server Name Indication, bukan Standar Negara Indonesia :P). Walau udah banyak browser yang mendukung SNI, tapi si Cloudflare bilang cuma sekitar 52% pengunjung dari Indonesia yang memakai browser ber-SNI (eh?).

Selain itu, Cloudflare memasukkan lebih dari satu domain agar terdaftar dalam sertifikat yang sama. Jadi semacam bbrp orang berbagi KTP yang sama walau di KTP tersebut tertulis setiap nama orang yang ikutan berbagi.

ssl

Keuntungannya? Dapet wildcard certificate! Sub domain jadi bisa dipasangi HTTPS juga tanpa sertifikat tambahan!

Tagged , , , | 8 Comments

Reverse Proxy from HTTP to HTTPS with Apache

The other day, I had problem accessing an HTTPS site from a Python script. Since I had no time to spend figuring out why (it was for a personal project anyway), I decided to make a reverse proxy using Apache. However, unlike the commonly setup reverse proxy, this one is to make an HTTPS site available as HTTP site.

This is what I needed to put in my Apache config.

<VirtualHost 127.0.0.1:12345>
    ...
    SSLProxyEngine On
    ProxyPass / https://that.secure.site/
    ProxyPassReverse / https://that.secure.site/
    ....
</VirtualHost>

I also had to enable mod_proxy and mod_ssl which can be done easily (on Debian based system) by running the following command

# a2enmod proxy ssl

Then reload or restart Apache

# service apache2 reload

The most important bit in the config above is SSLProxyEngine On. Without this the proxy would not work!

Tagged , , , , , | 1 Comment

apt-web

Masih ada yang make apt-web kah? :D

5 Comments

Reverse Proxy dari HTTP ke HTTPS

Masalah lain yang saya temui setelah nyadar kalo tempat saya naro file RSS blog gak bisa diakses adalah ternyata si jadul PlanetPlanet kombinasi dg Python 2.7 punya masalah saat nyedot data dari situs https ini. Entah apakah ini kasus spesifik atau ngga, saya kurang tau :P

Saat saya menjalankan si PlanetPlanet, tiba2 dia ngeluarin exception di bawah ini.

Traceback (most recent call last):
  File "/anu/itu/planet/feedparser.py", line 1893, in _open_resource
    return opener.open(request)
  File "/usr/lib/python2.7/urllib2.py", line 400, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 418, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1215, in https_open
    return self.do_open(httplib.HTTPSConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1174, in do_open
    h.request(req.get_method(), req.get_selector(), req.data, headers)
  File "/usr/lib/python2.7/httplib.py", line 958, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 992, in _send_request
    self.endheaders(body)
  File "/usr/lib/python2.7/httplib.py", line 954, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 814, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 776, in send
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 1161, in connect
    self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file)
  File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket
    ciphers=ciphers)
  File "/usr/lib/python2.7/ssl.py", line 141, in __init__
    ciphers)
TypeError: must be _socket.socket, not _socketobject

Nanya2 oom google ngga membawa hasil yang menggembirakan. Berhubung saya lagi males ngecek2 lebih jauh, jadi saya putuskan tuk bikin situs blog ini tersedia dalam modus http juga walau cuma bisa diakses dari localhost :P ehh ternyata sepertinya si wordpress kekeuh sekali https, tetap https (duh). Berhubung yg ini gagal, saya coba cara lain dg bikin reverse proxy aja :D proxy yang membungkus situs https tuk disediakan dalam http.

Kira2 begini konfigurasinya

<VirtualHost 127.0.0.1:12345>
    ...

    SSLProxyEngine On
    ProxyPass / https://fajran.web.id/
    ProxyPassReverse / https://fajran.web.id/

    ...
</VirtualHost>

Nyalakan modul mod_proxy dan mod_ssl dan restart/reload si apache.

Konfigurasi di atas mirip dg cara membuat reverse proxy biasa, namun ada bagian penting yang ngga boleh kelupaan ditulis: SSLProxyEngine On. Tanpa ini, proxy dari http ke https ngga bisa jalan.

Tagged , , , , | Leave a comment

Sindikasi

Setelah lama tak ditengok, ternyata tempat saya naro RSS feeds tuk blog ini tak bisa diakses :D dann ternyata itu gara2 lupa ngubah konfigurasi Apache saat dulu upgrade dari versi 2.2 ke 2.4 (doh)!

Satu hal yang berubah di Apache 2.4 itu adalah cara ngasih izin akses ke sebuah direktori. Kalau sebelumnya make yang berikut

Order allow,deny
allow from all

Apache versi lebih baru berubah menjadi seperti yang berikut ini

Require all granted

Kirain semua udah diubah saat dulu upgrade, ternyata ada yang ketinggalan T_T

Tagged , | 7 Comments

Lama

Ternyata sudah setahun lebih saya gak ngisi lapak yang ini. Enaknya diisi apa ya? :D

Tagged | Leave a comment

HTTPS

Dengan berbekal sertifikat SSL gratisan dari StartSSL, saya jadikan blog ngasal saya ini terlihat sedikit lebih keren karena bisa menggunakan https tuk mengaksesnya :P

Tagged , , | 3 Comments