Sabtu, 03 April 2010

Create a Face !


Tiba-tiba kamis sore via YM datang tawaran kerjaan imut-imut dari mas Iqbal yang katanya lebih imut dari Rena Tanaka, katanya waktu pengerjaan seminggu, dalam diri terjadi persimpangan ala Pejuang Cinta kita - Narwastu, soalnya ada komitmen pribadi ga bakal ngambil project lagi sampe semua kepelikan ini berlalu, tambah lagi aku pingin liburan aja dengan makan-tidur tiada henti di rumah, tapiii, kerjaan-flash-yang-seimut-Sora-Aoi-di-saat-benar-benar-sedang-jenuh, tampaknya bisa jadi penyala kembali semangat baru, huehe.

Kerjaan ini ternyata adalah kerja sama antara Oray dan CikCuk, intinya si kita bisa bikin muka2an dengan desain-desain yang khas CikCuk banget (objek2 simpel dengan kombinasi 4 warna sahaja - hitam, putih, cyan, magenta). Lalu bisa disave jadi JPG maupun diprint langsung. Sebenarnya mereka udah bikin ternyata, tapi karena dibikinnya jaman dulu, di mana flash kalau mau ngesave gambar ke harddisk harus pake server side scripting - yang mana artinya ga bisa hanya sebuah standalone swf saja yang dijalanin, maka aku harus remake ulang semua codingannya dari nol besar pake AS3 yang targetting ke flash player 10 yang emang udah support FileReference :P

Dan dengan semangat coding yang meluap2 kembali karena excited-nya, aku kembali berkutat dengan my weapons of choice - tandem FlashDevelop dan Flash CS4, huehe, ternyata pengerjaan bisa jauh lebih cepat dari yang diduga, di 1 (satu) hari kemaren itu udah bisa selesai, huehe, seneng juga, ketakutan kerjaan ini bakal ngeganggu jadwal liburan maupun benda-bendi lain hilang sudah, hahaha.


Tu screenshotnya, dan gambar paling atas itu adalah salah satu hasil iseng-iseng pake aplikasi ini, hoho.

nb:swf nya belum bisa diupload, nunggu izin dari mas Iqbal dulu :)

Kamis, 18 Maret 2010

[II3062] Hidupku Berwarna

Postingan kali ini mengandung steganografi.

Jika belum tahu apa itu steganografi mungkin dapat membuka link ini dan ini.


Cheers. :)

Selasa, 16 Maret 2010

[II3062] Kode Yang Mengeluarkan Isinya

Oke, jumpa lagi, tugas kali ini menarik, yaitu

Tugas Anda adalah membuat self-generating code seperti yang ada di paper Ken Thompson, Reflections on Trusting Trust. Bahasa pemrograman bebas.


Setelah melakukan eksplorasi via google, sampailah pada halaman wikipedia mengenai Quine ini, di mana Quine adalah sebuah program yang menghasilkan source code sendiri nya sebagai output, dan nama Quine diberikan berdasarkan nama seorang filosofer yang mendalami masalah ini.

Bagaimana itu jadi membuatnya ? Metodenya kurang lebih seperti berikut, program terdiri dari 2 bagian, bagian pertama adalah code untuk mengoutputkan isi source itu sendiri, dan bagian kedua adalah sebuah data string yang merepresentasikan isi dari source tersebut.

Dan di bahasa pemrograman JavaScript terdapat sebuah fitur yang menarik, yaitu menuliskan isi sebuah fungsi (bahkan sampai ke comment-comment nya :D) dengan memanggil fungsi itu layaknya variable biasa, seperti yang ada di tutorial ini. :)

Dan dari nyx.net, saya menemukan cara mengimplementasikan hal ini, dan setelah melakukan sedikit utak-utik, source code nya adalah sebagai berikut :

function quine() { document.write(quine, "quine();"); }quine();


Setelah di-embed ke sebuah HTML dan dijalankan di browser didapatkan hasil sebagai berikut:


dan terlihat bahwa Javascript itu mengeluarkan source dari dirinya sendiri.

Kenapa bisa begitu ? Jadi, ada sebuah function yang bisa menuliskan isi string code dari dirinya sendiri ditambah dengan sebuah string yang merupakan actual code dari pemanggilan dirinya. Kemudian, fungsi tersebut dipanggil. Menarik sekali hal ini menurut saya, hehe. :D

Demikianlah hasil eksplorasi kali ini, semoga berguna, cheers. :)

Rabu, 10 Maret 2010

[II3062] Anatomi Email ?!?

Yup, postingan kali ini akan mencoba mengetahui sebenarnya bagaimana anatomi sebuah email itu, walaupun setiap hari begitu akrab dengan dengan benda bernama surat elektronis ini, saya sendiri kurang mengerti tentang bagaimana sebuah email itu menyimpan data-data nya, hehe :P.

Jujur, dari lubuk hati yang terdalam, ada 2 pertanyaan pribadi yang membuat penasaran, yaitu: (1) Bagaimana sebuah file email membedakan bagian header yang berisi meta data dan isi pesan sebenarnya, lalu (2) Kalau kita memberi attachment, bagaimana jadinya bentuk email itu, apakah email server mengupload di suatu tempat dan yang dibawa email adalah hanya url link nya saja, atau bahkan isi dari attachment tersebut benar-benar ter-attach secara eksplisit di dalam file email tersebut. Jadi, mari kita coba temukan jawabannya bersama :D

Pertama, sebagai informasi, saya memakai Gmail, lalu, saya coba mengirimkan sebuah email kepada diri sendiri dengan isi pesan "Ini adalah body, body adalah ini", dan kemudian melampirkan 2 buah file, sebuah file text (berekstensi .as) dan sebuah file biner (berekstensi .swf), oke, email sent, dan tentu saja email received di waktu yang sama :D, lalu dengan fitur dari Gmail berlabel "Show original", kita bisa melihat bentuk file teks email tersebut, yang setelah beberapa saat saya coba telaah hasilnya adalah seperti berikut,

Header :

MIME-Version: 1.0
Received: by 10.229.218.143 with HTTP; Wed, 10 Mar 2010 03:13:30 -0800 (PST)
Date: Wed, 10 Mar 2010 18:13:30 +0700
Delivered-To: dominikus.d.putranto@gmail.com
Message-ID: <87b6fd0d1003100313o500cd297y24bbe678c5e8a8b7@mail.gmail.com>
Subject: IF3062 - Bedah Email
From: Dominikus Damas Putranto
To: Dominikus Damas Putranto
Content-Type: multipart/mixed; boundary=0016363105f3601f7e0481706304


Di baris yang ber-tag "Content-type", diberi tahu bahwa isi dari email tersebut ber-MIME multipart/mixed, yang artinya kira-kira adalah email itu berisi beberapa Content Type yang memang benar adanya, karena adanya isi email yang merupakan campuran text dan binary. Kemudian ada definisi boundary, yang merupakan tanda batas dari setiap bagiannya, definisi string boundary itu adalah merupakan sebuah string random, dan voila, terjawablah pertanyaan pertama :D

Kemudian, lebih jauh lagi, bagian setelah itu adalah isi pesan / body (yang tentu saya diawali dengan '--0016363105f3601f7e0481706304') itu sendiri isinya sebagai berikut :

Content-Type: multipart/alternative; boundary=0016363105f3601f760481706302

--0016363105f3601f760481706302
Content-Type: text/plain; charset=ISO-8859-1

Ini adalah body, body adalah ini.

--
Regards,

Dominikus D Putranto

--0016363105f3601f760481706302
Content-Type: text/html; charset=ISO-8859-1

Ini adalah body, body adalah ini.

--
Regards,

Dominikus D Putranto


--0016363105f3601f760481706302--


Ternyata Gmail menyediakan 2 alternatif dari isi email itu, yaitu yang berupa plain text dan yang berupa html, hehe, keren juga ya karena email ini mensupport mail client yang bisa menampilkan email plain saja maupun yang bisa menampilkan dengan format html :D

Lalu setelah itu, dipisahkan dengan boundary yang telah terdefinisi di awal tadi, bagian berikutnya adalah attachment itu sendiri, yang isinya adalah (saya ambil bagian awalnya saya :D) :

Content-Type: application/octet-stream; name="CobaFlex.as"
Content-Disposition: attachment; filename="CobaFlex.as"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g6m16tnf0

77u/CWltcG9ydCBmbGFzaC5kaXNwbGF5LlNwcml0ZTsNCglpbXBvcnQgZmxhc2guZXZlbnRzLkV2
ZW50Ow0KCQ0KCWltcG9ydCBteC5jaGFydHMuQ29sdW1uQ2hhcnQ7DQoJaW1wb3J0IG14LmNvbnRh
aW5lcnMuQ2FudmFzOw0KCWltcG9ydCBteC5jb3JlLklVSUNvbXBvbmVudDsNCglpbXBvcnQgbXgu
Y29yZS5VSUNvbXBvbmVudDsNCglpbXBvcnQgbXguY29yZS5TaW5nbGV0b247DQoJaW1wb3J0IGZs ...


Dari situ tertulis juga secara eksplisit encodingnya menggunakan base64, yang konon katanya adalah metode encoding yang efisien untuk file non-text 8 bit maupun file text yang tidak menggunakan karakter ASCII. Dengan teknik encoding ini, isi sebuah file binary dapat dinyatakan dalam sebuah file text.

Kemudian bagian selanjutnya adalah file attachment yang kedua, yaitu

Content-Type: application/x-shockwave-flash; name="expressInstall.swf"
Content-Disposition: attachment; filename="expressInstall.swf"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g6m1737c2

Q1dTBkEFAAB4nIVUzU/UQBT/dXfZLbDAyteilA8hMUoMNfGGIAQIhIQFWUAPxsNsO0Ch2zbtFNyz
iXLiuIkhRo+ePHrRxH+Aq/Hq0SP/wfqmXVhWMfYwfe8372t+7814yGrAxhyyChYStVptVh0HoMCr
byg4ow+5vjOtd+P8/fjnL8NZ7fDjB9Rac2SYINPX6bRCP8yRXmv9ngKSpM4mP5F0/EMZg+0yk/sL
OSYvC2ggzDG4bXOzAS0xS+o7nnmBlJnhu2VKzSYNt4zNSiB4GQE3Qt8SFVA+92jRLTPLoeTGHp8P ...


Maka, terjawablah pula pertanyaan kedua, ternyata file attachment itu di'bawa sekalian', hehe, lalu tiba-tiba ingat dengan netiket di mana jika di sebuah forum milis tidak boleh mengattach file namun cukup memberikan link url tempat mengunduh saja, soalnya ternyata jika kita mengattach file tersebut, untuk setiap email yang diterima pengikut-pengikut milis tersebut disertakan duplikasi dari attachment tersebut, yang tentu saja bisa menggendutkan storage server, hehe.

Terakhir email tersebut diakhiri dengan baris berisi boundary yang di belakangnya diberi lagi double-dash ('--').

Demikianlah kira-kira anatomi sebuah email secara umum, semoga berguna, cheers. :)

Selasa, 02 Maret 2010

[II3062] Pemilik Domain Detik.com dan List Domain Level 4 di ITB

Yup, jumpa lagi, :D

Postingan kali ini seperti postingan tepat sebelum ini adalah mengenai tugas II3062 - Keamanan Informasi, yang kali ini task nya mengenai DNS:

Tugas kali ini terkait dengan DNS (Domain Name System).
1. Anda diminta untuk mencari pemilik dari domain detik.com melalui whois. (Sebagai tambahan, Anda bisa melihat apakah name server-nya sama dengan yang ada jika di-query dengan nslookup.
2. Berapa banyak domain tingkat 4 (4th level domain) di itb.ac.id dan buat daftarnya. (Yang perlu Anda cari hanya yang *.itb.ac.id.) Tools apa yang Anda gunakan?


Untuk task pertama, saat saya googling dengan keyword 'whois', hasilnya adalah alamat-alamat website yang menyediakan layanan untuk mengetahui keterangan dari suatu domain, ada banyak sekali opsi rupanya, seperti whois.net, whois.domaintools.com, who.is, dan lain-lain, namun entah kenapa tangan ini tergerak untuk mengeklik link whois.web.id, hehe. lalu, setelah memasukkan 'detik.com' di text field nya dan mengeklik tombol ber-caption Whois, keluarlah teks seperti berikut:

NOTICE AND TERMS OF USE: You are not authorized to access or query our WHOIS
database through the use of high-volume, automated, electronic processes. The
Data in Network Solutions' WHOIS database is provided by Network Solutions for information
purposes only, and to assist persons in obtaining information about or related
to a domain name registration record. Network Solutions does not guarantee its accuracy.
By submitting a WHOIS query, you agree to abide by the following terms of use:
You agree that you may use this Data only for lawful purposes and that under no
circumstances will you use this Data to: (1) allow, enable, or otherwise support
the transmission of mass unsolicited, commercial advertising or solicitations
via e-mail, telephone, or facsimile; or (2) enable high volume, automated,
electronic processes that apply to Network Solutions (or its computer systems). The
compilation, repackaging, dissemination or other use of this Data is expressly
prohibited without the prior written consent of Network Solutions. You agree not to use
high-volume, automated, electronic processes to access or query the WHOIS
database. Network Solutions reserves the right to terminate your access to the WHOIS
database in its sole discretion, including without limitation, for excessive
querying of the WHOIS database or for failure to otherwise abide by this policy.
Network Solutions reserves the right to modify these terms at any time.

Get a FREE domain name registration, transfer, or renewal with any annual hosting package.

http://www.networksolutions.com

Visit AboutUs.org for more information about DETIK.COM
AboutUs: DETIK.COM




Registrant:
Siberkom, PT. Agranet Multicitra
Aldevco Octagon Building lt 2
Jl. Warung Buncit Raya 75
Jakarta, DKI Jakarta 12740
IN

Domain Name: DETIK.COM

------------------------------------------------------------------------
Promote your business to millions of viewers for only $1 a month
Learn how you can get an Enhanced Business Listing here for your domain name.
Learn more at http://www.NetworkSolutions.com/
------------------------------------------------------------------------

Administrative Contact, Technical Contact:
Siberkom, PT. Agranet Multicitra wiwi*at*agrakom.com
Aldevco Octagon Building lt 2
Jl. Warung Buncit Raya 75
Jakarta, DKI Jakarta 12740
IN
+62 21 7941177 fax: +62 21 7941176


Record expires on 28-May-2011.
Record created on 13-May-2004.
Database last updated on 1-Mar-2010 12:53:16 EST.

Domain servers in listed order:

NS1.DUNIADETIK.COM
NS1.DETIK.NET.ID


dan, voila, terjawablah sudah task pertama ini. :D

Lalu, untuk task yang kedua, karena di *NIX sudah ada utility command host, maka mencoba2lah saya di iMac lab Programming, hehe, di terminal saya ketikkan

host -l itb.ac.id


di mana -l adalah opsi untuk list mode,


dan hasilnya ternyata sangat banyak, namun jika dilihat lebih teliti, ternyata cukup banyak juga yang ternyata diulang-ulang, karena ternyata sebuah domain mempunyai IP address ataupun server lebih dari 1. Maka dengan bantuan sedikit sentuhan code ActionScript3, saya melakukan parsing terhadap list tadi sehingga dari 904 total domain, dihasilkanlah 487 domain yang unique. (source code bisa diunduh di sini - saya pakai FlashDevelop dan FlexSDK 4), dan setelah itu didapatkanlah list domain-domain level 4 di itb.ac.id yang unique sebagai berikut:


1 - 8eh.itb.ac.id
2 - aaei.itb.ac.id
3 - academic.itb.ac.id
4 - ae.itb.ac.id
5 - ai3.itb.ac.id
6 - ai3-indonesia-ether.itb.ac.id
7 - akademik.itb.ac.id
8 - alumni.itb.ac.id
9 - antivirus.itb.ac.id
10 - antivirus-ng.itb.ac.id
11 - antivirus-slb.itb.ac.id
12 - antivirus2.itb.ac.id
13 - apache2006.itb.ac.id
14 - apccas2002.itb.ac.id
15 - ar.itb.ac.id
16 - arc.itb.ac.id
17 - arsip.itb.ac.id
18 - art.itb.ac.id
19 - as.itb.ac.id
20 - astronomi.itb.ac.id
21 - astronomy.itb.ac.id
22 - aula-tmr.itb.ac.id
23 - baak.itb.ac.id
24 - backup-hosting.itb.ac.id
25 - backup-mx.itb.ac.id
26 - bangda.itb.ac.id
27 - berkala.itb.ac.id
28 - bi.itb.ac.id
29 - billing.itb.ac.id
30 - billing-ng.itb.ac.id
31 - biomed.itb.ac.id
32 - biostrat.itb.ac.id
33 - biotech.itb.ac.id
34 - blendedlearning.itb.ac.id
35 - blogs.itb.ac.id
36 - bmg.itb.ac.id
37 - bosscha.itb.ac.id
38 - builder.itb.ac.id
39 - cache.itb.ac.id
40 - cache1.itb.ac.id
41 - cache2.itb.ac.id
42 - cache3.itb.ac.id
43 - cache4.itb.ac.id
44 - cache6.itb.ac.id
45 - calonadmin.itb.ac.id
46 - cam.itb.ac.id
47 - campuschannel.itb.ac.id
48 - cas.itb.ac.id
49 - cbsed.itb.ac.id
50 - ccar.itb.ac.id
51 - che.itb.ac.id
52 - chem.itb.ac.id
53 - cisco-dialin1.itb.ac.id
54 - cisco-dialin10.itb.ac.id
55 - cisco-dialin11.itb.ac.id
56 - cisco-dialin12.itb.ac.id
57 - cisco-dialin13.itb.ac.id
58 - cisco-dialin14.itb.ac.id
59 - cisco-dialin2.itb.ac.id
60 - cisco-dialin3.itb.ac.id
61 - cisco-dialin4.itb.ac.id
62 - cisco-dialin5.itb.ac.id
63 - cisco-dialin6.itb.ac.id
64 - cisco-dialin7.itb.ac.id
65 - cisco-dialin8.itb.ac.id
66 - cisco-dialin9.itb.ac.id
67 - cisco-en.itb.ac.id
68 - cisco-en-en.itb.ac.id
69 - cnrg.itb.ac.id
70 - cnrg-lib.itb.ac.id
71 - cnrg1.itb.ac.id
72 - cnrglab.itb.ac.id
73 - comlabs.itb.ac.id
74 - commodo.itb.ac.id
75 - compscience.itb.ac.id
76 - course.itb.ac.id
77 - cre.itb.ac.id
78 - crep.itb.ac.id
79 - crs.itb.ac.id
80 - cvsup.itb.ac.id
81 - cyberlib.itb.ac.id
82 - da.itb.ac.id
83 - datacenter.itb.ac.id
84 - db.itb.ac.id
85 - dcpusat.itb.ac.id
86 - dev6.itb.ac.id
87 - dews.itb.ac.id
88 - dies50-challenge.itb.ac.id
89 - diesemas.itb.ac.id
90 - dimas.itb.ac.id
91 - dipa.itb.ac.id
92 - dirdikpp.itb.ac.id
93 - distancE-courses.itb.ac.id
94 - distantlearning.itb.ac.id
95 - ditdik.itb.ac.id
96 - ditkeu.itb.ac.id
97 - dkv.itb.ac.id
98 - dl.itb.ac.id
99 - dlo.itb.ac.id
100 - dlomail.itb.ac.id
101 - dnsadm.itb.ac.id
102 - dokodemo.itb.ac.id
103 - dp.itb.ac.id
104 - e-course.itb.ac.id
105 - ebs.itb.ac.id
106 - ee.itb.ac.id
107 - eii.itb.ac.id
108 - eis.itb.ac.id
109 - ejournal.itb.ac.id
110 - el92.itb.ac.id
111 - endowmentfund.itb.ac.id
112 - epsdl.itb.ac.id
113 - ergo.itb.ac.id
114 - ezmlm-web.itb.ac.id
115 - fa.itb.ac.id
116 - faraday.itb.ac.id
117 - fi.itb.ac.id
118 - fitb.itb.ac.id
119 - fmb.itb.ac.id
120 - fmipa.itb.ac.id
121 - forum.itb.ac.id
122 - fsrd.itb.ac.id
123 - fti.itb.ac.id
124 - ftmd.itb.ac.id
125 - ftp.itb.ac.id
126 - ftpsearch.itb.ac.id
127 - ftsl.itb.ac.id
128 - ftsp.itb.ac.id
129 - fttm.itb.ac.id
130 - gallery.itb.ac.id
131 - gamais.itb.ac.id
132 - ganeca2.itb.ac.id
133 - ganechat.itb.ac.id
134 - ganesha.itb.ac.id
135 - ganeshatv.itb.ac.id
136 - gate-vhf.itb.ac.id
137 - gc.itb.ac.id
138 - gcca.itb.ac.id
139 - gd.itb.ac.id
140 - gdl.itb.ac.id
141 - geoaplika.itb.ac.id
142 - geoph.itb.ac.id
143 - geothermal.itb.ac.id
144 - gerbang.itb.ac.id
145 - gf.itb.ac.id
146 - graphics.itb.ac.id
147 - grid.itb.ac.id
148 - groups.itb.ac.id
149 - gw-hf.itb.ac.id
150 - gw-paume.itb.ac.id
151 - hayati.itb.ac.id
152 - hitbox.itb.ac.id
153 - hosting.itb.ac.id
154 - humas.itb.ac.id
155 - hydraulic.itb.ac.id
156 - ic-design.itb.ac.id
157 - icpco2007.itb.ac.id
158 - ictmp.itb.ac.id
159 - idln.itb.ac.id
160 - ied.itb.ac.id
161 - if.itb.ac.id
162 - IIE.itb.ac.id
163 - iiwas2002.itb.ac.id
164 - im.itb.ac.id
165 - imhere.itb.ac.id
166 - ims.itb.ac.id
167 - indonesia-itb-ether.itb.ac.id
168 - inkubator.itb.ac.id
169 - ins.itb.ac.id
170 - instrument.itb.ac.id
171 - interior.itb.ac.id
172 - intermedia.itb.ac.id
173 - iom.itb.ac.id
174 - ipr.itb.ac.id
175 - ipv6.itb.ac.id
176 - isnet.itb.ac.id
177 - isrg.itb.ac.id
178 - ITB-bosscha.itb.ac.id
179 - itb-inherent.itb.ac.id
180 - itb1-v6-router.itb.ac.id
181 - itb2-v6-router.itb.ac.id
182 - itb3-v6-router.itb.ac.id
183 - itb4-v6-router.itb.ac.id
184 - itb5-v6-router.itb.ac.id
185 - itbfair2010.itb.ac.id
186 - itbgtw.itb.ac.id
187 - itforum.itb.ac.id
188 - ithelpdesk.itb.ac.id
189 - jaktri.itb.ac.id
190 - jica-project.itb.ac.id
191 - jira.itb.ac.id
192 - jomar.itb.ac.id
193 - kabinet-km.itb.ac.id
194 - kaderisasi-admin.itb.ac.id
195 - kamus.itb.ac.id
196 - kantorwrma.itb.ac.id
197 - kealumnian.itb.ac.id
198 - kemitraan.itb.ac.id
199 - kepegawaian.itb.ac.id
200 - kinerja.itb.ac.id
201 - kkp.itb.ac.id
202 - km.itb.ac.id
203 - kmrg.itb.ac.id
204 - kolaborasi.itb.ac.id
205 - komunitasfisika.itb.ac.id
206 - koperasi.itb.ac.id
207 - kppwk.itb.ac.id
208 - kria-sr.itb.ac.id
209 - kuliah.itb.ac.id
210 - labs.itb.ac.id
211 - LabtekV-Cat6-GEC-1.itb.ac.id
212 - LabtekV-Cat6-GEC-3.itb.ac.id
213 - LabtekV-Cat6-Lo-0.itb.ac.id
214 - LabtekV-Cat6-Mgmt.itb.ac.id
215 - LabtekVIII-Cat6-GE3-4.itb.ac.id
216 - LabtekVIII-Cat6-GEC-1.itb.ac.id
217 - LabtekVIII-Cat6-Lo-0.itb.ac.id
218 - LabtekVIII-Cat6-Mgmt.itb.ac.id
219 - LabtekVIII-Cat6-NS3-FE4-2.itb.ac.id
220 - langit.itb.ac.id
221 - lapi.itb.ac.id
222 - lb1-mx.itb.ac.id
223 - lc.itb.ac.id
224 - ldap.itb.ac.id
225 - ldap-ng.itb.ac.id
226 - lib.itb.ac.id
227 - library.itb.ac.id
228 - lms-inherent.itb.ac.id
229 - localhost.itb.ac.id
230 - loedroek.itb.ac.id
231 - logger.itb.ac.id
232 - logger-ng.itb.ac.id
233 - logistics-center.itb.ac.id
234 - logistik.itb.ac.id
235 - lp.itb.ac.id
236 - lpadrc.itb.ac.id
237 - lpkm.itb.ac.id
238 - lpm.itb.ac.id
239 - lppm.itb.ac.id
240 - lss.itb.ac.id
241 - lumbung1.itb.ac.id
242 - lumbung2.itb.ac.id
243 - lumbung3.itb.ac.id
244 - m.itb.ac.id
245 - mailadm.itb.ac.id
246 - mailadm-ng.itb.ac.id
247 - maisy.itb.ac.id
248 - maroon.itb.ac.id
249 - material.itb.ac.id
250 - math.itb.ac.id
251 - maxwell.itb.ac.id
252 - mba.itb.ac.id
253 - mcp-books.itb.ac.id
254 - mesin.itb.ac.id
255 - metallurgy.itb.ac.id
256 - mgb.itb.ac.id
257 - Mgmt.itb.ac.id
258 - mic.itb.ac.id
259 - migrasi.itb.ac.id
260 - mining.itb.ac.id
261 - mirror.itb.ac.id
262 - mirror-ng.itb.ac.id
263 - mlearning.itb.ac.id
264 - mm.itb.ac.id
265 - monitoring.itb.ac.id
266 - monitoringv2.itb.ac.id
267 - ms.itb.ac.id
268 - mti.itb.ac.id
269 - multimedia.itb.ac.id
270 - mx.itb.ac.id
271 - mx-in.itb.ac.id
272 - mx0.itb.ac.id
273 - mx1.itb.ac.id
274 - mx1-new.itb.ac.id
275 - mx1a.itb.ac.id
276 - mx2.itb.ac.id
277 - mx3.itb.ac.id
278 - mx3a.itb.ac.id
279 - mx4.itb.ac.id
280 - mx4a.itb.ac.id
281 - mx5.itb.ac.id
282 - mx6.itb.ac.id
283 - mx7.itb.ac.id
284 - newsadmin.itb.ac.id
285 - nic.itb.ac.id
286 - nic-ng.itb.ac.id
287 - nicadm.itb.ac.id
288 - nicadm1.itb.ac.id
289 - nii.itb.ac.id
290 - ninja-hattori.itb.ac.id
291 - noc-ccar.itb.ac.id
292 - noc-sps.itb.ac.id
293 - ns-new.itb.ac.id
294 - ns1.itb.ac.id
295 - ns1b.itb.ac.id
296 - ns2.itb.ac.id
297 - ns3.itb.ac.id
298 - ns4.itb.ac.id
299 - nt.itb.ac.id
300 - ntp.itb.ac.id
301 - ocean.itb.ac.id
302 - oceanography.itb.ac.id
303 - oecd.itb.ac.id
304 - ohu2007.itb.ac.id
305 - old-ganesha.itb.ac.id
306 - old-students.itb.ac.id
307 - olimpiade2007.itb.ac.id
308 - opencores.itb.ac.id
309 - order.itb.ac.id
310 - owb.itb.ac.id
311 - p2p-fsrd-to-arsi.itb.ac.id
312 - p2par.itb.ac.id
313 - p2t.itb.ac.id
314 - packetscanner.itb.ac.id
315 - PAU-Cat6-FE4-1.itb.ac.id
316 - PAU-Cat6-FE4-7.itb.ac.id
317 - PAU-Cat6-GE2-6.itb.ac.id
318 - PAU-Cat6-GE2-7.itb.ac.id
319 - PAU-Cat6-GE2-8.itb.ac.id
320 - PAU-Cat6-GE3-1.itb.ac.id
321 - PAU-Cat6-GE3-2.itb.ac.id
322 - PAU-Cat6-GE3-4.itb.ac.id
323 - PAU-Cat6-GEC-1.itb.ac.id
324 - PAU-Cat6-GEC-2.itb.ac.id
325 - PAU-Cat6-Lo-0.itb.ac.id
326 - PAU-Cat6-Mgmt.itb.ac.id
327 - pau-cat6k-vlan6.itb.ac.id
328 - paubt.itb.ac.id
329 - pauir.itb.ac.id
330 - paume.itb.ac.id
331 - pcd.itb.ac.id
332 - penerbit.itb.ac.id
333 - pengungsian.itb.ac.id
334 - perencanaan.itb.ac.id
335 - petakampus.itb.ac.id
336 - phys.itb.ac.id
337 - pilrek2010.itb.ac.id
338 - pinri.itb.ac.id
339 - pinteraktif.itb.ac.id
340 - pl.itb.ac.id
341 - placeof.itb.ac.id
342 - pmb.itb.ac.id
343 - pmo.itb.ac.id
344 - pn.itb.ac.id
345 - portal.itb.ac.id
346 - poss.itb.ac.id
347 - power.itb.ac.id
348 - powernoc.itb.ac.id
349 - ppk.itb.ac.id
350 - ppkpl.itb.ac.id
351 - ppms.itb.ac.id
352 - pps.itb.ac.id
353 - ppt.itb.ac.id
354 - pptik.itb.ac.id
355 - premium.itb.ac.id
356 - pringgapuk.itb.ac.id
357 - profil-kaderisasi.itb.ac.id
358 - prohil.itb.ac.id
359 - proyek.itb.ac.id
360 - psda.itb.ac.id
361 - psdi.itb.ac.id
362 - pusat.itb.ac.id
363 - pusat-lama.itb.ac.id
364 - pusat2.itb.ac.id
365 - puslog.itb.ac.id
366 - pwk.itb.ac.id
367 - R11.itb.ac.id
368 - ra01b.itb.ac.id
369 - ra02.itb.ac.id
370 - ra11.itb.ac.id
371 - RA12.itb.ac.id
372 - ra13.itb.ac.id
373 - ra5.itb.ac.id
374 - radio-net.itb.ac.id
375 - radius.itb.ac.id
376 - rapidshare.itb.ac.id
377 - rbl.itb.ac.id
378 - rbn.itb.ac.id
379 - rbn1.itb.ac.id
380 - rcmeae.itb.ac.id
381 - register.itb.ac.id
382 - rektorkita.itb.ac.id
383 - relasialumni.itb.ac.id
384 - rict.itb.ac.id
385 - rusnas-cf.itb.ac.id
386 - s.itb.ac.id
387 - sa.itb.ac.id
388 - sac-en.itb.ac.id
389 - salman.itb.ac.id
390 - samba.itb.ac.id
391 - sampoernasbm.itb.ac.id
392 - sappk.itb.ac.id
393 - sastra.itb.ac.id
394 - satpam.itb.ac.id
395 - sbm.itb.ac.id
396 - sbm-baru.itb.ac.id
397 - scout.itb.ac.id
398 - sdm.itb.ac.id
399 - server3.itb.ac.id
400 - si.itb.ac.id
401 - sia.itb.ac.id
402 - siaman.itb.ac.id
403 - sibf2008.itb.ac.id
404 - singalodra.itb.ac.id
405 - sipx.itb.ac.id
406 - sisfoperencanaan.itb.ac.id
407 - siskeu.itb.ac.id
408 - siskeu01.itb.ac.id
409 - sismik.itb.ac.id
410 - sispran.itb.ac.id
411 - sispran2.itb.ac.id
412 - sith.itb.ac.id
413 - skd.itb.ac.id
414 - snmptn.itb.ac.id
415 - soemardja.itb.ac.id
416 - soi.itb.ac.id
417 - soi-proxy.itb.ac.id
418 - soi-router.itb.ac.id
419 - soi-server.itb.ac.id
420 - sostek.itb.ac.id
421 - sp.itb.ac.id
422 - spe.itb.ac.id
423 - spns.itb.ac.id
424 - ssdk.itb.ac.id
425 - staff.itb.ac.id
426 - stat.itb.ac.id
427 - stei.itb.ac.id
428 - students.itb.ac.id
429 - students-ng.itb.ac.id
430 - suk.itb.ac.id
431 - svnserver.itb.ac.id
432 - sysapp.itb.ac.id
433 - TeknologiInformasi.itb.ac.id
434 - telecommunication.itb.ac.id
435 - telekomunikasi.itb.ac.id
436 - telematic.itb.ac.id
437 - telepondigital.itb.ac.id
438 - tf.itb.ac.id
439 - thinclient.itb.ac.id
440 - ti.itb.ac.id
441 - tl.itb.ac.id
442 - tm.itb.ac.id
443 - tpb.itb.ac.id
444 - transport.itb.ac.id
445 - u2l.itb.ac.id
446 - uka.itb.ac.id
447 - ukp.itb.ac.id
448 - unisispran.itb.ac.id
449 - unit.itb.ac.id
450 - upi.itb.ac.id
451 - uptor.itb.ac.id
452 - urpa.itb.ac.id
453 - usdi.itb.ac.id
454 - usdi-imhere.itb.ac.id
455 - usdi-reps.itb.ac.id
456 - usm.itb.ac.id
457 - vclass.itb.ac.id
458 - vic-rat.itb.ac.id
459 - video.itb.ac.id
460 - virtual-university.itb.ac.id
461 - vlsi.itb.ac.id
462 - vpn.itb.ac.id
463 - vproject.itb.ac.id
464 - waveLAN-disnak.itb.ac.id
465 - WaveLAN-DisNak-ITB.itb.ac.id
466 - wavelan-ikip.itb.ac.id
467 - WaveLAN-ITB-Lapan.itb.ac.id
468 - WaveLAN-ITB-midc.itb.ac.id
469 - waveLAN-ITB-RadNet.itb.ac.id
470 - WaveLAN-ITB-Unisba.itb.ac.id
471 - waveLAN-RadNet-ITB.itb.ac.id
472 - waveLAN-ypkp.itb.ac.id
473 - web.itb.ac.id
474 - webhosting.itb.ac.id
475 - webkampus.itb.ac.id
476 - webservices-sispran.itb.ac.id
477 - whois.itb.ac.id
478 - windowsupdate.itb.ac.id
479 - wrks.itb.ac.id
480 - wrm.itb.ac.id
481 - www.itb.ac.id
482 - www1.itb.ac.id
483 - www2.itb.ac.id
484 - www3.itb.ac.id
485 - x.itb.ac.id
486 - xxx.itb.ac.id
487 - zimbra.itb.ac.id

Demikianlah tugas kali ini, semoga bisa berguna. Cheers :)

Senin, 22 Februari 2010

[II3062] String Panjang dan Aneh yang Harus Diperhitungkan

Jujur saja, postingan kali ini ditulis karena adanya tugas mata kuliah II3062 - Keamanan Informasi, hehe, secara spesifikasi, tugasnya tampak lumayan simpel, yaitu berusaha mencari situs-situs yang 'kurang' dari segi keamanan, dan kali ini, pengetesan dilakukan dengan cara yang sederhana, misal dengan mengisi text field dengan string yang sangat panjang dan penuh dengan karakter aneh untuk menguji bagaimana validasinya, atau jika mau lebih ciamik lagi dengan menggunakan teknik SQL Injection. Namun, menimbang kemampuan pribadi dalam web programming, kayanya cara pertama lebih 'pasti-pasti aja', hehe.

Lalu, setelah berpikir dan mengobrol-ngobrol dengan beberapa teman, akhirnya terputuskan untuk mencari situs web yang dibuat dengan tidak menggunakan framework ataupun CMS, dengan asumsi ujian-ujian sesimpel itu sudah tertangani dengan baik. Lalu setelah keliling-keliling situs pribadi di domain co.nr dan situs-situs pemerintah, tidak tahu apakah memang kurang beruntung ataupun rata-rata situs web telah dikembangkan dengan menggunakan framework dan CMS, saya gagal menemukan celah tersebut, hoho.

Lalu iseng-iseng ingin menguji situs-situs search engine sekalian, walaupun pertama agak pesimis juga, tapi dilakukan juga, ujian pertama dilancarkan terhadap situs mesin pencari milik Microsoft, yaitu Bing.com, saat diuji dengan keyword "dominikus damas", dia baik-baik saja

Namun, tak disangka, tak dinyana, saat dicoba dimasukkan string yang panjang dan penuh dengan karakter bukan alfabet, seperti:

*(!)&@*(_!&@_()(!)(&@(!^@*!!*(!)&@*( ... dst

Browser mengeluarkan pesan error yang tampaknya berasal dari error yang tidak terhandle oleh sistem:


Halaman tersebut bertuliskan:

Bad Request

Your browser sent a request that this server could not understand.
Reference #7.cd2da9ca.1266848429.0

Lalu, 'keberhasilan' di Bing membuat penasaran untuk search engine lain, yang kemudian akhirnya mencoba incari.com, yang merupakan situs pencari web Indonesia, langkah yang sama dilakukan, dicoba dengan keyword 'dominikus damas' (yang menghasilkan zero result, hehe), dan kemudian dengan string yang panjang dan penuh karakter aneh, dah hasilnya adalah sebagai berikut:


Forbidden

You don't have permission to access /direktori/index.php on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Setelah sedikit menelaah dengan googling dan sekaligus bertanya pada seorang teman yang memang seorang dewa di bidang web programming, disimpulkan bahwa si web itu mempunyai ErrorDocument yang harusnya menghandle saat terjadi error, namun entah mengapa, si folder tersebut ter-'larang' dan kemudian malah muncul 404 Not Found Error.

Demikian kira-kira, mungkin keyword berupa string yang sangat panjang dan penuh dengan karakter aneh hanya akan diberikan oleh orang yang sedang iseng dan kurang kerjaan saja, namun lebih baik lagi bila hal-hal seperti ini divalidasi dan ditangani dengan baik.

Cheers. :D

Sabtu, 20 Februari 2010

Langit Indah Pemberian Yang Maha Oke

Hari ini ga tau kenapa kerasa kosong banget, serasa ga ada sesuatu yang sepenting itu untuk dilakukan, serasa ga ada seseorang yang sepenting itu untuk dipikirkan, yang kerasa cuma seliweran pikiran2 tentang hidup yang akhir-akhir ini kerasa makin pelik dan berkurangnya kesenangan yang biasanya terselip di antara pelik-pelik itu.

Tapi, sekitar jam 6 sore, setelah seharian cuma menghadap LCD 17 inchi, saat lihat keluar jendela ada warna sore yang lain dari warna sore-sore yang lain, tidak tahu kenapa, hal seperti ini sekarang jadi sesuatu yang menarik perhatian, mungkin karena lagi kosong kali ya, haha, ya udah, iseng2 foto-foto pake hape-yang-lagi-rusak-mic-nya dari tempat ngejemur pakean, haha, mumpung ada fitur panoramic yang ciamik, enjoy ! :D



Jadi semangat lagi, n jadi inget lirik dari Jenny,

"... sore redup tenang yang kau nikmati, sedikit dari banyak yang Maha Oke beri ..."

Cheers. :P

Kamis, 18 Februari 2010

Butterfly Effect

Repost si dari note di facebook, tapi kayanya bagus juga disharing lebih luas, hehe
*nb: mungkin di postingan kali ini nuansa bahasanya agak berbeda sesuai dengan komentar dari Dody:

"Entah kenapa, untuk kali ini, aku merasakan kata-katamu sangat berkualitas mas...

Tak seperti biasanya, berkualitas rendah dan menyampot..

kali ini, kurasakan nuansa yang berbeda..
sistematik dan berkualitas tinggi...
Salut..."


Aku baru aja nonton film ini, padahal film ini udah dari jaman jadul (2004), tapi baru hari ini nonton, sebelum nonton, iseng2 google dulu arti dari 'butterfly effect', soalnya penasaran aja, nemu di wiki, jadi istilah 'butterfly effect' itu berawal dari teori seorang profesor bahwa 1 kepakan sayap seekor kupu-kupu di hutan belantara Brazil, bisa menjadi badai tornado di Texas beberapa bulan kemudian, interesting fact, isn't it ? hehe.

jadi, inti dari butterfly effect ini adalah, hal kecil, bahkan yang sangat kecil, sampai-sampai sangat wajar jika kita mengabaikan keberadaannya, apapun itu, yang terjadi di saat ini, akan berpengaruh sangat amat besar sekali di masa depan.

beranjak dari situ juga ide film ini, jika mau lihat sinopsisnya secara lengkap di sini saja http://id.wikipedia.org/wiki/The_Butterfly_Effect.

Evan, sang pemeran utama film ini, mempunyai sahabat bernama Lenny, gadis yang dia sukai, Kelly, dan ibunya yang sangat dia sayangi.

Jadi ada 4 elemen penting di sini, sahabat, kekasih, ibu, dan dirinya sendiri.

Jadi Evan, pemeran utama di film ini, dengan cukup unik, mempunyai kemampuan untuk kembali ke masa lalu walau hanya untuk beberapa detik.

Namun, detik itulah yang sangat amat mempengaruhi hidupnya, dan hidup orang lain tentunya. Jadi misal, ada state di mana dia menemukan dirinya berbahagia bersama Kelly, namun ternyata Lenny saat itu hidupnya hancur dan dia gila, lalu diapun kembali ke masa lalu, mengubah kejadian di beberapa detik yang berpengaruh itu, dan setelah dia kembali ke masa ini, dia menemukan hidup Lenny berbahagia, tapi tidak begitu dengan Kelly, hidupnya hancur dan dia menjadi pelacur. Suatu waktu dia menemukan semua berbahagia, kecuali dirinya, dia cacat permanen, tentu dia tidak mau, dan mengulang kembali.

Begitu terus, Evan terus mengulang dan mengulang, dan setelah berkali-kali mencoba, akhirnya dia pun menyadari bahwa dia tidak pernah menemukan dirinya, Lenny, Kelly, dan ibunya sama-sama bahagia tanpa ada yang berkorban.

Sampai akhirnya dia melakukan langkah akhir, dan voila, tebak gimana state terakhir dari cerita ini ? kebahagiaan siapa yang terkorbankan ? hehe

Sebenarnya, yang terpikirkan olehku adalah, bagaimana kalau kita yang dapet pilihan kaya gitu, ga ada setengah-setengahan, ga ada jawaban diplomatis, dan semuanya akan menjadi kenyataan :

Kebahagiaan siapa yang bakal kita korbankan ? Diri sendiri ? Sahabat ? Kekasih ? Orang Tua ?

"You can't playing God, son !"

Senin, 15 Februari 2010

Ulang Tahunku 14 Februari

14 Februari 2010, it's a very special day. Some people celebrate Chinese New Year, some celebrate Valentine Day. But, me and Dody Sampodo decided to celebrate our birthday.

Jadi di kuliah Kemanan Informasi kamis sebelumnya, yang diberikan oleh dosen yang inspiring, Bapak Budi Raharjo, kami seperti tersadarkan betapa mudahnya kita menjadikan data-data pribadi kita menjadi konsumsi publik di dunia maya ini, salah satunya, tanggal lahir kita, yang seringkali juga menjadi kunci penting saat mereset password, dan akun-akun lainnya.

Inspired, namun, alih-alih memilih untuk menghide tanggal lahir di facebook, kami berdua memilih akan berganti-ganti tanggal lahir untuk membuyarkan, dan untuk bulan ini, kami memutuskan untuk merayakannya saja bersamaan dengan Imlek dan hari Valentine. Beberapa hari sebelum hari-h, sebenarnya sudah ada beberapa teman yang menanyakan, kok ada yang janggal di profile facebook-ku, tapi kujawab dengan tidak berpikir aja waktu itu, hehe.

Tapi, di minggu pagi yang sangat amat cerah berawan tipis itu, sepulang dari Laurentius, sekitar jam 7 pagi, aku menemukan wall-ku sudah sangat penuh! puluhan kolega udah mengucapkan selamat ulang tahun penuh dengan doa-doa! Ada 2 kemungkinan si: (1) teman-temanku tidak tau aku hanya menyampot, (2) hari-h adalah hari minggu, dan jawabannya adalah point-1 dan point-2 benar tapi tidak berhubungan (B). Aku tidak tahu apa yang terjadi, tapi yang kurasakan adalah rasa bersalah, melihat mereka mengucapkan dengan tulus, tanpa ada sebersit pun rasa curiga karena baru beberapa bulan lalu mengucapkan ucapan yang serupa. Akhirnya aku memutuskan untuk menghide saja tanggal ulang tahunku di facebook, dan gelombang ucapan selamat ulang tahun itu terhenti. Setelah itu kupasang status permintaan maaf yang sebesar-besarnya, dan (sebenarnya) terima kasih sekali atas ucapan selamat nya, i really appreciate that. (walaupun ada yang nyadar si :D)




Ada juga yang berusaha menyelamatkan temannya dari jurang kesampotan ini, hehe


Dan setelah itu aku menghadapi hari imlek + valentine ini dengan dihinggapi sindrom januari yang tiba-tiba muncul dan melemaskan, memandang kosong hujan di siang hari dari jendela kamar dengan iringan hentakan verbal Rocket Rockers dan Jenny, sembari makan kerupuk. Kriuk. Au auuuuu.

Maaf ya teman-teman, saya tidak bermaksud menipu, ulang tahun saya 22 Agustus kok. ^:)^

Minggu, 14 Februari 2010

Me, a Half Night, a Half Day, and 3 Architects

Weekend kemarin, sejak awal minggu memang sudah kudedikasikan sebagai waktu untuk bertualang dan bersenang-senang, yang tentu saja diimbangi dengan coding siang malam bagai kuda di week day nya, haha.

Ada yang spesial, karena ada Wastu, temenku, arsitek sekaligus artist luar biasa, yang baru aja selesai sidang tugas akhirnya dan memutuskan main-main di bandung untuk beberapa saat, dan juga ada 2 temen Wastu, anak arsitektur UGM 2004 yang sekarang bekerja di Labo, sebuah biro arsitektur terkemuka yang kantor nya ada di jalan bukit dago indah, yaitu Mba Icha n Mas Ochi.

Petualangan dimulai dari ketika kami berdua dateng ujan2 ke kantor Labo, daan, aku langsung benar2 excited dengan bentuk kantor itu: 4m x 8m, tanpa dinding beton, semuanya berbahan kaca dipadu dengan baja sebagai kerangkanya. Ngarsitek abis, haha.

Menunggu Mba Icha n Mas Ochi sejenak, akhirnya dalam hujan, kami memutuskan pergi ke Galeri Sunaryo (yang sebelumnya aku belum pernah denger juga si :P), sebuah galeri seni terutama lukisan di sekitar Dago Atas punya Sunaryo, yang katanya adalah salah satu dosen FSRD. Setelah muter2 menikmati desain arsitektur dan landscape dari galeri itu, kami duduk minum kopi dulu soalnya emang hujannya makin deras. Ngobrol ke sana kemari, dan walaupun sebenarnya teman-temanku di Jogja banyak yang dari kalangan arsitek dan artist, aku tetap menemukan sesuatu yang baru, mengobrol intens dengan orang-orang yang pemikirannya berbeda dengan pemikiran lingkungan hidupku selama ini (informatika), beda banget, beda, walaupun sebenarnya analog juga dengan topik pembicaraan anak-anak informatika, tapi dengan cara pandang, strategi, dan objek yang berbeda, dan it's fun! isn't it? :D

Begitulah, setelah itu kami ke Ciwalk, bukan untuk ngeceng ataupun shopping, tapi untuk masuk ke hotel yang baru, jalan-jalan di sana, menikmati desain arsitektur yang lebih berani dan cukup nyeleneh untuk ukuran Indonesia, jujur, walaupun aku ga ngerti banyak, tapi aku entah kenapa bisa menikmati aja, dan bisa ikut2an ngeberi apresiasi, hehehe, lalu ngebahas konsep dari Ciwalk itu sendiri, sesuatu yang jarang aku pedulikan, hahaha, biasanya dateng, ke XXI, nonton apa karaoke, jalan2 bentar, makan, pulang, that's all :|

Abis itu ke PVJ, setelah jalan2 bentar lalu ke Blitz nonton filem psikopat ga jelas, PaintBall. Lalu pulang deh, udah tengah malam lebih.

Sampe kosan tidur, bangun pagi, menyampot sampe jam 11 an n ketemuan lagi sama Icha-Ochi untuk main lagi, rencana kali ini ke Braga, hehe, walaupun sebenarnya udah ke sana, dan sering lewat, aku ga pernah masuk-masuk ke detailnya, dan setelah jalan-jalan bentar, ngobrol sana-sini, kita ke sebuah toko roti yang udah ada sejak jaman belanda, dan bener, masuk ke toko itu, rasanya kaya kita kembali ke masa lalu, dengan menu-menu hidangan roti dan es krim bernuansa Belanda dari masa lalu, penjual nya yang semuanya sudah beruban dan sudah menjalani kehidupan pelik ini begitu lamanya, dengan perabot-perabot klasiknya.

Berhubung 'no picture = hoax' :P, ini aku lampirkan beberapa foto, hehehe.







Abis dari main setengah malam dan setengah hari bersama 3 arsitek tersebut, entah kenapa aku jadi kepikiran, bahwa hidupku akhir2 ini walaupun hebat tetapi sangat sempit, rutin, statis (bangun, coding, ke kampus, main, pulang, coding, tidur, dst :P), di mana sebenarnya dunia di sekitar kita ini sangat amat menakjubkan, dan begitu luas n dinamis. So, moral dari cerita ini ? Silakan dijawab sesuai dengan intrepretasi masing-masing saja, saya anak tidak berpikir.