Teh

Belakangan ini di televisi banyak ditayangkan teh instan dalam kemasan botol bermerk Mirai dari SUNTORY.
Lalu apa?

Kejadian seperti ini tidak nyaman buatku, yang mana Indonesia juga punya signature sendiri dalam dunia pertehan dengan teh melati (kita bilang teh tarik itu punya Malaysia, deh). Aku takut juga pabrik teh nasional yang sudah besar (eg: Sosro) di kemudian hari harus kalah bersaing dengan perusahaan multinasional yang lebih besar di bisnis minuman instan di negeri sendiri, duh!
--kalau Sosro kelimpungan bagaimana dengan perusahaan teh industri rumah tangga macam Teh Cap Naga?

Aku bangga dengan teh melati yang sering aku minum sejak kecil: dari yang begitu manis, yang manis, yang cuma menggunakan sejumput gula, atau tanpa gula.
--juga mengutarakan kekurangsukaanku terhadap teh hijau yang menurutku rasanya seperti pacar kuku, hehehe

Masuknya produk impor seperti adalah bentuk kapitalisme: volume produksi bukan ditentukan sesuai kebutuhan konsumen, namun ditentukan oleh jumlah yang diperlukan untuk mendominasi pasar dan memberbesar keuntungan perusahaan; dengan kurang memedulikan kebutuhan konsumer sebenarnya (kita anggap saja globalisasi adalah idealisme baik-baik yang cuma mempertemukan budaya satu sama lain dan tidak bersalah di sini). Baiknya volume produksi dioptimalkan dengan batasan antara kebutuhan konsumen dan kemampuan produksi sehingga tidak menggunakan sumber daya (alam) yang sebetulnya tidak benar-benar perlu.

Dan, "ya!", keteknikan (engineering) dalam bentuk idealnya adalah buah ideologi sosialis karena mengutamakan kepentingan masyarakat bersama!

One liner shell of the day : #18 (menambahkan user ke group)

Karena di lab baru migrasi server, data masing-masing user di /home dipindahkan terus bikin user baru di server baru. Masukkan masing-masing user sesuai group (berkaitan dengan hak akses) harus dilakuin satu-satu biar ga bentrok sama konfigurasi yang lama.

usermod -a -G wheel liyan
wheel nama groupnya, liyan nama usernya

Lebih elegan ketimbang harus edit /etc/group di baris buat group wheel
wheel:x:10:liyan
dari sebelumnya cuma
wheel:x:10:

Brawijaya. Oh, inet lewat mana, sih?

Aku sedikit kaget ketika buka bgp.he.net malam ini. HE menunjukkan bahwa aku menggunakan koneksi dari AS17974 PT Telekomunikasi Indonesia.

Welcome to the Hurricane Electric BGP Toolkit.

You are visiting from 118.97.235.141 (141.subnet118-97-235.static.astinet.telkom.net.id) Indonesia

Announced as 118.97.235.0/24 (PT Telkom Indonesia's customer.) Indonesia
Announced as 118.97.224.0/20 (PT Telkom Indonesia's customer.) Indonesia
Announced as 118.97.224.0/19 (PT Telkom Indonesia's customer.) Indonesia
Announced as 118.97.0.0/16 (PT Telekomunikasi Indonesia) Indonesia

Your ISP is AS17974 (PT Telekomunikasi Indonesia)


Aku yang biasanya tahu koneksi kita dilewatkan pakai AS kita sendiri (AS46019 Universitas Brawijaya), tahu-tahunya kok ganti? Memangnya ganti AS gampang, ya?

Selidik punya selidik, ternyata kedua AS tersebut juga terhubung langsung dengan AS7713 PT Telekomunikasi Indonesia yang notabene juga punya Telkom (tapi lokasi fisik masing-masing AS di mana, sih?)

Pokoke internetan lancar digawe golek tugas kuliah, IPv6 bisa jalan lagi, oyi thok, wis!

Meja dan Komputer Kurang Kerjaan

Ini meja beserta komputer-komputer yang aku ikut pakai di lab.



4 core di i3-2120, 2 core di E7400, 2 cores di T2370 (laptop pribadi), di i3 pakai dual head (pakai monitor yang warna hitam). i3 pakai Slackware64-current, E7400 pakai LinuxMint Maya (LTS), laptop pake Salix64 13.37.

Susah pakainya--kibor 2, mouse kiri-kana ada semua.

One liner shell of the day : #17 (mengganti string dalam file dari file oleh file)

Kita sebut ini demokrasi file, string dalam sebuah file akan diganti dengan string yang dicocokkan polanya dari file lain dengan string dari file lainnya (lagi).
--Kalau ga bingung dengan frasa di atas dijamin pinter.
Mengapa disebut demokrasi file? Karena frasanya mirip "dari rakyat, oleh rakyat, buat rakyat".

Let's just cut the crap out.
sed -i "s/`cat masukan`/`cat keluaran`/g" target

File masukan berisi string yang akan diganti, file keluaran berisi string pengganti, dan file target berisi teks yang akan diolah (asumsi umumnya agar skripnya berguna, file target mengandung isi setidaknya serupa dengan file masukan).

Kelemahannya skrip di atas ga bisa escape dari newline, duh!
____
Semoga bisa bantu orang yang lagi butuh batch text editing.

My silly prayer was based solely on hope.

"Turn. Turn this way."
My silly prayer was based solely on hope.
"It makes me sad, when I can only watch your back."


"Just run faster; past by my side"
My silly prayer was based solely on hope that you will cruise first to the line.
"It makes me proud, simply from watching your back; knowing that you are digging very deep for the line."

Pacar Sepeda (2)

Lanjutan dari Pacar Sepeda.

Setelah aku merenung kembali tentang hubunganku sama sepeda, ada beberapa poin yang aku ingin tambahkan tentang pacar sepeda. Pikiran ini muncul setelah ada teman yang minta rekomendasi sepeda, aku tunjukkan dia ke sepeda hybrid-touring keluaran salah satu pabrik sepeda swadesi. :)

7. Boleh punya banyak sekaligus
Alasannya beragam: mulai ganti sepeda tiap pasaran/tanggal, beda peruntukan jalan dan jarak tempuh, atau menuruti suasana hati saat itu.

Aku gak yakin ada perempuan (atau laki-laki) yang membolehkan pasangannya memiliki pasangan lain, kecuali dengan alasan yang teramat dalam (atau ketidakpedulian, hehehe). Sementara kita bisa tukar-tukar sepeda sesuka hati (asal jangan nyuri punya orang aja!)

8. Boleh pinjam punya teman
Asal ga dipake jatuh dan bawanya swift pasti dibolehin, deh. Coba kalau kita pinjam pacar orang pasti digebukin.

9. Boleh coba dan terawang dulu
If you know what I mean, hehehe. Kita bisa coba sepeda di dealer sebelum kita beli. Spesifikasi sepeda bisa kita terawang lewat spec-sheet atau lihat langsung di showroom.

Sama sepeda enak, tho?

Bagaimana Kumemanggil Dia

Dulu aku sering memanggilkan dia dengan sebutan
"adik anaknya calon besan ibuku",

sekarang aku ingin memanggilkannya dengan sebutan
"anaknya calon mantan calon mertua".

Nah, sama ruwetnya, to?

One liner shell of the day : #16 (menyalin repo ubuntu)

Cara yang benar dan elegan buat nyalin repo tentunya pakai rsync, tapi berhubung repo salinannya bakal dijalanin offline dan kebanyakan tutorial bikin repo Ubuntu banyak yg pakai debmirror (bukan rysnc-nya sendiri), aku pakai wget aja.

wget -cvr -np -R index* singo.ub.ac.id/ubuntu/

Biznet, oh Biznet

Belakangan ini aku sering lihat pengerjaan instalasi fiber optiknya BizNet dari Bundaran Pesawat Soekarno-Hatta sampai ke kampus (rute sehari-hari, sih). Di kampus juga banyak shield bergeletakan di beberapa titik, salah satunya di parkiran Gedung Kuliah Bersama.

Pertanyaannya: BizNet, kamu mau bikin apa? Apa IPv6 bakal jelas jalannya begitu jaringan baru ini terpasang?
--padahal udah seneng banget kemarin IPv6 dari RisTIe Elektro udah bisa, sekarang kok mati lagi

Kontemplasi Mahasiswa Lama dan Kuliah Baru

Apa itu "ikhlas"?
Buatku ikhlas: gemar, jujur, berniat baik, dan menghargai hal-hal di sekitar kita secara substansial.


Saat mahasiswa semester akhir dihadapkan terhadap kuliah unutuk semester pertama--entah dengan alasan apa--ada ceceran nilai-nilai filosofis yang dulu tercecer, yang sekarang harusnya bisa dicerna lagi lebih dalam.

--belum selesai

WakeOnLan versi saya

Kalau komputer berada pada kondisi G2 (atau S5), komputer bisa dinyalakan dengan mengirimkan paket tertentu ke NIC-nya dengan bentuk tertentu. Nah, mekanisme ini dinamakan 'wakeonlan'.

Iseng-iseng aku bikin skrip sendiri yang cuma pakai netcat, xxd, sama bash. Isi standar paket wakeonlan adalah 0xFF 8 kali, diikuti MAC address (6-byte) diulang 16 kali.

wol.sh
#!/usr/bin/bash
# then you figure out that I am employing Slackware, no?

ADDR=`echo $1 | sed "s/://g"`
echo FFFFFFFFFFFF > /tmp/wol
for i in `seq 1 16`; do echo $ADDR >> /tmp/wol; done
xxd -r -p /tmp/wol /tmp/packet

echo Sending wakeonlan packet to $2 \($1\)
nc $2 7 < /tmp/packet
nc $2 9 < /tmp/packet

rm /tmp/wol /tmp/packet


Cara pakainya sih tinggal:
wol.sh MAC-address ipv4
---ipv4-nya mending di-broadcast address aja, deh.

Materi Training PKK 2012: Qt

Materi ini tentang pemrograman ber-GUI dengan Qt yang jadi salah satu isi training Pelatihan Ketrampilan Komputer di Laboratorium Informatika dan Komputer Teknik Elektro semester kemarin.


Qt adalah framework pemrograman berorientasi objek yang ber-GUI (ga pakai gui sih oke-oke aja sebetulnya) yang cross-platform, pendekatannya: mudah dan jelas. Intinya harus disiplin dan efesien dalam desain dan implementasi class-nya. Qt menggunakan bahasa C++ (pakai compiler g++ atau Visual C++) dengan binding berbagai bahasa: Java, perl, Ruby, dan segala macam (tapi dengan paket software terpisah).

Anyway, enjoy!
Link materinya di sini.
Source code yang terlibat di sini.

Hala, Rindu, Terima kasih

Terima kasih,

Wijayakusuma,
Pancanaka, Nenggala, Narataka,
tak lupa Candrasa, Punggawa, Wijayadanu, Candhabirawa, Cakra, Pasopati, Gunawijaya.
Lalu di mana Nakula dan Sadewa?

Buat Dasamuka, aku masih ingat kamu--kamu sejatinya tidak jahat.
Semoga Gatotkaca akan dapat segera lahir, walau aku tahu itu tidak semudah membalik telapak tangan.

Tanpa memihak--protagonis atau antagonis--kami menghaturkan banyak terima kasih.
Tangisku di penghujung perjuangan ini nanti, ada bulir air mata yang jatuh karena kalian juga.

Halaan kalian akan selalu kami ingat.
Doakan kami selamat mengarungi dunia esok.

Eh, apa itu Raigeki? DUE-like?

One liner shell of the day : #15 (NFS umount)

Ceritanya server NFS di dalam Lab Informatika dan Komputer Elektro (tempatku nebeng anime) ga mau nyala, padahal masih ter-mount di komputerku di Gedung Himpunan Elektro. Di umount ga mau tuh mountpoint-nya :(

Solusinya:
umount -lf /anime
# mountpoint-nya nama /anime

---paranoid banget, udah 'lazy' tambah 'force'

Checksum: CRC, MD5

Nah, bahasannya kali ini tentang checksum: metode yang digunakan untuk mengambil sebuah "identitas" dari sebuah unit data.

Yang pertama dibahas CRC, algoritma ini menggunakan operasi XOR secara siklis terhadap masing-masing bit dari data dengan kunci tertentu. Karena kesederhanaannya, metode CRC bahkan jamak diterapkan di perangkat keras.

Selanjutnya MD5, fungsi hash ini sudar tersohor, deh! Banyak dipakai di mana-mana. Mulai dari hash buat simpan password, hash buat mencatat bahwa file tidak berubah setelah download, hash buat tulis puisi cinta (nah, masa ada?).

Anyway, makalahnya di sini.

Klasifikasi Enkripsi

Makalah ini buat kuliah Keamanan dan Integritas Data. Isinya tentang klasifikasi algoritma enkripsi.

Sederhananya, algoritma enkripsi dibagi jadi 2: simetris (proses enkripsi dan dekripsi menggunakan kunci yang sama), asimetris (proses enkripsi dan dekripsi menggunakan kunci yang berbeda).

Algoritma enkripsi simetris ya itu-itu aja caranya (sok pinter mode=on, hehe) karena kunci untuk enkripsi dan dekripsi sama. Sementara algoritma enkripsi asimteris dibagi jadi 3:
- dienkripsi dengan kunci publik lalu didekripsi dengan kunci privat,
- dienkripsi dengan kunci privat lalu didekripsi dengan kunci publik,
- dienkripsi dengan gabungan kunci publik dan privat dari dua pihak berbeda; lalu didekripsi dengan gabungan kunci komplemennya.

Makalahnya bisa disimak di sini.

Enkripsi Genap Ganjil

Buat kuliah Keamanan dan Integritas Data, aku bikin algoritma enkripsi klasik. Dasarnya dari Julian chiper dengan dua pool dan dua variasi "gerakan" key berdasarkan jumlah genap/ganjil dua byte yang akan diubah. Singkat cerita kurang lebih begitu, lah.

Makalahnya bisa dibaca di sini.

One liner shell of the day : #14 (SSH port redirect)

Long story short, fileserver di lab ga bisa diakses dari segmen di luarnya, tapi tetap bisa diakses oleh komputer dari segmen jaringan yang sama, entah mengapa--aku masih bisa akses komputer lainnya yang juga di lab (di segmen jaringan yang sama dengan fileserver itu).

Solusinya agar bisa akses fileservernya:
ssh -L localhost:3434:172.20.9.212:80 asisten@172.20.9.137
172.20.9.212 adalah IP komputer server, 172.20.9.137 adalah komputer lain yang juga di lab. Nanti kita bakal dikasih shell ssh biasa dari komputer 137, tapi tunnel ssh sudah terbentuk antara komputerku (172.20.8.*) dengan 172.20.9.137-->172.20.9.212:80

Hasilnya, aku bisa akses fileserver dengan http://localhost:3434

___
PS: segalanya bakal lebih nyaman kalau IPv6 di UB udah jelas implementasinya,

One liner shell of the day : #13

This just ruined my day:

echo bash >> ~/.bashrc

If you know what I mean. :D

Bluetooth di Salix64

Setelah lama memendam (sedikit) rasa iri sama orang-orang yang laptopnya dipasangin desktop manager KDE atau Gnome yang aplikasi Bluetooth-nya berjalan dengan baik, dan koherensi instlasi paket di Slackware (dan turunan) yang ga pernah jelas dari dulu--akhirnya saya bisa pakai Bluetooth dengan mudah dan nyaman di Salix64 13.37.

Sederhana saja, sih (tapi kok dari dulu ga kelar-kelar, ya? :D ), kita hanya perlu memastikan bahwa perangkat keras adapter Bluetooth dikenali dengan baik oleh kernel, instalasi beberapa paket termasuk aplikasi GUI yang memudahkan penggunaan, soalnya ga bakal nyaman kalau tiap mau pairing harus hciconfig, hcitool. atau waktu kirim-terima file harus obexls, obexget, obexput.

Beruntungnya, Salix64 13.37 (kernel 2.6.37.6--lama banget, yak?) dari awal sudah mengenali adapter Bluetooth Widcomm yang tertanam di senjata saya (Aspire 4720z), begitu tombol adapter ditekan langsung ada LED warna biru menyala dan interface terbaca dari hciconfig.

Langkah selanjutnya instalasi paket-paket, semuanya aku ambil dari Slackware64 13.37. Paket-paketnya antara lain:
- blueman-r708,
- bluez-firmware-1.2,
- bluez-hcidump-2.0,
- bluez-4.91,
- obex-data-server-0.4.5-x86_64-2
- obexfs-0.12,
- obexftp-0.23-x86_64-5
- openobex-1.5


Atur rc.bluetooth sehingga bisa dieksekusi dengan chmod +x /etc/rc.d/rc.bluetooth agar bluetoothd (milik bluez) dapat berkomunikasi dengan dbus (yang aku belum paham mekanismenya gimana, hehe)

Setelah itu tinggal reboot, nyalakan adapter Bluetooth, jalankan blueman-applet, nanti bakal muncul icon Bluetooth di tray. Enjoy!

Pacar Sepeda

Langsung ke inti pembicaraan, maksud judul yang kutulis adalah: sepedaku adalah pacarku. Bukan berarti aku akan menikah dengan sepeda, tapi mencurahkan hasrat pada sepeda walau kita bukan pemancal profesional.
--jomblo detected

Ada beberapa poin dari sepeda yang kita harapkan dari 'pacar' ideal, mari paparkan satu demi satu.

1. Setia
Sepeda tidak berselingkuh, dia akan tetap bersama pemiliknya--kecuali dipinjam dengan atau tanpa izin pemiliknya (baca: dicuri).

2. Diajak jalan ke mana juga mau
Sepeda pergi bersama-sama ke mana kamu mengayuh. Kalau kamu gowes ke gunung dia ikut nemenin ke gunung, kalau gowes ke pantai dia nemenin ke pantai, gowes ke kampus nemenin ke kampus, ke kantor, ke rumah, ke pasar, juga nemenin.

3. Senang-sakit direngkuh bersama
Waktu tanjakan, turunan, jalan raya, nge-sprint, jump, drop, hop, bahkan ketika jatuh; sepeda menemani kita.

4. Cakep
Semakin banyak kita investasi pada parts yang nice dan melakukan perawatan rutin, sepeda bakal makin nyaman dikendarai dan sedap dipandang (apalagi lihat framesetnya Pina Kobh--cakep banget menurutku)

5. Ga materialistis
Sepeda ga pernah rewel: ngajak belanja, ngajak nonton, ngajak jalan-jalan. Yang ada sih pemiliknya khilaf beli komponen mahal habis dikomporin temen, hehe.

6. Ga gengsi--sok jaga image
Sekeren apapun sepedamu, ga bakal ngerusak image kalau kamu pakai ke pasar buat beli sayur (tapi paling sangkil pakai sepeda keranjang, to?). Dan sejelek apapun sepedamu, asal layak jalan, ga menghalangi kamu makan di restoran (kecuali ga ada tempat parkir yang bisa disisipi sepeda)

Kesimpulannya: orang yang naik sepeda bisa jadi jomblo--tapi ga pernah sendirian.


____
PS: pernah waktu aku bertamu ke rumah 'teman perempuan'--Mei, sepedaku yang kutaruh di teras jatuh kena angin. Aku ga sengaja teriak, "Aduh, pacarku jatuh!" di depan Mei dan ayahnya. Suasana terasa aneh untuk beberapa waktu sampai aku mengangkat sepedaku dan memarkirnya kembali. LOL

Kuliah buat Kerja?

Waktu itu ada yang bilang begini sama aku, "Kita itu kuliah buat kerja, kerja cari uang, beli ini-itu, menikah" saat acara makan bersama dari anggota laboratorium tempat saya 'bermain'. Di kesempatan lain beliau (orang yang sama) mengomentari keinginan hidup saya: tentang bekerja sebagai engineer (beneran), earning money from certain--specific purposes, and such.

Beliau juga mengatakan tentang bagaimana kita harus patuh terhadap prosedur kerja, walaupun beberapa bumbu inovasi kecil mungkin dapat membuat hal-hal menjadi lebih menarik. Juga kutipannya berbicara mengutip managernya, "Kamu ga kerja di sini juga kita ga bakal rugi."

Kutipan terakhir tersebut membuat saya (sedikit) sakit hati. Menurutku setiap orang dengan kondisinya masing-masing, kelebihan dan kekurangan masing-masing, mempunyai tempat spesialnya masing-masing. Pencapaian setiap orang tidak harus sama, bahkan harus tidak sama. Lingkungan kita bekerja (nanti) harusnya menghargai kita semestinya, tidak hanya dengan upah yang sesuai, namun juga penghargaan saat kita melakukan sesuatu buat mereka (dan diri kita sendiri) dan koreksi saat kita membuat kekeliruan.

Kerja buatku tidak hanya sekadar mendapat penghasilan, namun juga mengembangkan diri, mengeksplorasi kemampuan dan kemungkinan, mencari rekan dan menjaga kerpercayaan yang diberikan. Kalau kamu?

Waktu, Hidup

Waktu: Itu, Kini, Nanti
Hidup: Jiwa atau Nyawa


Masa kita belum terluka karena daun dan biluh bambu,
masa kita pikir bentangan laut itu biru,
masa kita rewel dengan jalan berbatu,
masa kita rasa resah dan ragu adalah ketidakpunyaan, bukan ketidakbisaan dan dilema.

Kalau kamu tanya mengapa masa itu selesai, jawabku
"Kita tumbuh, kita berkembang,
kita jatuh, kita terluka,
kita pulih, kita pupus"
"Karena masa adalah finit dan berbatas,
karena masa adalah nisbi,
karena masa adalah tidak abadi"




Aku yakin hidup ini bukan cuma sekuel
buat menampilkan cerita atau apa,
buat memesona orang-orang,
buat memenuhi keinginan ini dan itu,

yang terpotong di sana-sini untuk menunjukkan pentingnya bagian-bagiannya.
Hidup ini utuh, dari cercah hingga pupus.

Hidup ini:
berserah, patuh, menghiasi diri,
berbuat baik, berkata baik, berpikiran baik,
menyadari keliru dan salah,
berserah, patuh, menghiasi diri,
berbuat baik, berkata baik, berpikiran baik,
menyadari keliru dan salah,
berserah, patuh, menghiasi diri,
berbuat baik, berkata baik, berpikiran baik,
menyadari keliru dan salah,
...

Hidup ini utuh, dari cercah hingga pupus.


Dewasa?
Cacah hitungan revolusi terhadap surya melampaui jumlah tertentu,
atau hukum yang mengenaimu telah berganti,
atau sekadar tindakmu lebih rasional ketimbang menjunjung mimpi dan harap.

Kita selalu kita,
entah menangis, entah tertawa, entah tersenyum, entah diam.
Tidak ada yang benar-benar berganti,
lingkunganmu hanya berubah.

Lakukan apa-apa yang kamu perlu lakukan,
ingat apa yang kamu lakukan baik,
ingat apa yang kamu lakukan berantakan,
ingat apa yang kamu lakukan keliru,
pikirkan, renungkan,
lakukan lebih baik,
hingga pupusmu.


___
ditulis pakai Geany, dini hari tadi
makasih buat Bayu yang mau bikinin tipografinya (aku kopok lek ngenean)

nas.ub autologin buat Windows

Karena belakangan banyak yang minta skrip autologin buat Windows (kan sebelumnya pakai skrip shell yang notabene ga selalu ada di Windows), aku tambah skrip buat Windows.

Download dari sini.
Yang perlu dilakukan adalah menyesuaikan file webauth, jalankan skrip dengan ekstensi BAT yang tercantum, lalu berdoa (keterangan selebihnya bisa dibaca di file README yang tercantum).

Skrip ini cuma memudahkan (otomatisasi) login; mekanisme keamanan, kerahasiaan akun, dan segala macamnya bukan tanggung jawabku tentunya.

One liner shell of the day : #12

Kali ini kasusnya komputerku yang kutinggal dari kemarin--eh, ternyata memori 2 GB udah kepakai banyak buat disk-cache (sampe meluber ke swap segala).
--dan banyak window file manager yang terbuka, kayanya tadi malam ada yang nancepin flashdisk terus bingung bagaimana [prosedur yang baik untuk] nyopotnya

Solusinya biar bisa (segera) dipakai buat aplikasi lain:
sync && echo 3 > /proc/sys/vm/drop_caches

my new rig

Komputerku yang baru-baru ini (setelah pulang PKL) kupasangin casing yang bener, kutaruh di kampus karena di kamarku udah penuh barang-barang (dan jatah komputerku di lab udah kudonasikan buat lab FPGA yang segera mau buka :) )


Snapshot desktopnya: Slackware 13.37. XFCE pakai iconset tango (KDE). Mau naik pangkat tapi masih malas banget reboot (kalo ga gara-gara listrik padam aja). Dari ikon di tray harusnya kelihatan dipakai apa aja, hehe.

NAS.ub auto-login (termauth)

Melengkapi post sebelumnya tentang auto-login ke NAS.ub, ada tambahan form yang harus dikirim, yaitu: termAuth.
---post sebelumnya membahas tentang form webAuth.

Singkat cerita ada 2 paket yang harus dikirim, tapi aku bakal cuma tulis paket untuk termAuth di post ini (biar yang satunya banyak yang baca, hehe). Paket termAuth berisi:
POST /termsAuth/index.htm?www.google.com/search?q=a&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:unofficial&client=firefox-nightly HTTP/1.1
Host: 175.45.184.173
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120314 Firefox/14.0a1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://175.45.184.173/termsAuth/index.htm?www.google.com/search?q=a&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:unofficial&client=firefox-nightly
Content-Type: application/x-www-form-urlencoded
Content-Length: 38

check_id=on&submit=Continue&clause=yes


Skrip shell perlu diubah sedikit menjadi:
#!/usr/bin/bash
while [ 1 ]; do cat termauth | nc nas.ub.ac.id 80; cat webauth | nc nas.ub.ac.id 80; sleep 200; done


Done!

NAS.ub auto-login (webauth)

Baru-baru ini (mulai akhir Januari) di UB dipasang mekanisme login melalui web yang baru untuk RADIUS yang menggantikan yang lama (yang biru-putih itu).

Ada beberapa kekurangan yang pada antarmuka web yang baru ini:
- ga pakai SSL (mana sertifikatnya?),
- ga ada fungsi hash,
- isinya cuma plain text,
- interval sesi yang terasa terlalu cepat (berapa menit sih sebenarnya? atau aktivitas?),
- ga ada logo UB-nya (d'oh!),
Kesimpulannya: ndak mbois, blas!

Menanggapi kejengkelan tersebut, aku iseng-iseng bikin skrip auto-login biar bisa ninggal komputer download sampai besoknya. Pendekatannya sederhana: tangkap paket waktu login, duplikasikan secara periodik dengan shell/batch script.

Untuk mendapatkan bentuk paket, aku pakai wireshark, harusnya segera dapat paket HTTP dengan bentuk semacam ini:

POST /webAuth/ HTTP/1.1
Host: nas.ub.ac.id
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120313 Firefox/13.0a1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://nas.ub.ac.id/webAuth/
Content-Type: application/x-www-form-urlencoded
Content-Length: 62

username=--nimku--&password=--passwordku--&pwd=--passwordku--&secret=true


Paket tersebut tinggal disimpan jadi file dengan menu "Save as" di wireshark :) Trim header-header dari enkapsulasi (aku pakai dd) sampai jadi paket HTTP-nya.

Nah, setelah punya file yang berisi paket tersebut kita bisa kirim secara periodik. Aku gunakan nc (netcat) untuk manipulasi socket-nya. Aku buat shell script:
#!/usr/bin/bash
while [ 1 ];
do cat paket-login | nc nas.ub.ac.id 80;
sleep 500; # 500 detik
done;

--buat sistem operasi Windows pakai skrip batch, yah. aku ga bisa jelasin, deh

Langkah terakhir, berdoa semoga skripnya bisa jalan sesuai yang diinginkan :)

One liner shell of the day : #11.5

Kali ini buat ambil suara (mp3) dari video (flv)

tinggal: ffmpeg -i dapet-youtube.flv -o musik.mp3

simple, no?

One liner shell of the day : #11

Nah, ceritanya setelah download manga Mirai Nikki aku ingin tiap chapter punya nama dua karakter angka, ie: 00 ... 58.

Nah, jadi di direktori tempat manga-manganya itu:
rename Chapter "" * && rename "" 0 ?

Nah, di situ ada beberapa argumen regex (regular expression), mari aku jelaskan:
- rename mengubah argmumen[1] menjadi argumen[2] yang diterapkan pada yang cocok dengan argumen[3] (buka man jika masih bingung),
- "" digunakan untuk merujuk string kosong (null),
- * merujuk ke 'apa saja',
- ? merujuk ke 'satu karakter apa saja'.

Jadi dua perintah di atas dapat diterjemahkan jadi:
- hapus semua tulisan "Chapter" terhadap semua file yang cocok (direktori di *nix juga file),
- tambahkan '0' kalau nama file cuma 1 karakter

Semoga ini ada gunanya, deh.

Addressing dan Routing (IPv4 dan IPv6)

Ini makalah (lagi) tentang pengalamatan dan penghalaan (routing--kalau ga familiar dengan istilahnya dalam Bahasa Indonesia) pada lingkup IPv4 dan IPv6.

Ada beberapa kemiripan antara kedua protokol, tapi perbedaannya juga ga bisa dibilang sempit. Terutama pada IPv6, yang sementara ini masih relatif jarang implementasinya di sekitar kita--bisa memberikan bagaimana IPv6 bekerja.

Link makalah di sini.

Induksi Matematik untuk Menentukan Bilangan Prima

Makalahku buat kuliah Matematika Diskrit. Isinya membahas metode induksi matematika untuk menentukan bilangan prima dan implementasinya dalam program C sederhana.

Ada beberapa optimasi kecil yang diterapkan yang bisa buat mahasiswa yang baru ambil Dasar Algoritma dan Pemrograman tertarik (biasanya jadi tugas kuliah, hehehe)
--sebetulnya pengen impelementasikan rvo (return-value-optimisation) tapi rung thuthuk pikiranku

Link dokumen makalah.

Distribusi Diskrit Bilangan Acak dari /dev/urandom

Ini makalah untuk tugas matakuliah Probailitas dan Statistika yang aku tempuh semester ini. Isi makalah membahas sifat distribusi dari bilangan-bilangan yang dibangkitkan dari file /dev/urandom di sistem operasi berbasis Linux.

Buat yang penasaran bisa baca di sini.

---disusun oleh Zulhaj Aliyansyah dan Gian Giovani

Pengembangan Kios PKL Comboran

Tahu sendiri pasar flea Comboran isinya apa: alat pertukangan, asesoris ponsel, perlengkapan komputer, pompa air, kacamata, onderdil sepeda, majalah lama ada.

Setelah beberapa pekan ga nyambangi Comboran, kaget juga tadi pagi ada bongkaran. Eh, ternyata bakal ada pembangunan ruko dan kios untuk pedagang kaki lima di Comboran (Jalan Halmahera)



Semoga barangnya makin variatif dan menarik, belanja di situ jadi lebih seru :)

Progam Visual Komurindo 2011 E-FLY 63

Nah, berhubung programnya sudah obsolete dan (tampak) ga bakal jadi bahan gunjingan aku upload, deh.

Sistem yang dipakai:
- Linux (kalau ga salah dulu pakai Zenwalk 6.4, deh),
- Qt 4.6,
- qwt pre 6 (aku coba compile pakai qwt 6 udah ga bisa--QwtCompass-nya udah beda).

Pembacaan dari serial com pakai operasi I/O standar glibc, karena waktu itu malas pakai qextserialport (baru official masuk Qt 5) trus butuh eksekusi yang efesien. Kodenya jadi gado-gado, tuh.

Buat aplikasi widget fotonya sih fail, belum nemu manipulasi pixmap yang bisa gegas updatenya (apa aku yang kopok, yah?)

Download di sini buat kodenya. Maaf ga ada screenshot, atau apa--udah kehapus semua dokumentasinya :(