Tuesday, August 29, 2006

Bukit Tinggi Paintball

I got my first taste of paintball war game at Bukit Tinggi, and it’s pretty amazing. As a guy I think I had always had a thing with guns and combat, imagining myself as a commando or sharp shooter. Paintball is fun, exhausting and had quite an adrenaline rush, but pretty expensive as well.

Charlie's Beloved Helpers

I had to wake up freaking early (5 AM in the morning, it had been a long while since I last did that), and I was told later the time had been postponed to an hour later (and no one told me about it; no one look out for my back anymore). Anyway, we meet up for breakfast and 16 of us drive up to Bukit Tinggi. Bukit Tinggi is just 5 km away from the Genting exit from KL, and the sign board is pretty obvious.

We wore our worst cloth and shoes, as we don’t want to spoil the good ones. We have to register with using IC, and we get our gun (with a number on it), a mask and a hand band to indicate our team. Long sleeve shirt/pant, vest and throat protector can be rented. I think long pant is a must (we could bring your own), and their long sleeve is pretty thick and useful. We could do without the vest and throat protector. We go through some briefing, learning that the mask should be on at all time, shouldn’t shoot each other within 30 feet distance and safety first. We bought 3000 extra bullets for our game, which is barely enough for 16 of us in a 4 hours session.

Brothers and Sisters, armed yourself

After a few round of target practice, the first game we had is Capture the Flag (CTF, reminds me of the half-life mod). 2 teams are separated by a border, and we need to rush to the front line to get our flag and return to the base. The trick is to shoot down 1 or 2 person at one side, den only rush for the flag (not too early, neither too late). This game needs a balance of offense and defense. Tang is on offence, a quick runner and a valuable asset for the game. Kenny is quite offensive as well, but perhaps not as valuable. As for me, I stick with defense and do supportive offense.

Capture the Base requires one of our team members to reach the enemy base, and is more favorable to defensive (unless you have a quick runner and element of surprise). The trick is to shoot down a few defensive guards on one flank and rush. This game is more exciting, and quite stamina demanding as well (it is pretty tiring to duck and run, especially when I am tall). Anyway, some evasive maneuver and rolling would help, though I didn’t try that.

Lastly we went for Vietnam Game, where the US team is on offense and Vietnam is on defense. As we had learned from history, the game favor Vietnam. The US need to rush in, capture a hidden flag and bail out. We put the flag on top of the tree, so we can shoot the sucker who tries to climb up and get the flag. Basically the US team had no chance of capturing the flag, thus the only way to win is to kill all of us. The US team all came in through the front, 1st focus on the left flank, den they shift a few to the right flank during the 2nd half, but all of them got creamed with minimum casualty on the Vietnam side. I only get some actions after 15 minutes (waiting is tiring) and manage to ambush a few behind the bath tub and bushes.

Basically, I could only think of 2 ways the US team could win. 1st they need the element of surprise, send 2 person around the Vietnam base and come from the back (they have to travel through some pretty thick bushes, sacrifice, guts and stealth mode required). The US shouldn’t attack too early, as Vietnam is allowed to hide in houses and had an eye at the top tower in the 1st 10 minutes. Opportunities arise after 10 minutes, where the Vietnam team must leave their houses and tower, and can take on offense (which they probably won’t, as it is unfavorable). The front assault team act as cover and decoy, and probably could move the bath tub on the ground as moving shield while pushing forward. The 2 person should sneak from behind and freeze everyone from left and right flank simultaneously. Of course, this strategy needs lots of coordination and some guts, and would probably work very well when used for the 1st time. If the US team wins, it would be such a satisfaction with great bragging right for life.

In the last game of Capture the Base, the enemy team manages to bring down 2 of our defensive guard on the right flank and rush in. Me and tang rush to stop him from the left flank, but unfortunately both our gun got jammed and luck was on their side.

End of War

Paint ball is a whole lot of fun, extremely exhausting with a whole lot of bruises, blue black and some blood (not kidding). And quite expensive too, our game cost us around RM 150 per person for around 7 rounds and 4 hours of play time. Perhaps another game next time, after I made enough money for it.

War Comrads, Battalion 88

Photo Link: Mich's Multiply

Friday, August 25, 2006

Yet Another Productivity Challenge Delay

Last week I gave myself another Productivity Challenge to churn out a good quality web application in the shortest time possible. Among the insane list of things to be finished in 6 days, I only manage to complete 2 and included a lot of stuff which is not in the list (it is not that they are not important, just that it kinda slip my mind).

The first thing I tackle is the feature to allow users to contribute, comment or review. It seems reasonable since I already had the interface to display them, so it’s time to have an interface to feed in the data. While working on this, I have to complete Div folding since I don’t want the data entry screen to obstruct the information display (a toggle button to show and hide the data entry screen). But one thing leads to another, as I need users before data entry. Thus I need to create a user table, which require an User Signup module, which require an Account Activation module, which require ACL for access control and Captcha to counter bot spam, and also a log in and log out module, not to mentioned “I forgot my password” module. Before I could finish my first task, I have to complete all these things under the hood of User Management. Finally I manage to complete my first Comment module just a few minutes ago, and still have Contribute and Review to go (but it should be easier from now).

Day 5-10
  • Comment Module
  • User Management Module: Signup, ACL, Captcha, Login, Logout, I forgot Password, Account Activation (Dropped)
  • More CSS
In between, I found that there are 3 tasks which are extremely time consuming
  • CSS and cross-browser compatibility
  • Learning the CAKE PHP Framework’s in and out when using more and more of its feature
  • On the go bug fixing and testing
CSS is really quite a beast and more of a nightmare when it involves cross browser compatibility. I can only care for IE 6 and Firefox 1.5, and I wonder how it looks like in Safari and Opera. God bless ...

Sometimes it can be quite an annoyance when the new framework lacks good documentation, but luckily the groups is quite active and I can still drill into the codes to find what I want at times. The framework is still young, but promising, though the adoption rate is still considerably low and the future is uncertain. I still have some difficulty finding the right way to do things, figuring how to access certain information and have to build my own module on certain tasks.

I think I read somewhere testing and bug fixing should consist of 70% of the overall time of the project, where coding is just 20%. I do agree the process is extremely time consuming and inevitable, perhaps it’s time for me to adopt some automatic testing tool, at least some unit testing.

So, how much more time do I need to finished the web application for 1st BETA. Probably around 10 days (or more). But lets push the limit slightly, as I would like to complete it before my Gunung Charlie climb next Friday, and I am busy for the weekends with Paintball War. Minus my computer teaching class, I have around 3 days to get the rest of the list up. Maybe not complete the whole things, perhaps until a satisfactory state which allow seamless users participation and contribution.

Next 3 days
  • Comement
  • Review
  • Contribute
  • Submit Links
  • Submit Pictures

Monday, August 21, 2006

My 1st Road Accident

With so many accidents happening around KL and so many accident stories which you heard before, have you ever wonder when will be your turn? Or it had already happened to you?

I have my first major taste last weekend with Mei Ru in my car, and quite a scary one. I was taking a round-about on the outer circle, and a motorcycle hit me on my right as he was assuming I am going to take the turning out. I was shocked with the loud bang on m right, and saw him continue skidding and fall off on the pavement. I was stunt for a moment, and was then awaken by the motorist cried for help in pain.

I get down from my car and approach the man. He is still conscious, but in pain. The first thing which came to my mind was to call for an ambulance, so I check out how was the man’s injury. I call 999 and asked for an ambulance, and then 2 motorcyclists stop to help. I check the man’s injury, and another help to move his bike up to the pavement. Then I thought perhaps it’s better if I sent the man to hospital myself, since he could still move. I cancel the ambulance call, and ask for direction to the nearest hospital, which I was told is General Hospital. I ask the motorcyclists to lead me there, as I am not quite sure of the way, but they said there are still busy with work. We move out after I get a brief direction from them. I think I missed a turning out of panic and got loss again. We asked for a driver’s help at a traffic light for direction to General Hospital, and the kind man decide to lead us there. While on the way, the injured man call his uncle and I called for sister for help and advice.

Soon we reached the General Hospital emergency ward, where there is a critical and non-critical section. The man is categorized as non-critical and has to be seated to wait for his turn. I can't park outside, and have to find my own parking somewhere around the hospital vicinity (I wonder why there isn’t reserved parking for emergency case? Perhaps too many accidents happening everyday and it’s too common until no special treatment for parking can be given). I asked Mei Ru to accompanied the man while I look for parking which are full most of the time, thus have to illegal-park slightly.

When I went back to the ward, the man is still waiting there. It seems like for emergency case, firstly the nurse will check your wound, then you have to register, given a number and wait for your turn with the doctor. We are 7 numbers away, but it took us 90 minutes before we get to see the doctor. There are about 30-40 people around us. There is a sign there which said the standard acceptable time is supposed to be 20-30 minutes, but luckily the man’s injury wasn’t serious. His name is MI, who had been just in town for 6 months to look for a job. So right arm hurts, and have a few spot of scratches over his body.

So, his uncle and aunt arrive to check him out. They seem calm, as it seems his uncle had his own fair share of accidents. The doctor (he seems skilful and experience) check him out , sent him for x-rays, come back for 2nd consultancy, found a minor crack in his bone (not broken), send him for cement casting and collect some medicine. One thing good about government hospital is cost saving. In only cost RM 1 to register, the rest is free (including consultancy, x-ray, cement casting, medicine). It would easily cost more than 1K in private hospital.

Next, we discuss how to settle this incident. Do we want to make a police report and file for insurance claim (which is lengthy and painful), or we settled by a mutually agreeable sum. We went back to check the damage of his bike, which was extremely minor (my car damage more as he bang into me). His uncle demanded RM 1,000, and that amount is too much for a settlement, thus we have no choice but to make a police report.

Somehow, we arrange for a 2nd negotiation outside of the police station. Perhaps we both know how painful and lengthy the process of reporting and claim could take. He brought his cousins along for negotiation, where he had his fare share of motorcycle accident as well (we was so fed up with motorcycle accident that he decided to buy a car instead). We settle for a mutually agreeable sum, which some went for the motorcycle damage and some went for his pain. It is kinda sadden me to see him in such a state, so I don’t mind the little extra and make it easy for us. The shake hand in goodwill and make a written agreement, and end the day and close the case.

Based on the advice I get, it is only worth settling if it is RM 300 or less. Even if I am the guilty party, I shall be fined RM 150. The rest of the payment shall be settled by insurance, and I get to repair my car free of charge as well. Only things that suffer are the NCB, but the victim gets the claim as much as legally possible (from the insurance company, of course).

Frankly, I am not quite interested to find out which party is at fault. I am wrong for being at the outer circle, and he was wrong for cutting on the right side and knock into me. Of course we were more sympathetic which him as he gets hurt.

Anyway, I guess we are lucky in the certain sense in this case.
  • No one got hurt seriously, but it does ache us to see him in pain
  • We are good people with common sense, thus didn’t try to put blame on each other and try to resolve this issue in a civilized manner
  • Material damage could be resolved with money, and it isn’t too serious as well (someone told me problems which could be solved with money is not a problem, but I say that is given that we had a lot of money)
I think this incident will continue to haunt me in times to come. It was quite horrified to felt someone knock into you and see another person in pain. Luckily everyone is safe this time. I have heard of more horrifying experience, with bone sticking out and blood spilling continuously. Perhaps it shall change my feelings towards driving from now on.

I ask myself, how could this accident happen? My carelessness? His carelessness? Fate? Luck? The law of probability? The unsafe round-about? Perhaps a little bit of everything. Let’s pray for everyone’s safety on the road, for whoever next it shall be.

PS: Somehow, I felt thankful with my father for not letting me take a motorcycle license - it is a smart choice. Though motorcycle is cheap, cost saving and convinient, but it's dangerous.

Friday, August 18, 2006

Yet Another Productivity Challenge

Due to the overwhelmed success of my last self-challenge (Ahem!), I decide to give it another try. Since I am the boss, there is no one to watch over me except myself. But I can’t really trust myself fully, thus this blog post shall be my witness.

When I created MMW Property, I took 3 months or more because I developed a lot of the stuffs from scratch, including the Framework and UI (bad move). Now, with a new framework (quite up to speed now), using some free templates and reusing some of the existing codes, I should have better productivity and better quality of codes.

After MMW Property and Software, here comes MMW ProjectX. ProjectX should take around 3 weeks to complete, but I decide to throw in some challenges and make it 2 weeks (around 5 days per week). 4 days had passed, and I got the basic information page up with some pretty cool features. Now it is time to push it further and polished it at the end.

Day 1-4 (Completed)
  • Meddling with the new framework
  • Get the basic Information Page up
  • Playing with CSS the beast
  • Build a neat image viewer
  • Find a neat markup language
Day 5-10
  • Google Map integration
  • Javascript Tag Selector
  • Contribute/Comment/Review feature
  • Identify changes by user & date
  • Intuitive search feature
  • Main page design
  • Div Folding
  • URL Click Tracking
After Day 10
  • Data Mining & Data Entry
  • PR Work
Come to think of it, ProjectX is quite a beast to handle, sometimes it’s hard to keep things small and slick. Wish me luck to finish in time, as I still have a business proposal to rush for September.

Thursday, August 17, 2006

Malaysian need to feel safe and shoot the bad people

Denny Crane said, what does Americans want?
  • A safe home
  • Keep the money they earned
  • Shoot the bad people
  • Protect the people they love
I think Malaysians want that as well (at least I do). A safe place where I don’t need layers of iron grills and locks to protect the house, and neither should I worry someone would rob or snatch when I have a walk around. No tax perhaps, as we all want to keep all the money we earned. I guess we didn’t get to shoot the bad people as we are not allowed to carry firearms, but wouldn’t it be great to strike fear into the criminals rather than letting them strike fears into us. Protect the people we loved? I only hope we are capable of doing so in times of needs.

I guess this country pretty much felt like an unsafe place to live in lately, where there are fears among the citizen. Look around you:
  • Every house is grilled up with layers of locks
  • We have easily detachable handbags to keep yourself from being harmed by snatch thieves
  • We panics when we heard motorcycle sounds from behind
  • No one dare to have a walk too early in the day or too late in the night
  • Multiple layers of security is required for our cars
  • We must remember to lock our cars once we get in or get out
  • It is depressing to read newspaper with some many crimes and death happening
  • People are getting killed and raped in robbery incidents
  • More and more dead bodies are being found around the city
I guess we are in the defensive and haunted with constant amount of fear. We need to make this country a safer place to live, where our children can roam freely without us worrying about harms brought by others. We need to feel safe even though we forgot to lock the doors, we need to feel safe even when we don’t have fences and grills, and we need to feel safe when we have a walk with our loves one.

We need a safe country, and more happy news when reading the newspaper. We need to feel safe. We need a safe home, keep the money we earned, shoot the bad people and protect the people we love :)

Gunung Datuk: Quick & Steep with Nice Scenery

In preparation for the Gunung Charlie Trekking, we had a training session at Gunung Datuk near Rembau and Seremban (Direction is here). I somehow missed the alarm clock and didn’t wakeup on time until Tang gave me a rang wondering where I am. So we are late and have to resort to meeting them on the R&R along the highway.

It had been quite a while since my last Gunung Rajah climb, and I didn’t get to exercise much since then (so the stamina kinda deteriorate). Anyway, Datuk is a short and challenging climb, it takes around 2 hours to reach the top, but 1st half of the journey is definitely quite steep. Datuk literally take the breathe out of you, so it should be a good weekend training ground if you wish to build up your stamina for bigger climbs.

Rest and Makan!

Datuk’s mountain top is quite a reward as well. There is quite a large area of flat ground on top for resting and cooking. The scenic views lies on the rock platform, which you’ll have to climb further up with the help of ropes and ladders which is already available there. Since there might be a lot of people, do expect quite a lot of traffic jam (one way path). The view is quite magnificent, windy with a lot of openness. Beautiful greenery, rock platform and able to see some small towns afar. There is quite a few interesting spot to lay back and enjoy your victorious moment at the top.

Sex Predators

Rock Platform (Heaven is up there!)

The Peak and the 3 wise girls

Help!

I guess trekking had always been such.
  • In the beginning, you are determined to conquer the mountain.
  • When you start trekking, you start to wonder why you are here and wanted to give up.
  • Then you realize you have not much of a choice but keep going.
  • When you felt that the top is near, you are all charged up and rush forward
  • When you are up there, you finally get your much deserved rest and food (Reward No 1)
  • If you are lucky, there are some superb scenery up there (Reward No 2)
  • Then the feeling that you are on the of the world and have a nice nap (Reward No 3)
  • Then start packing and going downhill, and it isn’t as difficult as going up
  • Lastly, the satisfaction of conquering and didn’t give up (I ain’t no quitter)
  • Then you look forward to the next climb, thinking it would be fun (and totally forget about the pain)
Photo Links: Mich's Multiply, Mei Ru's Multiply

Tuesday, August 15, 2006

New Blogger in Beta: Support for categorisation!


After some rambling to find a better blog software because blogger kinda sucks, I found that my prayers had answered in an unexpected way. A new Blogger is available in Beta version! Somehow, I could always depend on Google, though they are quite slow this time, but better late than never.

What’s new?
  • Support for blog categorization using labels
  • Access control for blogs (think private blog)
  • A more intuitive layout and templating system (think drag and drop)
  • More feed options
  • A more powerful dashboard?
  • Dynamic Publishing (faster?)
  • And more (I’m not quite sure what’s more)
The new version is in kinda closed beta, so I can’t migrate yet until I am invited. Though I am allowed to create a new account and try out the new feature, but I am just not that enthusiastic. I just wanna make Blue Dragon better. Fingers crossed and hope for the best :)

XNA Game Studio Express: Easy and cheap way to build a game


Talking about the ever rising skill and resource requirement of game development, it might seem that Microsoft might have done something right for the game industry with XNA Game Studio Express. It is free and enables quick game development on PC Platform, and might support portability and distribution channel to XBOX 360 in the near future. Good news huh? Imagine building my own game and share it among friends easily.

I think this is quite a good move, giving a free and easy tool, and creating a community and sharing of resources for faster and easier development. It kinda bring a new life to Indies game developers, and hopefully a lot of weird and innovative game titles will pop up at the Xbox Live distribution channel to add more varieties to the genres and styles of games. I believe innovations shows out most frequently with Indies developers (though might not be polished), because they want and can afford to take risk.

I still remember the days where the Tribes 2 engines is offered at only USD 100, later renamed to Torque Game Engine and it help Indies game developers publish games with the help of GarageGames. I was so tempted to buy it and build a cool games with some friends, but I guess the project is still too huge for us to handle. Perhaps XNA could reduce the challenges and effort required in order to build a fun game.

What is XNA Game Studio Express?
  • A development IDE based on Visual C# Express 2005, bundled with XNA Framework, 3D tools, starter-kits and demo for easy game development on Windows and Xbox 360.
  • You can build commercial Windows game using the express edition, but not for Xbox (you’ll need the professional edition)
  • To develop, debug and/or play games on Xbox 360, you will need to purchase a XNA “Creator’s Club” subscription (USD 99 per year).
  • More FAQ.
The effort is still at its early stage, thus a lot of infrastructure is not ready yet, but the future looks promising for Indies developers, hobbyist and most of all, Xbox 360 and Windows.

Friday, August 11, 2006

Post-mortem of 4 Days Web Development Challenge


What started as Ruby on Rails challenge end up to be a Cake PHP projects. Nevertheless, my objective is met: a new software product showcase website MMW Software.

Let’s look at how I spent my time
  • Day 1: After meddling with RoR for 1 day, I decide to ditch RoR because it is not quite suitable for shared hosting, especially with the one I am hosting with (perhaps the scenario might be different with professional RoR hosting like TextDrive or DreamHost).
  • Day 2: Decide to follow my hunch and get on Cake PHP, and the baking is fun and hassle free. The basic tutorial is pretty good, but the overall documentation is pretty weak (but there are a few useful venues for information hunting). PHP Cake is very much like RoR, pretty much lightweight and flexible.
  • Day 3: Trying to get my hand on some free templates for layout and CSS (CSS and DIV is quite a beast nowadays), and I manage to find some minimalist theme. I tried the get the more complex corporate theme running, but they are quite a headache to convert. I still need to get my hand dirty with some CSS work and design, quite time consuming though. Create the material and graphics, where most of the time is consumed here (content is king, yeah!)
  • Day 4: Try to get a Javascript image viewer running, with spell checking and proof-reading of my content. Reconfigure Cake PHP setup again for better structure and extensibility. When everything is done, setup the new sub domain, transfer everything up, configure and set it to production mode, and it is running within minutes. And remember to put it the Google Analytics code as well, just for the fun of it.
That’s about it, with 1 day wasted, 1 day working on new framework and 2 days on content creations and implementation. It’s not bad at all. I kinda grow on PHP Cake, though it isn’t really great, but lightweight and flexible.

I’ll touch more on PHP Cake as a framework, and why Ruby on Rails didn’t work for me.

Time to move on to something bigger, something more exciting, something more time consuming, haha.

Thursday, August 10, 2006

Boston Legal: Alan Shore & Danny Crane fighting to do the right thing


Boston Legal is the latest TV series which captured my attention, perhaps with some wittiness like Ally McBeal. But Ally had too much whining, yet still intriguing at times with the help of Richard (Dick) Fish and Ling. Anyway, Boston Legal is witty, yet it had depth and brought up some of the most interesting topics, and nevertheless entertaining and fun to watch (ignore the plain looking program logo, it's a deception to stop you from getting the best: seek and you shall find).

Let’s do some introduction before I dwell to deep, for those who don’t know what Boston Legal is all about. First, we have Alan Shore, a witty lawyer who can do the most outrages things at times and yet be logical, but he had the thing to uphold the truth (or at least, his conscience). He is confident, smart, fun and could be rude and too straightforward a time (which turn out to make things quite interesting). Then we have the legendary Denny Crane, who seems like a successful and skillful old man who looks only at money at this stage of his life. Yet at times, under the provocation of Alan Shore, he might get back to become his old self, in a stealthy way of course (he got a reputation to uphold, yet he got his responsibilities to his law firm to make a profit).

There is this episode where a drug company is sued by one of their lab test volunteer, who claims she is wrongly discharged from the test. But the truth is, the drug company had done something wrong, and they wanted to cover it up by retracting those tests. The main scientist told Alan Shore about the truth, and Alan encourage her to blow the whistle (tell the truth; betray her company who had done something wrong). Denny Crane on the other side discourages her, as the drug company is a big client and he want do buy a fishing plot with the money earned. So, Denny and Alan had a gentleman arguement.

On the day of trial, Alan put knife in Danny’s pocket and picture of Saddam Hussein in his brief case to stop him from attending the case (Denny was stopped at the security entrance), and that Alan could questioned the witness and lead her to tell the truth. As a counter measure, Denny pull the fire alarm to stop the trial. Both of them were fined 50,000 for their childish act by the court. Denny get to question the witness instead of Alan. But Alan kinda mentioned something about conscience, and what a real Denny Crane should have done. Everything was going smoothly as planned, until the last moment, Denny repeat the same question to the witness, asking her to repeat her stand in a truthful manner, for God, for Truth, for herself, for Denny and for Alan. At last she told the truth, and Denny acted surprise as if he had no idea of such surprises (an act to save his butt, yet keep the conscience intact).

At the end, Danny and Alan sit down at the balcony, with cigars in their ears, wondering about how good it had been to do the right thing, and sometimes it might not be easy to do it. “We looks good together”, is what they said.

Sometimes, of all the things we do in life and work, could we actually keep our conscience intact and do the right thing? Or are we a mindless drone who works for profit and follow orders? Between a million dollar and doing the right thing, which one would you choose? Such as in life, although we are working for money all the times, perhaps there are just something more than money. I don’t believe we are here by chance to accumulate physical wealth, perhaps it is just how we choose to journey through our life. I believe God did give us something, freewill. We are the once who choose to excercise freewill or not (talking about our responsibilities, obligations, ethics, interests, etc)

Monday, August 07, 2006

The Ruby on Rails Challenge

In order for me to pick up Ruby and Rails fast and start developing something useful, perhaps I should put up an exciting yet achievable challenge (as long as I am not too optimistic again). How about to learn RoR and build a simple website to showcase my software services within 5 days (due date is this Friday)? In fact it is just 4 days, with some of it gone to my computer lessons with the children, product support and dancing class.

It took me about 4 months to complete Malaysia Most Wanted, with prior knowledge of PHP. Of course, with part of its time spent in Framework Development, System Design, UI and Data Entry as well. My initial target is 3 months, and with a much bigger target. Perhaps I am thinking that I am not very productive with PHP and my current framework, as it seems to be too time consuming, I do need a framework (perhaps develop one of my own is a mistake, but my choices is limited at that point of time), a stable and simple framework, powerful yet flexible kinda framework (too much to ask perhaps?). Anyway, I need it to be simple so that I can get it up to speed fast, and I need it to do what I need it to do.

So, at the end of the days, a framework should increase my productivity, and hopefully help me to build a better web application. Anyway, experience had taught me that I should never build something big with a new learned language or framework (a lot of mistakes and stupidity are going to take place). Thus a product showcase web site is small and simple enough.

Upon success, hopefully I could finish my next web application project within 2 weeks to 1 month period.

A Revolutionary Game Idea

Today I have the urge to build a game. Not just any game, but a revolutionary idea, something that is totally different from industry standards, and it is supposed to be simple and fun, addicted yet not painful, a real pleasure to explore, and play for sake of enjoyment, not to compete or win. Weird? But it is the kind of game I am looking forward.

My list of memorable favorite games include Civilization, Romance of the 3 Kingdoms, SimCity, Star Craft, Pirates!, Diablo, Shattered Galaxy, Master of Orion and Counter Strike. I got a chance to work on Windows C/C++ and DirectX in my first job, thus I had dream of game development and had frequent Gamasutra and GameDev.net. After a while, the game industry got saturated with many game companies close down or work on franchise or movie title, and game development cost had skyrocketed and innovation kinda stalled because the risk is too great.

Somehow I decide that it is impossible for me to get a job at a reputable game companies (most are overseas, except GameBrains and Pheonix), and the Indies path is more than I could handle. Besides, making a game require multiple skills, from programming to art, music/sound effect, 3D, physic, network, game engine, game design and etc, too much for a single person to handle. I put the idea behind for a while and move on with more commercially viable ways to make a living with my skills.

Anyway, my unfulfilled dream had come back to haunt me. Perhaps rather than building a great game the conventional way, why not focus on making a simple and fun game, with more focus on game play rather than technology and graphic. It sounds feasible, something small and fun. Before getting myself into the action of designing, perhaps I should lay down the fundamentals of what actually makes a simple and fun game? What make it simple and what makes it fun? Suddenly I thought of what makes me like a specific game, and what I don’t like about them at the same time. Wow! It seems like this is going to be a long article, and I’ll try to cover some grounds.

The Fundamental Philosophy of Simple and Fun Game

Point-based Experience and Leveling System is flawed
Though Diablo is a hack and slash game, but there is a few things very addictive about it, and one of it is leveling (and goodies collection as well, more on that later). As you kill more monsters, you collect more experiences, you level up, become stronger and get more skills and bonuses. In the beginning, you level up quite fast and that is a lot of fun. But after a while, the effort to level up get exponentially harder, with more time is spend on mindless hacking with less reward in leveling up.

This is the natural law of game where they have to make it harder for you to level up because the growth chart is limited (limited skills and bonuses). They have nothing much to offer you if you grow too fast, thus they have to slow down your growth. It wouldn’t make sense to create more powerful skills or bigger bonuses, as that would dilute the perceived values of these rewards. Thus the longer you play, the more time you need to spent and the reward is less.

We like leveling because it leads to a stronger character (self enhancement), opened to better skills (new things to try and explore) and enjoy better bonuses (more goodies to keep under out belt), thus we continue to do mindless hacking to gain experience. I don’t actually like the mindless and repetitive hacking, I just like leveling and its reward. But the game can’t let you level up naturally without doing anything, as that would make it not worth playing.

If I don’t actually like mindless hack and slash, why not replace it with something I like to do? What if I let you do whatever you like, where you can choose to slash monster, craft weapon, explore jungle, save princess, clean the town, heal people, sell newspaper, design building and etc. Not only you get to do anything you like, you actually get rewarded without bias by doing it. It doesn’t mean selling newspaper will gain less experience than rescuing a princess, as there isn’t a point attached to our action. We shall scrap the idea of point-based experience system. We want people to do what they like, not doing something with the highest reward point.

So, what do we get from doing what we like? What is the reward, besides having fun doing it? What if we say the reward is actually the opportunity to explore new things, try something slightly different everyday (or the same if you wish). Let’s say you like to be a sword craftsman, to make sword for people. What do I get or enjoy out of making sword?
  • You get to design you very own sword, or even name it.
  • You get to craft sword based on customer demand, and become more popular as the customer get satisfied with your work
  • You need to find the raw materials through exploration, trade or even through chemical mixing
  • A master craftsman you met in another city might teach you a skill in metal melding or alloy making
  • A strange traveler might give you the formula to cast a cast an ancient sword
  • An old friend might give you the treasure map to find a magical crafting hammer
  • You might be appointed as the Royal Sword Craftsman by the King
  • You could attend the best crafting school in the region, or learn from a drunken old craftsman at the back valley
  • You could invent a automatic crafting machine to automate monotonous crafting task
  • You could compete in the annual Sword of the Year competition
While you passionately do what you like to do, we open up more opportunity and events for you to try out. We don’t penalize you for wrong choices, as there aren’t any wrong choices. Perhaps the point-based system is being replaced with the Passion System. As long as you are passionate doing the things you like, we shall reward you with more opportunities to try out more things.

The monotonous Hack and Slash action had been replaced with the task of your choice, in anyway you like.

The rigid Point-based Experience System had been replaced by your passion in doing anything you like, without being penalized

The difficult Reward of Leveling had been replaced with more opportunities to explore and try new things, surprises in everyday life

Perhaps what where are trying to offer you is freedom. Freedom to do anything you wish, without need to worry about gain or loss, just follow your heart. We also give a system-less environment, where you don’t play to beat the system or get more points. You just play because you like what your are doing. We provide you with the opportunities to explore and participate in events. It is like you can’t predict what is going to happen next based on your action, but you do it anyway. You’ll get good surprises from time to time, or just purely enjoy the activities which you like.

That's all for today, it's getting too long and out of hand with just one fundamental philosophy.

Anyone interested to create a new kind of simple and fun game together?

Sunday, August 06, 2006

Hualian Eco-friendly Village House (花蓮綠色革命)

TVBS broadcast 一步一腳印, 發現新台灣, which showcase new and noteworthy things about Taiwan. Today the introduce something of my taste, a very unique nature-friendly house at a very scenic village, Hualian (花蓮) - 花蓮綠色革命

Hualian is supposed to be a very scenic village, one of the most beautiful nature areas in Taiwan. But the building at this place isn’t very scenic, as the villagers are poor thus building some very simple and ugly looking houses. The local government want to revolutionize the buildings here by matching the scenic nature with eco-friendly village house. They employ experts from Taiwan’s university to design some eco-friendly houses which suit the taste and function of the locals. They encourage them to build such houses by providing subsidies in an effort to beautify Hualian and improve the quality of life.

The eco-friendly house not only looks greats, but they are actually natural as well. First of all, it is supposed to be a village house, so it’s cozy and small. These houses are
  • Safe - protection from earthquake, typhoon, fire, etc
  • Comfortable – utilizing the nature, architecture and human tech
  • Eco-friendly – eco-friendly material, rain collection, water-saving garden
  • Healthy – natural light, natural ventilation, solar power, indoor sun bath, natural cleanliness
  • Energy-saving – utilizing the nature, power-saving
  • Ecology – ecological pond and drain, animal friendly
Basically they combine eco-friendly technology and good architecture to build a village house at a very scenic place. No only it feels good to live in the house, but the surrounding is quite natural as well. No fences, open concept, with farms and pets, and of course, star gazing at night.

Perhaps these are the kind of living I am looking forward to at some point in my life. No more concrete jungle and skyscraper. I want to be surrounded by nature, and live within in, with the support of good technology of course. A scenic place, a friendly neighbourhood and high-tech architecture and design, and most of all, eco-friendly.

Saturday, August 05, 2006

Pirates of the Caribbean: Does it pay to be good?


Pirates of the Caribbean: Dead Man's Chest

So you still remember the scene where Captain Jack Sparrow (Johnny Depp) seduce Elizabeth Swan (Keira Knightley) to ditch Will Turner (Orlando Bloom) and follow him instead, proposing the excitement and temptation of trying to do something spontaneous, something bad, something where she don’t usually do (luring her to the dark side). Then Elizabeth Swan counter offer him instead, proposing the equal excitement and temptation to actually do something good and perhaps, it might be something that a bad-ass-no-honour pirate had been longing to try all these while.

In the end, Jack Sparrow did do something good, a thread which is not part of his selfish self. When the Black Pearl is attacked by the Kraken (bad-ass giant octopus that just wouldn’t die after being shot by cannon and bombed), Jack Sparrow took the only life boat and row away, leaving all his friends and crews. But he did come back in the end, to save them and provide a safe passage to abandon ship. He actually did try to do good for once, and guess what happened to him? He got screwed.

While they are escaping to the life boat, Elizabeth Swan decides to give her dark side a chance. She seduces Jack Sparrow, kiss him and chain him to the boat. She says, “Sorry Jack, the Kraken is chasing after you, not us”. She left Jack Sparrow to die on the boat and persuade the crews to leave.

So, the one who try to be good get eaten by the Kraken in a stylish manner, and the one learning to be bad get to save her own skin. I wonder what kind of message is Disney trying to send.

Though at the end everyone weeps for Jack Sparrow, and Elizabeth Swan is haunted with guilt. They decide to embark on an adventure to save Jack Sparrow with a new captain (who is this guy anyway?). But is real life, dead people don’t come back to life again.

So, you wanna end up like Jack Sparrow or Elizabeth Swan?

The sunshine after a stormy week? Priceless

Doesn’t it feel good when you clean up all your old mess and ready to start something fresh and exciting? Today I finished the last of my freelance projects, and ready to embark on some pretty interesting projects next week.

The past weeks had been quite rough on me. I was bugged from countless support calls for a similar problem, but it was my fault actually. Not really my fault though, it’s VB6’s optimization option fault. I add in some SHFileOperation API to perform folder copying (I tried very hard not to use FileSystemObject due to some deployment complication), and it works fine on my machine but not on my client computers (sounds like the usual support dilemma).

After countless emailing and patching and logging and some luck, I found the source of the problem. But the code work perfectly on my development environment, then it crossed my mind that perhaps it was a compilation error. I ran a compiled copy of program and Walla, the little devil show itself. I figured perhaps is the optimization causing some kind of unforeseen complication, and I was right. Not a single line of code change and the problem is solved after numerous occurrences of puzzling and headaches. The moral of the story? Always try with the compiled version when you do support.

Then I have my obsession in finding the best blogging tool out there and worries about the wonderful Ruby on Rails might be as slow as a snail and I might have to pickup a PHP frameworks out of a dozens no winner options. Just based on guts feeling, I might choose CakePHP just because it is stable, simple and powerful, and ditched Symfony PHP due to its complexity and over powerful module hammering effort (I didn’t actually tried any of them, just based on the reviews I read).

Anyway, I decide that since I am not a problogger, the “perfect” blogging tool wouldn’t be too important to me (the free Blogger + Blogspot will do, though they irratate me at times). Phew! I finally can let the obsession go, but I might be tempted with Typo which runs on Ruby on Rails.

Finally, thanks to the technicians at my web hosting company, Ruby and Rails is finally running on FastCGI and performance is acceptable. Thus I am more prone to try out Ruby on Rails rather than picking up a PHP Framework. Why? Maybe RoR marketing effort is working on me, or just because I wanna try the magic bullet and thinking that productivity miracle might happen. Or I hope to join the ranks of web hackers, using obscure language such as Ruby, Phyton, Perl or Lisp.

Anyway, I am just feeling good today. With the finished backlogs (though countless support, bug fixing, enhancement and negotiation would still come back to haunt me soon) and new challenges ahead, I just felt refreshed.

For a better tomorrow!

Friday, August 04, 2006

The Problogger Craze

Nowadays, there seems to be awful lot of self proclaimed probloggers, either it sounds cool, or they actually thought blogger=problogger, or they hope to make a living out of blogging.

What is a blogger? Someone who own a blog and writes.

So, what makes a problogger? Hmm, pro=professional, so it means you got to make a living out of it. So, it shall be your full time job, and it should be earning you at least RM1K per month (the very minimum for you to live a descent life in Malaysia).

What about a part-time blogger who earn less than that? If you do part time, you are an amateur, not a pro. If you can’t make a living out of it, you aren’t really pro, aren’t you? Or at least, a lousy pro.

So what if everyone in the blogosphere knows me and I am very popular? Perhaps that makes you a celebrity. Are you a pro then? Perhaps when you cash in on your popularity.

If you are earning a descent leaving through income from blogging, perhaps that would make a problogger, else, you are just a blogger. I mean blogger is a writer; you become professional when you start to earn money from it.

Do I want to be a problogger? Hmm, I am afraid I am not cut to be a problogger, though I like writing at times, and it would make me happy if I manage to make some pocket money out of it.

What do I need to do to become a problogger?
  • Some says you need to buy yourself a domain name and install some proper blogging tool such as WordPress or Movable Type (I only have the free Blue Dragon)
  • Some says you have to write everyday at a consistent rate, creating value and write whatever is in demand or pay well (I guess I didn’t fare quite well in this, I only write when I like on what I like)
  • Master the skill in optimization of Adsense Dollar, or any other online advertising provider (I am just trying out and earning a few penny a day)
  • Perhaps good English as well (mine is just average, with lots of easily spotted mistakes once I post, and others which I have no idea what’s wrong with them)
  • And perhaps visit the problogger shrine frequently and learn everything there (I had read 2-3 most popular posts though)
  • Figure out a way to get popular and drive more traffic to your blog (Hmm, what marketing plan?)
So, I guess I am far from being a problogger. Though it sounds like an interesting job, but I think I am better at making my money either through employment as a programmer, or work on my freelance projects, or teach computer lessons to children. Though my ultimate dream is to be a tech entrepreneur, but that is still a long way to go.

My business need to be my passion. Though I enjoy blogging, but it isn’t really my passion. Perhaps programming is, though frustrating at many times.

Programming Language Market Share and Trend

As a programmer, haven’t we sometimes wonder what is the most popular programming language out there? Or perhaps we are more interested with which get the highest pay or demand. I guess we know Java and .NET is the up and coming corporate standard, while C/C++ will always be there for performance, and PHP, RoR, Perl, Phyton, Lisp will be for open source, small business and of course, real web hackers. And of all languages, Javascript is becoming very important as web application becomes more demanding, popular and powerful.

Though we have a rough figure, but wouldn’t it be nice to have statistic to reinforce our thoughts? (Taken from O’Reilly Radar - Programming Language Trend). Anyway, these stats are based on O’Reilly book sales.


Java seems to be the big thing, looking at the tons of books on the shelf. Sometimes I think Java is just too huge, or tries to cover so many areas and do so many things. Why is Java loosing out? Perhaps it is getting too big and too enterprise and confusing? VB is loosing its grip, probably due to the introduction of .NET. But I still like VB 6’s simplicity and high productivity, though sometimes could be irritating and being less powerful. C/C++ is steady, but seems to be declining. Could it be due to C#? PHP is going steady, Perl is loosing out, SQL going up slightly and Phyton going down slightly. Ruby and Javascript seems like up and coming, due to Ruby on Rails and Web 2.0 hype.

I am a believer of C/C++, VB (could last a few more years), PHP and perhaps, Ruby on Rails.

---

Another way to look at Market Share: Programming Language Trends via Google

Thursday, August 03, 2006

A job where you get to hire your own boss

Talking about utopian work culture, this is probably the most extreme. And of all places, the company is in Brazil. And what do you get to do? Choose or sack your boss. No kidding!

The CEO is Ricardo Semler; the place is Sao Paulo, Brazil. And the Company is Semco, and what do they do? (Taken from positivesharing.com)
  • Employees set their own working hours
  • Employees choose their own salaries
  • All meetings are voluntary and open to everyone
  • Employees hire their own bosses
  • HR has been almost abolished, because leaders need to be able to treat their employees right themselves
  • All employees rate their bosses twice a year and all ratings are published
  • Employees choose which leader they want to work under
  • Employees choose which Semco office they want to work out off
  • Employees can take early retirement, meaning they get one day a week off in return for working one day a week after they retire.
I mean, is these actually possible and happening in the real world, a real company? We are talking about not only flexible hours and self-determined salary (though I doubt they will give in if your request to too absurd), but the best part is, you get to hire your own boss and rate them. Perhaps there is some logic behind these reverse-boss concepts. Worker are the main productive force of the company (value creation), while the boss’s job is to provide an optimum environment for optimum productivity. If the boss can make the workers happy and motivate them well, then it should increase productivity. So, the worker gets to choose a boss who they are happy with to get better productivity. Solve the problem of complaining how sucks the pointy hair manager is ;)

Another interesting question, “If you can work on weekends, why can’t go to the movies on weekday morning?” And people at Semco get to do just that.

Again it is stated, management’s most important task is not to do anything, do not interfere. Trust the process, trust the people, and just make sure things aren’t go awry wrong. So, it is good to see your boss not doing anything but playing golf? Yes, and only if he is aware of what is actually happening and everything is under control.

The next time you complaint about how sucks your boss or your company is, write in to Semco and you might just get lucky.

Ricardo Semler says: "The purpose of work is not to make money. The purpose of work is to make the workers, whether working stiffs or top executives, feel good about life."

Ruby on Rails (RoR) Deployment/Hosting could be a Pain

After recovering from my obsession to find my “Perfect” blogging software, today I fall into another obsession to find a “Perfect” web framework.

I have been following the buzz of Ruby on Rails (RoR) for quite a while, and recently had been getting my hands on a few tutorial and instant fallen in love with it. RoR is perceived to have high productivity gain, with an almost complete suite of web framework (Rails) and backing of a powerful and clean new age language (Ruby). It gave me quite a good impression, though I had not developed anything serious with it (neither had I master it), but I am planning my next project on it.

One major drawback of RoR is deployment. First of all, there aren’t many web hosting company out there support RoR, thus it won’t be as cheap or as common as PHP. Luckily my web hosting company is quite innovative and supported RoR few months back, thus it kinda motivate me to give it a spin.

I have no idea how to deploy a RoR application, thus I copy my entire application folder to the server and that didn’t work. Luckily the web hosting guys is quite helpful and gave me a shell account (more power, muahahaha).
  1. Login into my shell account, and go to my web folder
  2. run “rails app_name”, using the same name as my application
  3. Configure database in config/database.yml
  4. Replace the entire app folder
  5. Go to http://server/app_name/public and a Ruby page is shown (since my application is not properly configured yet)
  6. To test whether RoR is working or not, just go to one of the controller and test it out, such as http://server/app_name/public/recipe/list
I know, the above configuration is not secure and does not look elegant, but I just wanna make sure RoR can actually run on my server. But I found that RoR on standard CGI on Apache is really slow as compared to my PHP application on the same server. Thus I research a bit and found FastCGI, thus I tried to configure it but fail (return me with some 500 Server Internal Error). So, I am stuck and hopefully some handy technical support guy would be able to help me.

Upon further research, I found RoR is actually quite messy in terms of deployment and hosting. In order to have reasonable performance, they have
  • FastCGI - language independent, scalable, open extension to CGI that provides high performance without the limitations of server specific APIs
  • SCGI - a project to replace CGI and FastCGI with a simpler protocol to both implement and manage
  • Lighttpd - a fast web server that is very similar in speed to Apache 2.0 MPM-Worker on Linux
  • Mongrel - a fast HTTP library and server for Ruby that is intended for hosting Ruby web applications of any kind using plain HTTP rather than FastCGI or SCGI
This is actually bad news, with so many choices out there, each using different technology and approach, and no clear leader in sight. Frankly, they should have just continue with the approach of apache module such as FastCGI (or perhaps SCGI), where apache had a large install base and perform reasonably well. By introducing a new web server to compete with Apache will kinda dilute the market and create more branches, thus causing more massive confusing options in the market. It seems like supporting Apache is a reasonable way to do this, such as what PHP did. With more branches and technology options, it is gonna create havoc and confusion for RoR deployment.

At this moment, RoR deployment and hosting is not straightforward and neither well supported. RoR could be fast in development, but it might have drawbacks in performance and deployment/hosting.

As such is the life of bleeding-edge technology, there are bound to be lots of technical obstacles and non-standardization. Competition is good, but there is lots of casualty during the war. I still remember when I get my hands on PHP 5.0.0 and start coding on it, and yet couldn't find any cheap web hosting company which supports it. Thus I revert everything back to PHP4 which is well supported and supposing run faster.

There is a price to pay for bleeding-edge technology, go there only if you are well prepared.

---

Forgive me for my slight ignorance and lack of knowledge. It seems like Lighttpd and Mongrel can work together with Apache through its mod_proxy_balancer module. So, it depends how well your web hosting company configured RoR for you, or how difficult is it for you to configure the optimum setup for your box. Anyway, there seems to be a growing trend to ditch Apache and use Lighttpd instead, which might be bad news for market stability

Anything which worries me is RoR performance, it may be fast to develop, but it may not run fast. RoR with Apache + CGI is definitely is no no, as it crawls and abviously slow. I am not quite sure about Apache + FastCGI, it should be slightly better, but there seems to be better (and more complicated) options out there.

Framework Performance for Symfony on PHP, Rails on Ruby and Django on Python should be quite a good read.

Wednesday, August 02, 2006

Dusun Paradise a.k.a D’Paradise in Melaka

D’Paradise is an eco-argo tourism, mainly consist of a large orchard with some animals in it. Like a typical Malaysian attraction, it had many BIGGEST, FIRST or ONLY attractions under its belt, such as World Largest Cactus, Pumpkin and Monkey Cup ‘Pitcher’ Collection.

I followed my ex-company’s trip to the D’Paradise in Melaka, with RM 10 for the bus ride and RM 50 for the entrance fees (pretty pricy). The main attraction is supposed to be an all you can eat fruit buffet, and of course to see some animals and trees as well. Our bus had some ignition problem in the morning, thus everyone start cam hoaring for an hour or so.

D’Paradise is about 30 minutes from Melaka Town, and there seems to be a lot of fruit trees within the compound of every house well before reaching the orchard (indeed an orchard area). The entrance isn’t very attractive, except with a few native like statues and some sculptures, and some fake fruit trees as well (why uses fake ones when you have a whole lot of real ones). Most pathway are covered by Passion Fruit canopy, where they grows on the wire netting to provide a natural shades (a pretty good idea, as long as it doesn’t rain).

Human Sculture

They introduce us to a garden, with some plants which doesn’t look very interesting and I totally forgot about what I saw. Then we went on a buggy (a small electric car, they have 2-seater, 4-seater and 6-seater), where they have driver to drive us around (our package include thus buggy transport, and a buggy driver). The buggy ride is pretty fun, and it would be better if we could drive it.

Ghostly Garden

The next stop is the fruit buffet, where we have Durian as the main course, with mangoes teen, rambutan, honeydew, dragon fruit and etc (less than 10 types). The Durian is pretty good, and everyone is rushing for it. The fruit buffet is not in the default package, but our package includes that and there was others people there looking at us enjoying our food. This place is an native performance area as well, where the have the Sabahan and Sarawakian Tribes performing, not really my kind of performance though.

Our visit continues to the rabbit enclosure, land ‘robber’ crab from Christmas Island (the largest land crab), cactus farm, orchid farm, ostrich enclosure, Deer enclosure and grape farm. Worth mentioning is the cactus collection is indeed huge, followed by a small pretty lotus pond. There is lots of orchid as well, but didn’t quite get a good look at them. Most interesting is still the deer, where we get to feed the deer with rambutan.

Bunny MeiRu

Cactus King & Queen

Then we are backed to the Waikiki Restaurant for lunch, where the food is expensive and lousy. Somehow we missed a lot of attractions here, either it no longer exists or too small to take notice, and the guide had done a lousy job. I didn’t get to see the following
  • Must-See Rare Bird Park (I think we pass by it, and someone told us there is nothing much in it)
  • Quail (a kind of bird) sanctuary
  • Mesmerizing bamboo
  • Man-made Bird nest sanctuary
  • Pineapple farm (probably we passed by it)
  • Crocodile
  • Pumpkin
  • Butterfly sanctuary
  • Rare ant-eater (pangolin) sanctuary
  • Tropical melon
  • Tortoise sanctuary and bee farm
We didn’t visit
  • The campsite
  • Camp David Island (some super expensive and exclusive resort)
  • Native jungle walk
I think it shall be much more fun if we could drive the buggy (RM 50-70 for rental) or rent a bicycle (I think is around RM 7), but we were following our group thus didn’t wonder off by ourselves. This place is huge, and it should be fun to go around and explore a bit by our own. Perhaps the entrance fees is too pricy as well, RM 20 is more like it. I suspect they are loosing some of their animal collection. Frankly I would only rate D’Paradise 2 stars out of 5, and would add another 1 star if I did cycle around the place.

The Buggy Team

Our trip ends right after lunch, and others in our groups doesn’t seems interested to explore further (the common problem with such a big ground from with diverse preferences). After a period of hard bargain and negotiation, we finally head for Jonker Street for a meal before heading back to KL.

Quite a day, though it could be better :)

Picture Links: Meiru's Multiply, Fun Chiar's Camera, Mich's Multiply

Tuesday, August 01, 2006

Loc8tor: Gadget to help you find lost objects


Haven’t we always misplaced our keys or mobile, and looking for them up and down before leaving the house (worst still when we are running late). Haven’t we got out of the house, then only we realized that we forgotten something? Or aren’t we afraid that we might drop and lost something on the way? Fear not, Loc8tor is here: it helps you to locate your lost items.

I think this device is really cool and useful. It use audio and visual cue to guide you to your lost items up to 183 meters away. It had a nifty green LCD to point to the correct direction, and probably output some sound when things get nearer as well. With the Loc8tor plus, you can even setup an invisible safety boundary just incase any of your items or human leave the boundary, and vibrating alarm is activated and item identified. Good for children going astray or wallet being pickpocket.

A good present for forgetful friend perhaps?

The original review is here.

Review: Movable Type 3.3


Movable Type 3.3 vs. WordPress 2.0.4
I can do a wild guess on why Movable Type is loosing popularity as compared to WordPress.
  • Movable Type is slightly harder to install for me, as it involves CGI, Perl and Permission Setting (the newer generations are more familiar with PHP, and PHP is more straightforward and require less configuration and setup)
  • Movable Type administrative menu look slightly more cluttered and old styled (harder to find what I need instantly), while WordPress is clearer and easy to pickup.
I guess it is all about the entry barrier and learning curve, where WordPress excel at both.

Yes, Moveable Type should be more powerful once you get it up and running. You could actually administrate a few blogs using one installation. And by default, they generate static blog pages upon publishing (faster page serving, yet require republishing every time there is an update, somehow like Blogger). Semi-dynamic page serving is available as well upon some tweaking.

Both depends heavily on plugins for some extra or popular features, and the number of options out there for both are sufficient, yet the quality of these plugins maybe of question.

A review on Blogging Tool WordPress is not ready for Prime Time.

Movable Type
  1. Is a decent blogging tool
  2. Should have a minimalist theme (the default is)
  3. Support categorization
  4. Support Pretty URL by default
  5. Support Hassle Free Commenting
  6. Had CAPTCHA plugins, but they are unsatisfactory in a certain sense
Captcha
Captcha is the name of a CAPTCHA plugin, which require the Authen::Captcha Perl module to be installed, but my web hosting company doesn’t have it, and won’t install it for me.

SCode
SCode looks pretty promising at 1st, then I notice a few annoying inconveniences. When you fail you CAPTCHA test, it won’t tell you that you failed you test, but rather prompt up some generic error instead.

I decide to dwell into the code of this plugin though I know nuts about CGI and Perl. I come to the conclusion that it’s a case of laziness or due to inferior Movable Type API. When SCode verification tests fail, it returns fail to notify Movable Type of failure. The problem is, it doesn’t send an error message over, or it doesn’t have a way to sent an error message over (thus a generic error message is display instead). I check the source code of a few other verification modules to see how they handle the output of error messages. Somehow, there don’t seem to be a proper way. Some guy just uses the Log API and output the error messages and exit, but it doesn’t look elegant nor have a link to go back to previous page.

“Too many comments have been submitted from you in a short period of time. Please try again in a short while.” This message surely doesn’t seems helpful in telling the users he or she had failed her CAPTCHA test, and they might start wondering about something else or get frustrated. I just cannot accept this.

Another glitch seems to happen when you navigate back and forth too much, and the CAPTCHA verification doesn’t seems to work in certain instances.

Comment Challenge
Found another plugin which is not exactly image verification, but it does help to fight bot spam. The idea is quite interesting. You can type in a question, and write an answer for it. If the users can answer the question matching your answer, then it is a pass. The weird thing is, they only allow you to have a set of question and answer. Having an option to support 10 sets at least is more like it.

Anyway, the plugin works pretty well (functioning well, doesn’t means it is a good choice), and show a custom error page with no back link upon verification failure. But somehow I just didn’t feel good and didn’t use it either.

Conclusion

WordPress is easier to setup and easy to use, and looks good.

Movable Type is harder to setup (unless you are familiar with CGI and Perl), but seems to be more powerful and professional looking.

Both have tons of plugins and themes, yet I question their quality and usability. Somehow it might seem difficult for these plugins to keep up with the releases. They should package more plugins as the default package and test them well before releasing a new version.

Obsession with Problem Solving

Today I had a case of obsession with problem solving. After meddling with WordPress for hours and feeling disappointed with it, I was not satisfied with the outcome and decide to pursuit further with Movable Type instead. Though I am already feeling exhausted and wasted a lot of time, but somehow my inner voice tells me the solution could be found just around the next corner.

The feeling is kinda funny.

Though setting up a blogging tool is not really essential, but I do it as well.

Though it is perfectly normal for the plugin to fail, but I open up the source code to evaluate the code though I know nuts about Perl and CGI.

Though it is no big deal for the plugin to misbehave slightly or respond in a not user friendly manner, but I want to fix that as well.

Though it is common not to have a certain feature, but I want it in as well.

Though I should have stop and go for dinner, but I couldn’t stop as well.

Am I a case of perfectionism, or mere obsession with problem solving? Perhaps in my mind, I believe that a good blogging tool should have categorization, hassle free comment and CAPTCHA verification system. When one component is not available or not working properly, I felt quite disappointed as I thought those were the basic stuffs. It should be there by default, but it isn’t. I want to fix it, but it is too much effort and it just isn’t worth it. Yet, I couldn’t give up and continue with my pointless relentless pursuit. I should have moved it, yet I couldn’t. My mind is locked into dwelling on the pointless problem solving. Perhaps it is the belief that the solution should be there, yet making it hard to accept when it didn’t work as per the minimal expectation.

I actually spent the whole day trying to solve a non-critical problem (started out of curiosity and thinking it would be fast and simple), which I shouldn’t be doing. I think I have a serious obsession problem, and should learn how to let go of things and move on. It sure is exhausting, seems like a pretty pointless day chasing shadow.

Perhaps I have too high of a regard for WordPress or Movable Type, or my minimal requirements are not realistic, or my standard on usability is too much to ask for.

It is okay to be relentless in problem solving, only if the problem is worth solving.