Wednesday, March 28, 2007

Brown belt

Finally got the cool brown belt.
Wasn't too hard with my skills :)
What's my next target? There's still the huge J2EE part to conquer. And the bbq project of course ;)

Tuesday, March 27, 2007

J2SE = yummy :)

Finally got all available Java SE exams passed at JBB.
What's cool is that I got 100% in the Reflection exams, both beta and real.
Maybe it's because I have made extended use of it in my bbq project :)
Only 2 more points to get brown.
Maybe my next target will be.. JUnit - Basic.

Monday, March 26, 2007

bbq project first release

Hey guys, we have a good news and a bad news today.

The good news is from the bbq project. The first release (25 Mar 2007) is now available at Download one and start customizing it for the #tbs-botzone contest now :)

The bad news is also from the bbq project. Yesterday my bot lost 14 games in a row (well, there were 2 pushes though) and lost all the money :( (almost $400k) Now I have to start from scratch again. In other words, every candidate has equal chance now :P

Anyway, I'm starting to work on the IRC-PRG project :P Setting up MySQL and designing the tables at the moment. Coding will start soon.

Stay tuned for the next chapter :)

Saturday, March 24, 2007

A visit from Microsoft?

Today when I was looking at the log to see how popular my blog was, I noticed this special link.
Yes, my blog got a hit from a guy from M$.

What happened to the computer world? Did Mr Gates suddenly wake up in the morning and noticed that their so-called innovative operating system Windows Vista and the Java rip-off .Net framework were a failure and decided to follow the path of the penguin in the open source world? :) Or was that just a M$ employee who got bored with the noob stuff at work and roamed the Internet looking for some fun? Or just a stupid crawler that was just leeching off my site?

Looking into more details, that guy came to my site via a Google search with my nickname as the keyword. There was some information about the screen resolution, color depth and javascript enabled so I guess that shouldn't be a crawler :P

Anyway, whoever it is, I suppose the mysterious visitor will reveal himself soon enough :P

Tuesday, March 20, 2007

Long time 2 :D

Hey guys, it's been a long time once again :D

I have been quite busy both at work and home :) The .Net project at work was quite easy for a 1337 like me, but it's quite time-consuming :( At home I am still working on the cute bot bbq :D

We're having an official irc channel for botting :D It used to be #tbs-traders but now we have moved to #tbs-botzone because Inferno didn't like that name :P

At the moment the botzone members are working on 3 projects. theAnswer, Gizmore, jmoncayo and matrixman are working on the so-called "Lamb project", which is coded in php with the power of MySQL. They even have a homepage for it, click here if you're interested :) ch0wch0w is working dependently on his ch0wb0t whose ability is still unknown :P And myself, as you already know, am working on the bbq bot which is written in Java using the irc module provided by PircBot.

Our first target is to win $1 million from playing blackjack with Shepp. At the moment my bot seems to be leading with $167142 in the bank after 2837 games. theAnswer and Gizmore's bots are still far away after losing all their money, both have played around 1000 games. Other players' status are unknown. But our result is still so far from the legendary No0ther1 who had played 201801 games, and won more than $1 million but unfortunately lost them all :P

As I only have 1-2 hours spare to work on the bot each day, my bot hasn't progress so far. At the moment it needs a little refactoring due to bad design - something that always happens when you try to solve an AI problem with some quick and dirty code :P Hopefully after this last refactoring my bot will become stable and available for non-commercial purpose soon :)

What's more, after our bots going stable, we're planning to write an irc-based RPG :) Come join us anytime soon on #tbs-botzone at :)

Tuesday, March 13, 2007

Problem with KDE sound

Is KDE your favourite desktop environment? I'm using it because it's much cooler than Gnome :P
As a penguin tamer, I always read the cool Linux articles by Steven J. Vaughan-Nichols. One of my favourite was his article titled "Little Red Riding Tux meets the Big Bad Wolf". The podcast was so cool that I wanted to make it my KDE startup theme so that I can hear it everytime I start my Linux box ;)
Unfortunately, for some weird reason, KDE just refused to play it :P Maybe because of the file being stored in mp3 format. What's even worse, it caused my sound driver to stop working -.- And for some weird reason, even when I reseted the sound theme to default, sometimes the old config still popped out of nowhere.
Care less about the KDE config bug :P Atm all I need is a way to get my sound working without having to restart KDE. A simple solution is to restart the sound driver. As I am using alsa, the command is

service alsa restart
That's it for now! Have fun taming your penguin guys ;)

Sunday, March 11, 2007

Long time

Hey guys, here's a new post again :D
It's been quite a long time since the last post, what have I been up to? :P
I had a quite busy week with a new .Net project at work and an IRC bot project at home. I've been looking for a PhD opportunity too, since it's now that time of the year again :P
Throw away the boring technical stuff, the bot is the main theme today :D
If you still remember, I have been using the Pyborg IRC bot by Tom Morton for quite a while. Recently the need for it grows stronger and the BADC0DED Python code is quite hard to maintain, so I decided to start a new Java project for it :)
My new bot uses PircBot as the core IRC module. At the moment the core is almost complete with a secure user system and a flexible command system :) What's cool is that commands can be updated on-the-fly (i.e no need to restart the bot everytime a command is added/updated) :D Maybe in the future there'll be needs for observer ability - so that messages sent to the bot will be forwarded to different observers for misc processing :)
At the moment the bot is named bbq but I'm not quite content with it :P Maybe it needs another cool and cute name? :P Any idea?

Monday, March 5, 2007

Blue belt

Yes, finally I have achieved it! The long waited blue belt!
Next target will be the brown belt of course ;)
Oh and what's more special, it's my birthday today!

Sunday, March 4, 2007

Welcome :)

Welcome to my new blog - Penguin tamer :)

Why create another blog, while I already have (a very nice) one? :D Well, as you already know, I have a penguin at home :) Although I have been a skillful Tiger tamer for a few years, taming the penguin is still a challenge for me. Mostly because since I started going to prison (aka work :D), I don't have much time with the penguin anymore. And as the penguin is surely more powerful than the other competitors from M$ and Mac, more effort is needed in order to control him :)

Some info about my penguin:
- Distro: Mandriva 2007 Beta 2
- Kernel: 2.6.17-3mdv
- Desktop: KDE 3.5.4, fluxbox 0.9.15
(More will be added later)

I'm just above the beginner level so anything I post will be inaccurate/incomplete. Please feel free to add comments/suggestions :)

Thursday, March 1, 2007

proxomitron - quangnitron

Maybe some of you already know, I have a stupid firewall at work that caches every single page, even when the page tells it not to do so.

This thing caused me a serious problem, especially when taking Java BlackBelt exams. I needed to reload the page all the time to get a fresh copy of the question.

What even worse is that when the page redirects to another page, mostly error page, refreshing won't work. I had to add dummy parameters to the URL using the LiveHTTPHeaders Firefox extension. This is quite a tedious job.

Well, a proxy that generates random parameters will solve the problem. I decided to start work on my quangnitron project again, however it is not an easy task.

Another idea crossed my mind today. Remember, even when the cache is still there, refreshing the browser will still get you the fresh version of the page? Why is this? A little analysis on the requests sent by the browser brought me to the long-waited result. Yes! It's the Cache-Control: max-age=0 header that does the job :) Fortunately the stupid firewall still respects this :)

No of course I wouldn't have to manually add this header to the request every time using LiveHTTPHeaders. Because it can be done nicely using Proxomitron. Now with Proxomitron it's freedom here :D

Oh and since Proxomitron's author, Scott Lemmon, passed away a few years ago, I think I should continue working on my quangnitron project to create a cross-platform version of this wonderful tool. With more features added in the future of course :)

Well, maybe I've been saying too much :P Making quangnitron as good as Proxomitron is a little too big for a lazy monkey like me. Anyone wanna teamwork? :D