Into the Desert

I finally received Combat Mission: Afrika Korps (CMAK) and the companion book The Battery Commander, His Batman, and A Cook.  Woohoo!  While the game was installing, I checked out the book.  Excellent!

The battle where the book's title came from was that of Combeforce, a hastily formed group of 2,000 British anti-tank and artillery crews along with riflemen to protec them, trying to block retreating Italian 10th Army.  That's right.  2,000 men facing an army without even a single tank.  But then armies usually retreat in a line so they had to face only the forward elements and most of the armies were on road-bound vehicles (stretching for miles and miles).  As the story went, the last Italian tank was knocked out by a gun manned by the commander of 106th Battery, his batman, and a cook.

And that was just one chapter in the book.  While I enjoy reading calm accounts of battles like Rommel's classic Infantry Attack, stories like this really evoke the smell of the battle through quiet understatements and dry humor.  Only bad part about the book was that only 12 of the battles in the book had CMAK scenarios.  Darn.  I am going to browse through SMAK scenarios repositories to see if the missing scenarios have been created by other CMAK enthusiasts.  I doubt it though because you need more than just stories to create battle scenarios.  At the minimum, you need order of battle (OOB) which lists the number and types of units involved in a battle.

Firing up CMAK briefly, I remembered why I stopped playing CMBO (Combat Mission Beyond Overlord), the first volume of the series.  It was the damn artillery spotters and 88.  A well-positioned gun can stop significantly larger forces dead on its track and sometimes the only way to knock them out is with artillery or aerial bombardments.  But whenever I moved a spotter into position where he can see the gun, he gets fired on by the gun.  How can they someone far away hiding behind a bush?  Binocular reflection?  Rubbish.  Add to that the devastating power of 88 made me so fruistrated with a Bocage campaign that I stopped playing for a month and then forgot about the game.

With CMAK, unrealistic spotting ability of gunners will make some sense since there won't be many bushes to hide behind in.  One can hide behind sand dunes or bury one self in like commandos do but it's just not the same as hiding in treelines or bushes.  Anyway, I am looking forward to my desert battles for many evenings to come.

More on Eclipse RCP

I had problem building a working RCP application, so I put together the RCP Text Editor Example to see how to configure a RCP app.  If you want to build it yourself, instructions from the main RCP page at Eclipse site is below.  The page is actually a view into CVS, so I expect/hope the real main page will appear in the near future.

  1. Download the RCP Runtime build from the Downloads page, and extract it to a folder such as c:\texteditor-example.
  2. Download the RCP text editing component zip and extract it to the eclipse/plugins subfolder.
  3. Download the texteditor plugin zip and extract it to the eclipse/plugins subfolder.
  4. Replace the eclipse/configuration/config.ini file with the appropriate config file from the texteditor plugin. For example, on Windows, copy config_win32.ini file from org.eclipse.ui.examples.rcp.texteditor_1.0.0 plugin to eclipse/configuration and rename it to config.ini.
  5. Run the eclipse executable: For example, on Windows, run eclipse.exe.

Step #4 is the key step while the rest are just downloading and expanding files.  After step #5, you should see a barebone text editor.  On Win32, the RCP text editor has disk footprint of 6MB and memory footprint of 28MB.  In comparison, NotePad2 has disk footprint of 540K and memory footprint of 4MB.  SWT apps I built before had substantially smaller footprints than the RCP app, but still significantly larger than native apps.

So what do we get for roughly ten times the footprints?  Plugins!  You can put together a fancy standalone IDE for Perl, Python, or PHP by packaging plugins from the EPIC, PyDev, or PHPEclipse projects with RCP.  You'll need to pour some sweats to glue things together because those projects are probably not fully RCP ready yet.

If you are not building an IDE, don't need IDE like level of extensibility, or there aren't many plugins useful to your product, you are probably better off skipping RCP and building on top of just SWT instead.

X Prize Foreboding

The Wired story of the da Vinci team's left me with more concerns than hopes and dreams.  With SpaceShipOne, I didn't have any doubts that they would succeed.  Premonitions?  While the level of excitement and activities spurred by the X Prize, particularly the success of SpaceShipOne, is great, I fear a few people will be killed before the deadline at the end of this year is over.

Old Wargames

I like wargames but haven't played one in more than a year.   So I searched around the office and found my copy of Talonsoft West Front, a classic wargame from several years ago.  Then I remembered that I needed to patch it before it will run on Windows XP.  No problem.  I'll just hop over to Talonsoft website and download it as I did last time I had an urge for a nice tank battle.  Oops.  Talonsoft merged with some company so I ended up at some other game company's website where I couldn't find patches for old games.  There wasn't any mention of the old games either.

Discouraged, I googled far and wide but came up empty.  Aren't there archives/graveyards for old wargames where I could find patches for old games?  One bright spot among old war games is SSI's Steel Panthers, which outlasted its original publisher and still popular among wargamers.  I never like Steel Panthers because it's graphics sucked and it's gameplay was overly tedious.  Besides, I have some fond memories of playing Talonsoft wargames with opponents by e-mail.  Now I will have to survey the latest wargames to see if there is one worthy playing.


If you are into realistic wargames in full 3D, the Combat Mission series from is what you should be playing.   There is now three volumes in the series.  Volume one, the classic, covers the Western Europe theatre (Americans and Brits against Germans).  Volume two, Barbarossa to Berlin, covers the Eastern Europe theatre (Russians against Germans).  Volume three, Afrika Korps, covers the Mediterranian theatre.

I haven't played the second volume, but I think I'll give Afrika Korps a try because while the Eastern Europe theatre is where most massive tank battles took place, the desert is where the really fun tank battles are.  An added bonus is the release of Afrika Korps Companion Book which not only includes details about 150 small-unit battles but the author has converted the battles into Combat Mission: Afrika Korps game scenarios!  Whoa!

If you haven't played wargames before, replaying a historical battle with a stack of history books, maps, and photos about the battle offers absolutely fantastic experience.  Only problem is that history books typically cover only the large and famous battles and give only a line or two about small actions like the ones detailed and simulated in the companion book.  If you can appreciate the amount of time and effort the author must have spent to write a book like that, the book is an absolute steal IMHO.  Woohoo!  I am going to order the game and the book right now.

Here are some screenshots to tease you.

Switched to Firefox

I finally made Firefox the default browser because Firefox 0.9.1 cleaned up the mess introduced in 0.9 and there are at least two unpatched IE vulnerabilities. Besides, I predicted a while back that Firefox marketshare will be near 20% by the end of this year so I figured I would add to the number as well. 🙂


Urgh. It's not so easy to switch over after all. I didn't realize that my own blog editor was IE-specific. And a large number of websites I frequent are also IE-specific. For example, many Korean websites use Flash extensively and in-your-face style so I have to use IE to make them goaway.

Integration with Explorer shell is incomplete also. When I click on a shortcut, Firefox launches but I also get an error dialog underneath, something about link not found. Outlook integration sucks too. When I click on a link in a message, I again get an error dialog along with the Firefox browser. It complained about link viewer, so I specified Firefox as the link viewer and ended up with two Firefox windows. So I switch my e-mail client to Mozilla Thunderbird. More on that later.

When IE was my default browser, Firefox was the browser of convience for sites whose fonts were too small and international sites. Now that Firefox is my default browser, IE became the browser of necessity because many sites are just impossible to use without IE. *sigh*


Eeeek!  Firefox vulnerability this time.  It's a big one and very simple to exploit but, thankfully, just as easy to patch.  Whew.

Awkward Skunk

It's time to reveal a part of my personality.  I don't like telling people what to do, but I do.  I don't like sticking my neck out for anything, but I find myself doing so for no reason.  It's no wonder I often feel like an awkward skunk.  Hey, it's not me.  It's just my nature.

Eclipse Workspace Corruption

I had to recreate one of my Eclipse workspace again.  Last time, it was because Sysdeo plugin was acting strange.  This time, it was the IDE itself getting confused (either JDT Core or UI module).  As usual I used QuickFix to import a class I referenced but the class still could not be resolved.  When I rebuilt the project using an Ant file, everything compiles perfectly which confirms that it was a JDT bug.  But my rebuilding of the project made JDT recheck all the classes and, since it was confused about the class I imported, it marked all the classes that used the imported class as having errors.

This would have been bearable if the confusion got cleared up on restarting the IDE.  Nope.  For some strange reason, the IDE persisted this confusion into the workspace.  So I rebuilt the workspace and the problem went away.  Sheesh.  I'll bet 3.0.1 will be released sooner than the scheduled September time frame.

TDD for ADD and Chickens

I like holding amusing thoughts.  Here is one.  Suppose you are incredibly talented and creative but you have the attention span of a chicken.  And you have to cross a road to, well, get to the other side.  TDD helps you do that by laying down a line of green beans across the road.

In midst of my first TDD run, I paused a little too long and ended up refactoring a little too wide and too deep.  Although the extent of the changes I made were about what I am used in non-TDD refactoring sessions, I immediately lost track of what I was doing.  It was as if I ran though several areas of Quake and getting overwhelmed instead of clearing one area and one monster at a time.  Restoring the green bar took a while and the fun/beat/rhythm dropped.  Once back in safe territory, I kept each step small and the fun was back.