The Passage – The fate of the worlds is in the hand of a little girl

Melihat kover bukunya, mungkin anda akan mengira bahwa The Passage adalah sebuah novel yang mengerikan. Kenyataannya memang demikian :) . The Passage adalah sebuah novel karya Justin Cronin yang diterbitkan di tahun 2010 yang lalu. The Passage menceritakan kisah umat manusia yang hidup di dunia dimana sebuah virus yang mengerikan menghancurkan peradaban manusia. Kunci untuk menyelamatkan manusia dari kehancuran total berada di tangan seorang gadis kecil bernama Amy.

Kisah bermula di dunia tempat kita tinggal. Sekelompok peneliti Amerika Serikat menemukan sebuah fenomena aneh di pedalaman hutan Bolivia. Sekelompok wisatawan diserang oleh makhluk yang tidak dikenal. Empat orang yang selamat berhasil dibawa kembali ke Amerika Serikat. Belakangan diketahui bahwa keempat orang tersebut pernah mengidap penyakit-penyakit yang belum ditemukan obatnya, seperti kanker, yang sembuh setelah penyerangan tersebut. Kesehatan tubuh mereka tidak bisa dibandingkan dengan sebelumnya. Kejadian ini menimbulkan harapan untuk mendapatkan panacea, obat yang bisa menyembuhkan segala penyakit.Namun, keempat orang tersebut dinyatakan tewas secara misterius.  Belakangan diketahui bahwa kondisi keempat orang tersebut berkaitan dengan keberadaan virus yang misterius. Dari kejadian tersebut, dimulailah Project Noah, sebuah proyek militer Amerika Serikat untuk memperoleh panacea.

Brad Wolgast adalah salah satu agen FBI yang dilibatkan dalam Project Noah. Tugasnya adalah merekrut para narapidana hukuman mati untuk dijadikan objek percobaan Project Noah. Dua belas narapidana telah direkrut dan ditempatkan di instalasi militer di puncak gunung. Seluruhnya orang dewasa yang tidak memiliki satu pun kerabat di dunia. Namun, tiada yang menyangka, bahwa orang yang harus direkrut selanjutnya, adalah gadis kecil berusia enam tahun yang bernama Amy.

Beberapa bulan kemudian, terjadilah malapetaka yang merubah dunia untuk selamanya. Kedua belas objek percobaan Project Noah melarikan diri. Kedua belas orang tersebut telah diinfeksi oleh virus, tubuh mereka nyaris abadi, liar, dan siap untuk membunuh apapun yang menghalangi jalan mereka. Angkatan bersenjata Amerika tidak berdaya melawan mereka. Kedua belas tersebut menyebarkan virus yang mereka miliki, membentuk sekawanan makhluk vampir yang disebut sebagai viral. Hanya dalam waktu kurang dari lima tahun, sebagian besar dunia musnah akibat virus tersebut.

Harapan terakhir umat manusia ada pada Amy. Walaupun ia telah infeksi virus tersebut, ia tetap memiliki kesadaran sebagai seorang manusia, ditambah dengan tubuh yang nyaris abadi. Ia melewati tahun-tahun pertama masa infeksi bersama Wolgast di sebuah perkemahan terpencil.

Seratus tahun kemudian, seorang diri, Amy datang ke pintu koloni umat manusia yang selamat dari wabah.

Sebenarnya saya kurang tertarik membaca buku yang bertema vampir atau zombie. Satu hal yang akhirnya membuat saya membaca buku ini adalah gaya penulisnya yang unik. Penceritaan dilakukan dari sudut pandang berbagai karakter. Kadang penulis menjadikan Amy sebagai sudut pandang, kadang Wolgast, bahkan ada beberapa adegan dimana cerita ditulis dari sudut pandang viral!

Masih ada banyak variasi penceritaan lainnya. Satu bab dibuat dalam bentuk serangkaian email, yang isi email terakhirnya sukses membuat makan siang terlupakan. Beberapa bab dibuat dalam bentuk diari yang ditulis oleh salah satu tokoh dari buku ini, yang lagi-lagi kalimat terakhirnya sukses membuat penasaran akan kelanjutan ceritanya. Membaca bukunya jadi terasa tidak monoton. Selalu ada hal baru yang bisa dinikmati. Sisi negatifnya, terkesan tidak ada karakter utama yang menonjol dalam buku ini. Jangan heran jika ada karakter yang anda rasa karakter utama yang tiba-tiba menghilang dari cerita dan baru muncul di bagian akhir. Kalau tidak terbiasa, bisa-bisa anda kebingungan saat membacanya.

Di bagian awal cerita berjalan sangat lambat. Tidak terlalu banyak aksi atau adegan yang mengerikan, sampai lolosnya dua belas napi tersebut. Hal ini terjadi karena bagian awal difokuskan pada latar belakang dari cerita. Masa lalu tokoh-tokoh dibahas secara tuntas, bahkan kadang sampai terasa membosankan. Setelah time-skip selama seratus tahun, cerita mulai berkembang dengan cepat dan menegangkan. Twist-nya sangat banyak. Jadi bersiaplah terkaget-kaget membaca novel ini.

Terakhir, buku ini hanyalah buku pertama dari tiga buku yang direncakan akan ditulis oleh Cronin ;) . Trilogi yang menarik bagi anda yang suka membaca novel-novel Stephen King.

Posted in Academic | Leave a comment

Merah Putih – Source code

Below is processing code for program in my previous post. A lot of explanation already given in this post. To run it, you can paste the source code into online processing sketch. Feel free to experiment with various color and flower size :D.

[sourcecode language="Java"]
//Screen size
final int SCREEN_HEIGHT = 400;
final int SCREEN_WIDTH = 400;

//Flower parameter
final int MIN_DIAMETER = 1;
final int MAX_DIAMETER = 10;

//RGBA value range : 0 – 255
int min_red, min_blue, min_green, min_alpha;
int max_red, max_blue, max_green, max_alpha;

int x, y;

void setup()
{
size(SCREEN_WIDTH, SCREEN_HEIGHT);
noStroke();
background(0);
smooth(); //Enable anti-aliasing

min_red = 220;
max_red = 255;
min_green = 0;
max_green = 0;
min_blue = 0;
max_blue = 0;
min_alpha = 10;
max_alpha = 150;

x = 0;
y = 0;
}

void draw()
{
int r, g, b, a; //Flower color
int d; //Flower diameter

//Bangkitkan satu nilai acak
r = (int)random(min_red, max_red);
g = (int)random(min_green, max_green);
b = (int)random(min_blue, max_blue);
a = (int)random(min_alpha, max_alpha);
d = (int)random(MIN_DIAMETER, MAX_DIAMETER);

fill(r, g, b, a);
drawFlower(x, y, d);

x = x + 10;
if (x > width) { //Newline
x = 0;
y = y + 10;
}
if (y > height/2) { //Change colour
max_green = max_blue = 255;
min_green = min_blue = 240;
}
}

void drawFlower(int x, int y, int d){
ellipse(x, y, d, d);
ellipse(x + d/2, y – d/2, d, d);
ellipse(x + d/2, y + d/2, d, d);
ellipse(x – d/2, y + d/2, d, d);
ellipse(x – d/2, y – d/2, d, d);
}
[/sourcecode]

Posted in Academic | 183 Comments

Take it slow


Starting yesterday I read Fate / Zero light novel. When I reading volume 2, I found this great saying of Iskandar. I think he is become my most favorite servant in entire Fate series.

Posted in movie | 1 Comment

Merah Putih


The result of simple Processing program modified from my past post. Modified while waiting for football final, Indonesia vs Malaysia, Sea Games 2011. I hope the match will be enjoyable.

Update

Another version is available below. I try to change some parameter and the result is quite stunning.


This one with far larger brush size.

Posted in Computer Science | 7 Comments

Aldiko Ebook Reader

[youtube=http://www.youtube.com/watch?v=uDnDmUZfbbw&feature=player_embedded]

Aldiko is a free e-book reader application available in Android devices. With this application, you can read book, buy it, manage it, and share it only using your mobile devices.

One interesting feature of Aldiko is it allows you to change foreground and background color of the texts. You can choose a suitable color theme that easy to read. Currently I use brown background and white foreground. If the screen is to bright, Aldiko also enable you to change brighness setting without have to back to home screen first. Quite convenient :).

Aldiko allows you to change text background and foreground color.

That’s it. Have a nice reads :).

Posted in Computer Science | 27 Comments

World Cruise Story

This November, Kairosoft launch it’s fifth game on Android platform : World Cruise Story. In this simulation game, you have to manage a cruise ship. You can decorate ship interior, make it larger ,set sail you cruise to many countries, and make your cruise the best in the world. The gameplay is very similar to Hot Spring Story. Every building block has quality and price point which can be improved using item or place another block which compatible. Each block also has appeal point which can be improved by placing decorative items like flowers and trees. New building block can be unlocked by investing your money in available proposal. Auras system from Grand Prix Story also exist in this game. As usual, Kairosoft mascot – Kairobot – and many recurring character like Mr. X is appears as cameo in this game. I like the consistency in all Kairosoft game. The graphic and music Is retro yet enjoyable, the gameplay is great, and although there are many challenge available. Like all Kairosoft’s game, it is hard to put down your phone before you finish this game. If you find this game interesting, I suggest you also try another Kairosoft’s game : Game Dev Story, Hot Spring Story, Grand Prix Story, and Pocket League Story. My favorite so far is Game Dev Story (I replay it almost six time ;) ). FYI, Kairosoft already launch it’s sixth game, but no English translation yet.

Posted in Academic | 12 Comments

Are you young enough

When the boy become man, he will realize that he don't know everything.

 

Posted in Academic | 3 Comments

Yukikaze (Anime)

In the distant future, Earth is being invaded by a mysterious alien race known as the JAM. Though suffering heavy casualties, mankind unites and repels their advance, pushing them back to their home world of Fairy. As to not take any chances of another attack, an expeditionary force is formed to pursue and eradicate any who managed to flee. The campaign is successful, with all but a few small pockets of JAM completely destroyed, and preparations are made for the fleet to return to home. Enter Lieutenant Rei Fukai, the pilot of a reconnaissance fighter jet known as the Yukikaze.

I watch this series purely to the dogfight scene it’s offer. The dogfight scene is realistic. I prefer this than Macross series. One of my favorite part of this anime is this brilliant take-off sequence in episode 4 :

[youtube=http://www.youtube.com/watch?v=QQCbU4GHZF0]

Sadly I find it’s character design is bad. Yukikaze is exception, of course ;). Currently I read English translation of Yukikaze novel. I hope I can get to know a more complete story of Yukikaze.

Posted in movie | 167 Comments

Keep Asking

Posted in quote | 1,080 Comments

The fun(?) side of programming

Programming is often regarded as a very complex, hence very serious, task by non-programmers. Is that true? In most cases, that is the fact. A programmers always have to dealing face-to-face with many problems. Handling never ending requirement, creating an algorithm to solve problem, fixing little bugs that hidden inside the programs, maintaining old programs, keeping up to date with new technology, and the list is still long. There is no room for a little fun right?

Or not.

There is a lot of fun in programming. The joy of programming is to solve a problems or challenges. Yes, the word fun in programming is closely related to challenge. No challenge means no fun at all. For this particular reason, there are so many website that offer many problems to solve by curious and determined programmers.

Many type of challenge is unique and creative. The theme usually simple but to solve it one will need a good understanding in programming concept and programming language features. Are you ready to take the challenge? Below is a list of some creative challenge you can try :).

Create programs with minimum amount of code

The most notable contest with this theme is Perl Golf Apocalypse (PGA) and JS1K. PGA is perl coding competition with the objective of solving a basic programming task with the smallest perl code possible. In JS1K, a programmer can submit JavaScript code that complete any task, with size less than one kilobyte.

To complete this kind of challenge, one must have a deep understanding of the feature of programming language and use the most simple method to solve the problem. Create a chess with AI with a code less than one kilobyte is not an easy task, even for experienced programmer.

There is also a challenge to create the shortest hello world program possible. The winner so far is Jon Skeet. He even create a brand new programming language with purpose solely to print hello world. He only need one character to print it. “Arguably I could have designed it to only accept an empty file as input, but that would have been silly (source)” he says. He even have his own Jon Skeet Facts.

Create a very long and complex program to complete very simple task

How hard is to build a program that print “Hello World” to screen? A very simple task. Hello world program is the first program created for most of programmers. This program can be completed in less than five minute, even if you are just start learning your very first programming language.

Some people in stackoverflow.com give you a challenge to code a hello world program as palindrome. It’s mean your code can be read the same way in either direction. It is no easy task for a programmers. Another person ask for the longest hello world program. Try to read the code below, in chimpanzee voice :

#example that prints Hello World!
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. 

That is a hello world program written in Ook programming language. It’s real and it’s works perfectly. In case you want to know, there are 282 Ook words written in that code. Another notable submission is code in Chef and Shakespeare programming language.

In perl community exist Just Another Perl Hacker (JAPH) challenge. Perl programmer is compete to create most creative way to create program that print “Just another Perl hacker,” in their signature. The code then embedded in their signature. You can see the example in JAPH Wikipedia page. Make sure you see the camel one ;).

Obfuscated Code Contest

A good code is a code that easy to read and easy to understand. But there are some situation when you want to protect your code by making it hard to read. This kind of code is called obfuscated code. Something like this :

char*M,A,Z,E=40,J[40],T[40];main(C){for(*J=A=scanf(M="%d",&C);
--            E;             J[              E]             =T
[E   ]=  E)   printf("._");  for(;(A-=Z=!Z)  ||  (printf("\n|"
)    ,   A    =              39              ,C             --
)    ;   Z    ||    printf   (M   ))M[Z]=Z[A-(E   =A[J-Z])&&!C
&    A   ==             T[                                  A]
|6<<27<rand()||!C&!Z?J[T[E]=T[A]]=E,J[T[A]=A-Z]=A,"_.":" |"];}

If any lecturer ask the students the output of that program, I’m quite sure all the students will fail.

By the way, there are three obfuscated code contest : International Obfuscated C Code Contest, Obfuscated Perl Contest, and International Obfuscated Ruby Code Contest. Below is the goal of International Obfuscated C Code Contest :

  • To write the most Obscure/Obfuscated C program under the rules below.
  • To show the importance of programming style, in an ironic way.
  • To stress C compilers with unusual code.
  • To illustrate some of the subtleties of the C language.
  • To provide a safe forum for poor C code. :-)

This is one of the submission. The program is used to calculate the value of pi:

#define _ -F<00||--F-OO--;
int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
            _-_-_-_
       _-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
        _-_-_-_-_-_-_-_
            _-_-_-_
}

Another submission can be seen in ioccc website.

That’s it. A programmer is able to having fun too, but in different and challenging way. I’m quite sure many other creative challenge exist. If you know any, you can tell us in your comment. Thank you and have fun in code :).

Posted in Computer Science | 6 Comments