Tuesday, July 22, 2008

Habis ini kemana ya?

Beberapa hari yang lalu liat-liat fs anak-anak Salatiga yang baru lulus SMU. Liat-liat comment mereka, kebanyakan dari mereka saling bertanya satu sama lain, mau lanjut ke mana? Mau kuliah jurusan apa.

Setelah tak pikir-pikir, waktu dulu aku nentuin jurusan pas mau kuliah, sebenarnya aku nggak terlalu apa yang harus aku pilih. Taunya sih kalo anak IPA biasanya masuk Teknik Elektro, Teknik Sipil, Kedokteran. Aku sama sekali nggak tau entar di jurusan itu nanti belajar apa, habis lulus dari situ entar jadi apa dan laen-laen. Dalam pikiranku sih aku cuma pengen tau lebih dalam tentang komputer dan programming, berbekal itu, aku pilih T. Informatika. Dan untungnya sih, jurusan tersebut lumayan pas denganku. Cocoklah. Dan setelah kuliah beberapa tahun jadi ngerti T. Informatika bukan tentang memprogram komputer saja.

Setelah cerita-cerita dengan temen-temen laen, pengalaman mereka juga relatif sama, mereka milih jurusannya tanpa terlalu tahu sebenarnya yang akan mereka pelajari itu apa. Bagi mereka yng cocok dengan jurusannya sih gak masalah, tapi kalo yng gak cocok wah bisa gak enjoy ngejalaninnya.

Aku nggak tau sih kondisi sekarang di SMU-ku, dulu sih paling banter ngundang alumni yang udah kuliah. Itu juga paling mahasiswa yang baru tingkat satu, orang-orang yang masih bangga ketrima di univ. top tapi sebenarnya mereka belom tahu apa-apa tentang universitasnya. Jadi ya masih tidak terlalu terbayang entar belajarnya apa. Harusnya sih bagian konseling atau BP di sekolah pro aktif dong tentang ini, jangan cuma kerjaannya ngurusin anak telat masuk sekolah, anak berantem hehehe.. (piss) Mereka harusnya bisa memberikan pengetahuan kepada murid-muridnya pilihan apa aja yang mereka miliki. Dulu pas aku masi jadi mhs baru di univ ini, rada aneh juga denger T. Geologi, T. Geofisika, T. Kelautan. Ya gimana, wong pas SMU juga ga dikasi tau. Padahal kan kalo kuliah di T. Geologi entar bisa kerja di BP, Exxon, Shell, Conoco huehuehue.

Selain pihak sekolah, kayaknya pihak universitas (PTN) ada baiknya melihat contoh cara penerimaan mahasiswa di U.S. Ini bukan artinya saya pro US hehe. Kalo nggak salah (kalo nggak salah lho iniiiii), untuk ndaftar di universitas mereka harus bikin essay, kadang-kadang ada interview juga. Jadi mau nggak mau si calon mahasiswa jadi mau mengexplore jurusan-jurusan yng ingin dia pilih, cari tahu apa sih yang dipelajari di jurusan itu. Sesuai dengan minat dia apa enggak. Masak nyeleksi mahasiswa baru cuma mengandalkan score UMPTN doangs..Kayaknya kurang komprehensif dalam menilai seseorang..

Monday, July 21, 2008

Quotes

"I'd move to Los Angeles if Australia and New Zealand were swallowed up by a huge tidal wave, if there was a bubonic plague in Europe, and if the continent of Africa disappeared from some Martian attack." (Russell Crowe)

"If you grow up in the suburbs of anywhere, a dream like this seems kind of vaguely ludicrous and completely unattainable. [But] this moment is directly connected to those imaginings. And for anybody who's on the downside of advantage, and relying purely on courage, it's possible." (Russell Crowe, his Oscar speech)

Watch it


Sunday, July 13, 2008

Susahnya Administrasi di Indonesia

Sebelum ke sini saya kan harus ngurus paspor, soalnya paspor saya sudah habis masa berlakunya. Lha wong terakhir bikin paspor SD. Pas SD itu, seingat saya, pas di kantor Imigrasi, nggak enak banget. Nunggunya lama banget, nggak tahu kapan dapat giliran untuk foto. Eh tahu-tahu disuruh pulang sorenya, besok suruh datang lagi. Anehnya besoknya kayak gitu lagi. Pokoknya setiap ke kantor imigrasi, nggak dapat kepastian akan dapet giliran diurus apa enggak. Menyebalkan sekali.

Nah, pas tahun 2007, ternyata keadaannya sama aja. Tetep aja, pas kesana, nggak tahu kapan dipanggil, nggak tahu kapan paspornya bisa jadi. Petugas-petugasnya cuma  bilang, "Tunggu aja Mas sampai dipanggil namanya". Ada juga petugas yang "mainin" Ibu-ibu dengan bilang bahwa persyaratan si Ibu itu kurang dok. X, Y. Padahal di peraturannya dijelaskan bahwa dokumen tersebut nggak perlu. Selain itu, petugas-petugasnya itu kayaknya nyantai banget kerja-nya. Datang jam 9 pagi abis itu ngrokok-ngorokok, ngobrol sama temennya. Terus setengah jam kemudian baru jaga loket. Sebel banget ngeliatnya. Apalagi saya kan dari luar kota, harus bolak-balik. 

Contoh lain, aku nggak mengalami sih, kalo ngurus legalisasi akte kelahiran di Indonesia juga ribet. Kalo dibandingkan dengan negara maju, buset dah, bedanya jauh banget.  Kebetulan aku lahirnya kan di luar negeri, di sini nih. Pas mau legalisasi akte kelahiran kan bingung banget tuh. Ya udah aku google aja, dapet situs kotanya. Terus disitu ternyata udah ada prosedur untuk legalisasi akte kelahiran. Ya udah aku cuma email aja kesitu, terus officernya cuma minta full name-ku sama alamat di Indonesia. Kurang dari dua minggu, nyampe deh aktenya. Mudah buanget ga tuh? Sampe gak nyangka gitu, kok gampang banget.

Emang sih gak sepenuhnya adil kalo membandingkan Indonesia dengan negara maju dalam hal-hal begitu. Tapi coba dilihat, dari jaman saya SD (1990 awal) sampe tahun 2007, gak ada perubahan berarti. Gila gak tuh? Udah 17 tahun dan gak ada perubahan! Apa nggak nggemesin tuh? Ada sih yang berubah, kameranya lebih canggih hehe, tapi kulturnya itu lho, masih nggilani.
Bukan memuaskan customer malah menyengsarakan customer. Seakan-akan mereka ingin menunjukkan, kalo bisa dibuat rumit kenapa harus dibuat mudah?

Yang jelek-jelek udah gw tulis kan? Sekarang yang rada baik deh, menurut temen saya, si Amos, pas dia ngurus pasport di Jakarta, ternyata cukup mudah. Nggak tahu sih kantor imigrasi Jakarta yang mana. Dia ngurus sendiri dan cuma 3 hari jadi tuh. Ya mungkin, yang Jakarta sudah mulai berubah? Moga-moga kantor-kantor imigrasi yang lain pada ketularan deh. 

Tuesday, July 08, 2008

Bosen

Beberapa hari ini rasanya bosen banget. Maklum liburan udah mulai, temen-temen satu persatu pergi meninggalkan Eindhoven menuju tanah airnya masing-masing. Orang Indonesia yang masih bertahan cuma Agni, Mas Lesky, Pak Wayan. Hari ini si Jian, bakal pulang juga. Yah tambah sepi nih rumah. Sebenarnya ada sih yang dikerjain, GSoC project, tapi minggu ini lagi nggak seru. Deliverables-nya sudah aku kerjain semua. Mentornya juga rada bingung mau ngasi kerjaan apa. Akhirnya disuruh baca-baca JAX-RS. Tapi hari ini lagi gak mood baca dokumen euy. Aku lebih suka langsung ke code soalnya hehe. Nggak bagus juga kebiasaan kayak gini. Entar malem deh aku baca.

Selain GSoC ada sih yang bisa dilakuin: belajar bahasa Belanda, explore tentang Lucene, mbaca buku-buku Information Retrieval. Tapi lagi males :-) Liburan gini kok malah belajar sih? Hmm, jalan-jalan? Jalan - jalan juga males. Pertama kali pas mau ke sekolah disini, wah asyik bisa jalan-jalan kemana-mana. Tapi pas sudah ke Paris kemaren, mau jalan-jalan lagi males, paling juga ketemu gedung-gedung kuno, patung-patung, foto-foto, udah deh. Apa aku-nya saja yang tidak suka jalan-jalan ya?

Yah moga-moga akhir minggu ini Puspa nggak sibuk deh, jadi aku bisa maen-maen ke Delft. Sekalian pinjem buku. Nggak apa-apa ya Pus hehe.

Hmm, jadi inget, kayaknya kamar harus diberesin. Udah kayak kapal pecah. Tapi males euy. Entar juga berantakan lagi. Deket-deket inspection day aja beres-beresnya.

Yo wis, mandi dulu!

Wednesday, July 02, 2008

Google Summer of Code: July 2nd, 2008

Today I began to work on my project at 09.30 AM (a little bit earlier than yesterday ) considering the fact that I don't know anything about bridging the authentication between J2ME client and Acegi security framework used in OpenNMS. After about one hour googling about this matter I can't find any useful information. Hmm, should I ask my mentor how to do it? Oh come on, I still got faith that I can do this. Ok, in the end I found a very small hint here. The guy in the Acegi mailing list said that :

"If your J2ME system is able to maintain the standard jsessionid or cookie-based session identifier, you shouldn't have any problems."

At that time I got confused whether I should trust this guidance or not. Ok, the point is I should maintain the JSESSIONID right? So, how to authenticate??? Thinking...Thinking..Oh no! I don't know how to do it!! :(( Googling was useless, no existing implementation about this. However, finally I got an idea. The main point is how to emulate the authentication between browser and Acegi into J2ME. Clear. In order to understand the mechanism behind this, I can sniff the packet. I assumed that the mechanism only include HTTP request and response.

Next, I used wireshark to monitor the HTTP packets during the authentication. Apparently, the mechanism went like this: (I exclude all the details of the data inside the packet)
1. Browser :
GET /opennms-webapp/notification HTTP/1.1
2. The server reply:
HTTP /1.1 302 Moved Temporarily
3. Browser:
GET /opennms-webapp/acelogin.jsp HTTP/1.1
4. Server:
HTTP/1.1 200 OK (text/html)
5. Browser:
POST /opennms-webapp/j_acegi_security_check HTTP/1.1
6. Server
Continuation or Non HTTP Traffic
7. Server

HTTP /1.1 302 Moved Temporarily
8. Browser
GET /opennms-webapp/notification HTTP/1.1
9. Server
HTTP/1.1 200 OK

Getting bored already? Ok, this is for refreshment : (posted without permission from the original owner)

Ok, back to business,
As you can see above, there are 9 steps during the authentication. Seems easy right? But apparently, it's not that easy :( Simulate that behavior in the J2ME Midlet is not that straightforward. Basically, if we tell the server (via browser) HTTP GET, we will end up with HTTP 200 OK (if success). But actually before reaching HTTP 200 OK, there can be HTTP 302 message which means redirecting. But since all the browsers now are smart enough to redirect automatically to the next destination there is no big problem. On the other hand, for J2ME this is a "problem" :D So, what I have to do is keep checking whether the 302 still remain, and parse the HTTP header to get the "Location". According to HTTP/1.1 specification, after we get 302 we should follow with HTTP GET to the next URI Location. Above you can see that in step 2 and 7 there are redirections.Clear. For the authentication, we should make a HTTP POST (step 3) and embedding the username, password.

So tired...Observing the wireshark output really made me dizzy. Yeah, because I didn't know any easier way to do this.
But anyway..problem solved!



Tuesday, July 01, 2008

Google Summer of Code: Acegi

Buset...Ternyata di openNMS pake Acegi security framework. Walah...walah..Ampun...Ampun..Apalagi ini..Masa setiap hari harus belajar dari NOL terus. Harus explore lagi nih...Belom lagi entar komunikasi JME dengan Acegi belom tau caranya..Atau jangan-jangan malah nggak bisa connect lagi mereka hehe.

Haduh, caranya gini..liburan bener-bener coding setiap hari hehe...Gila, IF banget ga seh.


Weleh..weleh..weleh

Tadi kan gw ngubah web.xml nya si opennms. Supaya REST servernya bisa terintegrasi dengan existing code. Tadinya kan gw bikin server baru di port 8182. Nah sekarang mau gw ubah jadi pas ada HTTP GET ke http://localhost:8080/opennms-webapp/notification XML responsenya langsung dikirim.
Udah nambahin REST application-nya. Servlet mapping, servlet adapter.Semua library udah di-define di pom.xml. Si Maven dengan cerdas men-download semua library. Ok, saatnya ngetes kan. Harusnya pas gw hit "/notification" harus ada XML response dari server. Sayangnya enggak tuh, adanya malah STDERR: org.mortbay blablabla..Dari jam 11.00 gw duduk di ICTheek, ngoprek-oprek..Apa ya yang kurang..gw coba bikin stand-aloneweb-application jalan. Begitu dicoba di opennms kagak jalan, akhirnya saking putus asanya gw copy web.xml yng standalone ke web.xml-nya opennms. Emang sih rada bar bar. Ya udah gw build lagi..Ok, di-run! Ya ampun...Ya ampun..masi aja error..Mikir lagi...kenapa ya...Mana org.mortbay outputnya ga tau kemana lagi..

Hmm, usaha terakhir, run lagi. http://localhost/opennms-webapp/frontpage.html hmm...coba login dulu ah, berhasil..ok sip.Sekarang coba http://localhost/opennms-webapp/notification ...Buseeeeeeet. Akhirnya..keluar jg Hello World-nya...Stupiddddd pisaaaaaan. Berjam2 kok ga kepikiran! Gemblung...

Ya jelaslah kalo yng standalone tadi kan security-nya pasti di-bypass kalo dimasukin ke servlet container-nya opennms ya harus pake autentikasi..Memalukan bgt.memalukan!!!!!

Ya ini nih kalo mikir terlalu rumit2.. Pantesan si Matt kemarin bilang, kayak ginian bisa diselesain 5 menit saja. Gila, parah2.. Ah sudahlah, w00t!!