Wirawan Winarto

Microsoft Student Partner
See also: Other Geeks@INDC

December 2007 - Posts

What I Have Done Through This Year

This year is full of crazy stuffs that will be remembered for my whole life. Here are my short reviews about what I have done through this year.

  • The journey started back on February 2007, I met Umar for the first time and began to know about Imagine Cup. A very nice way to enter the world of .NET.

  • After that, I led my team, Garuda, finished third on National Imagine Cup 2007 - Software Design Competition. We developed a cool project named Cakrawala. Despite it is a very good idea, I admitted that it was an immature project, but luckily we executed it well.

  • Some of my other notable achievements are : I took my team represented STT Telkom on the National ACM ICPC 2007, also went through to the Asia Regional ACM ICPC 2007, semi-finalist of Indonesian ICT Awards 2007, and at last finished third on Pimnas IT National Algorithm and Programming Contest.

  • A way back, I was chosen as Microsoft Student Partner for STT Telkom. I delivered my first talk on MSP Gathering about Project Hoshimi 2008. So far, I have talked on some campuses about Imagine Cup. Being a Microsoft Student Partner is always a wonderful experience for me.

  • I started blogging here on October 2007. My first post does not getting much attention and I also have no time for blogging after that. Only after the second post, this blog is getting a bit popular. I have two hopes for the next year : posting some technical posts and watching English Premier League. Until now, I am too busy to do either of them.

  • I stepped down from my position as Programming Club vice-president by the end of this year. The guy who replaces me is also a .NET freak specializes on Microsoft Expressions.

Of course, there are still more things to do. There are also still more challenges ahead.

Wish you all the best for 2007 and... may the Force be with you!

Share this post: | | | |
Proof Against Santa Claus Existence

On Christmas Eve, Santa Claus wears his famous red suit, puts all the toys on his sleigh and nine reindeers are attached to the sleigh to pull it. He comes to every good children's house, climbs down the chimney, eats cookies left by children for him, and leaves gifts for them. People have come up with proof for and proof against the existence of Santa Claus. Many physicians, mathematicians, and engineers also had been debating on the internet trying to answer this everlasting question : Does Santa Claus Really Exist?

Here is the proof why Santa Claus does NOT exist!

  1. There are about 2 billion children (people under 15) in the world. But, since Santa Claus does not appear to handle Muslim, Hindu, Jewish, and Buddhist children, that reduces the workload to 15% of the total - 378 million according to Population Reference Bureau. At an average (census) rate of 3.5 children per household, that's 91.8 million homes. One presumes there's at least one good child in each.

  2. Santa Claus has 31 hours of Christmas to work with, thanks to the different time zones and the rotation of the earth, assuming he travels east to west. This requires him to visit 822.6 houses per second. This is to say that for each Christian household with good children, Santa Claus has 1/1000th of a second to park, hop out of the sleigh, jump down the chimney, fill the stockings, distribute the remaining presents under the tree, eat whatever snacks have been left, get back up the chimney, get back into the sleigh and move on to the next house.

  3. Assuming that each of these 91.8 million stops are evenly distributed around the earth (just an assumption, of course), we are now talking about 0.78 miles per household, a total trip of 75 million miles, not counting stops to do what most of us must do at least once every 31 hours, plus feeding his reindeers and etc.

  4. This means that Santa Claus' sleigh is moving at 650 miles per second, about 3,000 times the speed of sound. For purposes of comparison, the fastest vehicle on earth, the Ulysses Space Probe, moves at a 27.4 miles per second. Meanwhile, a conventional reindeer can run, tops, 15 miles per hour.

  5. The payload on the sleigh adds another interesting element. Assuming that each child gets nothing more than a medium-sized lego set (2 pounds), the sleigh is carrying 321,300 tons, not counting Santa Claus himself, who is overweight. On land, one conventional reindeer can pull no more than 300 pounds. Even though 'flying reindeer' could pull ten times the normal amount, we cannot do the job with eight, or nine. Thus, we need total 214,200 reindeers. This increases the payload, not even counting the weight of the sleigh itself, to 353,430 tons. That is four times the weight of the great Queen Elizabeth ship.

  6. Imagine 353,000 tons of stuffs traveling at 650 miles per second create enormous air resistance. This will heat the reindeer up in the same fashion as a spacecraft re-entering the earth's atmosphere. The lead pair of reindeer will absorb 14.3 quintillion joules of energy. Per second. Each. In short, they will burst into flame instantaneously, exposing all reindeers behind them, and creating deafening sonic booms in their wake. The entire reindeer team will be vaporized within 4.26 thousandths of a second.

  7. Santa Claus, meanwhile, will be subjected to centrifugal forces 17,500.06 times greater than gravity. A 250-pound Santa Claus would be pinned to the back of his sleigh by 4,315,015 pounds of force! It will Instantly crush his bones and organs and reduce him to a quivering blob of pink goo.

In conclusion. If Santa Claus did exist, he is already dead now.

Merry Christmas!

Share this post: | | | |
Posted: Dec 24 2007, 05:16 PM by wirawan | with 3 comment(s)
Filed under: ,
The Evaluation Is Not So F#-ing Lazy

Everytime I write F# down. It looks like a swear.

In functional programming languages, lazy evaluation is a well-known feature. The opposite of lazy evaluation is a strict evaluation. In a strict evaluation strategy, the innermost expressions are evaluated first. While in a non-strict evaluation strategy, the outermost expressions are evaluated first. Look at this easy example :

The advantage of strict evaluation is clear, it is more efficient since all functions are only evaluated once. Meanwhile, in non-strict evaluation, the functions like g(1,3) above sometimes are evaluated twice (or more). Inversely, non-strict evaluation is considered more expressive, for example it supports infinitive data structures, etc.

Hence people came up with a solution called lazy evaluation. Lazy evaluation is a form of non-strict evaluation, but it uses memoization, to work efficiently. Memoization is a way to remember the result produced by an evaluation. The results produced are shared across the functions so that it does not need to evaluate the same expression twice. Another advantage of lazy evaluation is it only evaluates a function that is necessary, while in strict evaluation strategy the same program may loop forever or crash during the useless calculations. By avoiding unnecessary calculations, lazy evaluation can work faster.

There are some disadvantages of lazy evaluations as well. One of them is the difficulty to predict the complexity of program. It is because sometimes we cannot predict which functions are evaluated and which functions are not. Thus it is also makes errors harder to debug.

Strict evaluation is used by old functional programming languages, like Lisp and ML. While lazy evaluation is used by newer functional programming languages, such as Miranda and Haskell. How about F#? Fortunately, F# gives us both alternatives to choose. F# does not do lazy evaluation by default. It allows us to easily create a lazily evaluated function by adding the Lazy keyword. It also allows us to build a lazily evaluated functions on the top of strictly evaluated functions. Look at the meaningless code below on how to declare a laziness :

This is just information, not tutorial. The manuals will help you more.

Share this post: | | | |
I Am On ACM ICPC Asia Regional 2007

After a week without blogging, I want to inform you my activity.

I am currently representing STT Telkom on ACM ICPC (International Collegiate Programming Contest) Asia Regional 2007 at National University of Singapore. We took off yesterday morning to Batam and enjoyed one-day sight-seeing there before taking a ferry-ride to Singapore. This morning we met with other contestants from South East Asian and East Asian countries for practice sessions and some public lectures at National University of Singapore - School of Computing campus.

We do not set any target, since this is our first participation in such a big event. Meanwhile, there are contestants from some universities in some countries like Japan, China, Korea, Singapore, etc. that surely are more experienced than us and more prepared for this contest. They have professional coaches, great teamwork, and much experience from past competitions. Those are things that we do not have (it is Arif with me in the photo below).

Just like Imagine Cup that is sponsored by Microsoft, ACM ICPC is also sponsored by big companies, such as IBM and Lenovo. No wonder if all contestants were asked to attend a lecture today about IBM's RUP (Rational Unified Process). Lenovo also demonstrated their products and offered SGD 3000 (about Rp 20 million)-valued laptops as additional prizes for the winner of this contest. Moreover, National University of Singapore also gives priorities for the winners to receive scholarships for continuing their studies in Computer Science and Information System PhD. programs there.

The contest starts tomorrow. We will strive for best. Hopefully God will be kind enough to give me miraculous touch so that Indonesia can win this contest and I get the laptop (dream on...).

Share this post: | | | |
Posted: Dec 13 2007, 04:45 PM by wirawan | with 9 comment(s)
Filed under: , , ,
Imagine Cup Algorithm : No Success Yet

The Imagine Cup 2008 - Algorithm Match 2 has ended today, but still no success yet for Indonesia. None of us made it to the next round. In order to qualify, we should be on Top 50. The round 1 itself consists of 4 matches. Top 50 of each matches will through to the round 2, so there will be total 200 individuals who qualify.

About 1.000 students from all over the globe joinned Imagine Cup 2008 - Algorithm Round 1, and 44 of them are from Indonesia. So far, only one Indonesian has qualified. He competed under the nickname ardiankp from Nanyang Technological University (Singapore) and qualified after being Top 50 on the Match 1.

The winner of Match 2 is Jedi_Knight from Moscow State University (Russia) with 36.000 points. Meanwhile, the best-scored Indonesian is arya_n_n from Institut Teknologi Sepuluh November, with 19.025 points, but he was still not good enough to qualify.

Here are the Top 10 participants from Indonesia :

The complete result can be seen here.

With two incoming matches on December and January, there are still 100 tickets left. So participants who was ranked 51 to 150 still have great chances to qualify. Keep fighting, friends!

Share this post: | | | |
Unpad Imagine Cup 2008 Roadshow

Twenty years ago... just kidding. It was this morning.
We held an Imagine Cup 2008 Campus Roadshow at Padjajaran University (Unpad). The event itself is considerably big, since it was attended by 105 students from D3 programs of Computer Engineering Dept, Informatics Engineering Dept, and Informatics Management Dept.

There were four MSPs on duty : Ronald (ITB), Sultan (Unpad), Dira (Unpad), and me (STT Telkom). Besides us, there was Umar who helped us deliver our speech.

The first presentation was delivered by Umar. He talked about categories in Imagine Cup, starting from Software Design until Photography. The presentation did not quite work as we had expected because there are some problems with our laptops.

I talked next. My speech is about Project Hoshimi. I did about 10 minutes introduction and continued it with a demo of Project Hoshimi 2008. And on the last part of my presentation, I expressed my optimism that Indonesian Hoshimiers can reach worldwide final next year.

Why? I showed them this chart showing our positions in the last three years :

You see, we are going up. Every year is just getting better.
So I think it is reasonable enough to expect ourselves to go to the worldwide final next year.
For your information, there will be six teams who compete in the worldwide final, which is only one step further from top-12 round we had reached last year.

The last presentation was delivered by Ronald. It was a demo of Expression Blend.

Thanks to Dira and Sultan who had worked hard for this event. Thanks for the "wayang". Thanks for the lunch, as well. I never thought that Unpad had such a big enthusiasm on Imagine Cup. Hm... Is this a sign that one of Imagine Cup winners will come from Unpad? Let's see.

Share this post: | | | |