Perkembangan..
Melanjutkan kisah sebelumnya, akhirnya saya berhasil menyelesaikan kodingan bzip2 paralel dg uTC (cuma bagian kompresinya aja). Separuh waktu yang saya gunakan habis dipakai tuk debugging masalah yang tidak jelas. Masalah yang sangat aneh sampai2 saya juga tidak tahu apa yang harus dilakukan.
Penggunaan g++ bawaan Ubuntu 7.10 dan Ubuntu 8.04 ternyata memberikan hasil yang berbeda. Kalau menggunakan g++ yg dipakai di mesin uji coba (powerpc quadcore) ternyata hasilnya beda lagi, untungnya yg ini hasilnya sesuai harapan *lega*.
Putus
Setelah hampir setahun bersama.. terpaksa kita harus berpisah dulu..
mudah2an di kemudian hari saya bisa mendapatkan yang jauh lebih baik.
Microthreading
Baru kali ini dapet tugas yg kerjaannya memodifikasi program. Berhubung program aslinya dirilis di bawah GPL, pastinya yang saya ubah juga harus jadi GPL.
Tugasnya adalah.. mengekstrak konkurensi.. err.. membuat program jadi bisa jalan secara paralel. Model pemrograman yg dipake adalah microthreading dan bahasa yg dipake adalah uTC alias Microthreaded C. Dari sekian pilihan program yang disediakan, sepertinya program yang paling “sederhana” adalah bzip2. Versi yang dipakai adalah versi 0.1pl2 yang dirilis pada tanggal 29 Agustus 1997. Wah, udah hampir 11 tahun tuh umurnya. Program ini tampak sederhana dibanding yang lain karena “hanya” terdiri dari 4000an baris (termasuk komentar) dalam 1 file saja.
Berhubung uTC ini cuma tambahan dikit dari bhs C, maka semestinya bzip2 jg bisa dibuat jadi paralel dg mudah (walau kenyataannya ngga krn ada banyak global variables T_T). Jadi.. langkah pertama adalah.. memindahkan global variables tadi ke dalam sebuah struct yg bakal dilempar2 pas manggil fungsi2. dst dst.. *blom kebayang lanjutannya* Kalo mo iseng liat bzip2 yg udah dimodif sampe sini, silakan kunjungi https://github.com/fajran/utcbzip2/tree (cuma bagian kompresinya aja yang sudah diubah)
Kembali ke microthreading, makhluk yg satu ini adalah salah satu konsep/model pemrograman baru yang ditujukan tuk mempermudah pembuatan aplikasi yang ingin memanfaatkan ribuan cores para prosesor yang suatu saat akan tersedia (kabarnya [Intel jg sudah merencanakannya]( http://news.cnet.com/8301-13924_3-9981760-64.html?hhTest=1&part=rss&subj=news&tag=2547-1_3-0-5)). Kalo pake teknik yg ada sekarang (apa ya? message passing, shared memory, apalah), rasanya bikin aplikasi paralel itu jadi malah ribet di urusan pengaturan konkurensinya (ngirim2 data lah, sinkronisasi lah, dll), sehingga kurang bisa fokus di pembuatan aplikasi itu sendiri, misalnya di masalah algoritma. Biarlah urusan konkurensi itu diatur oleh sistem yg ada di belakang layar dan tukang koding bisa fokus ngerjain aplikasi itu sendiri.
Rencananya akan ada compiler yang bisa ngompile uTC. Namun saat ini kabarnya belum kelar dibuat. Yang sudah ada baru simulator prosesor yg bisa ngejalnin aplikasi ini (musti ngoding asm nya by hand) dan skrip pengubah uTC jadi kodingan C++ yg make pthread. Kodingan dg pthread ini tentu saja bisa lgs dijalanin di kompi biasa dg OS yg dukung pthread, misalnya Linux ato Mac OS X.
Tuk info lebih lanjut, silakan liat posternya dan halaman proyeknya.
Skrip-skrip iseng
Mulai sekarang, (mudah2an) setiap skrip/aplikasi/apalah itu hasil iseng2 akan diletakkan di http://github.com/fajran/iseng/tree/master
Selamat menikmati.. :D
Open Contest: User Safety on the Internet Highway
Mau €2.500? Silakan ikutan kontes ini :D Tujuan utamanya adalah membuat/mengidentifikasi sebuah koleksi software yang memungkinkan seseorang yang ngga punya kemampuan teknis tinggi dalam berkomputer/berinternet agar dapat mempertahankan dirinya dari kemungkinan serangan dan pelanggaran privasi dengan cara semudah-mudahnya.
Kontes ini berlangsung sampai tanggal 15 Agustus 2008 dan pemenang akan diumumkan paling lambat tanggal 15 September 2008. Kontes ini terbuka bagi siapa saja (pribadi atau kelompok) dari mana saja.
Informasi lebih lanjut: http://nlnet.nl/contest/2008/index.html
Firefox or Internet Explorer?
Ada yang mau bikin juga? :D
Sepeda di Amsterdam

Bagi yang ingin tau suasana sepeda di Amsterdam, silakan buka http://www.ski-epic.com/amsterdam_bicycles/ (banyak foto!). Sebuah laporan/komentar dari orang asing yang berasal dari San Francisco.
Rangkuman:
- Formally Dressed Bicyclists
- Multiple Riders on One Bike
- No Helmets EVER
- Dogs on Bikes
- Human Powered Generator (Dynamo) Bicycle Light
- Spectacular Gigantic Unbreakable Security Chains
- ….And More..
Pendapat saya? ya begitulah adanya :)
via reddit.com
I want to pee! I want to play game! Why don't do both?
GTH2008: 02 - Zip
Yang ini soalnya bisa beda2.. contoh
Sum of line 5 for all files with path or name containing EFG and ending in .txt
Sum of line 3 for all files with path or name containing mno and ending in .js
Hint: If the requested line does not exist, do not increment the sum.Multiply all the above sums together and enter the product below.
*(Note: Answer must be an exact, decimal representation of the number.) *
Solusi:
$ find . -type f -regex .\*EFG.\*txt$ | while read f; do sed -n '5p' < $f; done | awk '{ sum=sum + $1 } END { print sum }'
33515
GTH2008: 01 - Robot
Bahas ah :D

Jawaban soal pertama: nCr
dimana n = w-1 dan r = w+h-2