Stirring the Pot

Visual Studio 2005 is still a hot topic.

For whatever reason, one of my blog postings from a year ago, Microsoft Visual Studio 2005, has recently received two more comments (not counting the typo) supporting my general position that Visual Studio / Visual C++ 6.0 is still a better development environment under Windows. My feelings have not softened since then, except that using XCode 2.4 under OS X really does make one appreciate some of the features present in MSVC.

Today, I had to do some support for a project that was originally built (by a major company) under MSVC++ 6.0, and which I had upgraded to add new features. Most significantly, I added language support for Spanish, Japanese, German, French, and Italian, in addition to the original English. The new programmer has been tasked, apparently, with rebuilding the project under VC++ 2005 Express as his first experience with the product, and it is a chore. Having described certain steps under the former environment, and then having to “translate” the procedures for the newer compiler showed me, again, the unnecessary complexity of the interface. On the [not] other hand, though, this complexity is much slower as well.

Within the last couple of months, I also read an article at Dr. Dobb’s entitled, Microsoft Cautions Developers About Visual Studio/Vista Conflicts. The gist of the article is in the first paragraph, “that Visual Studio 2005 won’t be fully compatible with Vista and that older versions of Visual Studio won’t be supported at all on Vista.” Brilliant. Of course, I have not been able to get Vista to install on a test system yet, so perhaps it makes no real difference.

Despite a few shining counterexamples, most of Microsoft seems to have lost focus on the reasons that Windows is the most prominent operating system: developers and users. Between the bloat and churn, there is also an arrogance, as though Microsoft no longer needs to even pretend that they are trying to do anything other than take our money. They still control the platform that provides most of my income, but things do change.

Once upon a time there was an invincible industry giant called IBM…

Happier Curmudgeon Day

An oxymoron, you say? Definitely.

Today is Curmudgeon Day, the most important and least meaningful holiday here in our household. All of my time is recorded as Out Of Office and I do whatever I choose to do, whether that be programming, playing games, sleeping, or posting on this blog.

Here is what I have written about this holiday over the past two years:

Traditionally, one aspect of Curmudgeon Day is deliberately not leaving the house for any reason. Alas, this year that cannot be observed religiously, but of course, that is exactly in keeping with the spirit of the day. Our Thanksgiving celebration ended with board games and lasted beyond midnight, passing from one major holiday into the next, and I had… no… chose to drive a friend home. We are also expecting a check at our post office box, and receiving money, rather than spending it, is also an honorable pursuit on this day.

Whatever you choose to do on this holiday Friday, please enjoy yourself. Play a game for me.

Happy Thanksgiving!

We wish for everybody to have a great Thanksgiving and/or Thursday.

Today is the most travelled holiday in the United States, traditionally for family gatherings. This year, we have opted to stay home with immediate family and a friend or two for Turkey Day, serving a large, and fairly common, meal of turkey and stuffing, ham, potatoes and gravy, green beans, and of course, cranberry sauce, with a raspberry pie for dessert. (In truth, baking that last item from frozen will be all I am allowed to do.)

Our tradition is for each person to briefly talk about what has made us thankful over the previous year, so here goes:

On the business end of things, I am thankful that our company is successful, with several projects in development, and especially thankful for these major game releases:

For the personal side, I am thankful that, despite a death and another serious illness in our extended family, my wife and children are all healthy and thriving, and very thankful that our family is strong and close in this last year together before our older son departs for college.

Now, we get to enjoy some good food (and listen to Alice’s Restaurant) at the start of the holiday season, before we wrap up our 2006 development and head into our end of year break.

Interesting tidbit: I am a direct descendant of William Bradford, Governor of Plymouth Colony, who arrived on the Mayflower and is credited with being responsible for the first Thanksgiving years ago. According to Wikipedia, I share that lineage with Hugh Hefner (as well as hundreds, if not thousands, of other Americans, I suspect).

Pretty Good MahJongg 2.3

The latest update for this excellent game is now available.

On Monday, Goodsol Development released version 2.3 of Pretty Good MahJongg, a unique solitaire game based on traditional Chinese MahJongg tiles. Of course, it includes tile matching layouts, as one would expect, but it also contains 55 other games. Many of these games are Solitaire variants played with tiles instead of playing cards, and all of these games were invented specifically for our title. There are also different types of puzzle games to play.

One can get more information from the web site,, or better yet, directly download the evaluation version.

Pretty Good MahJongg was programmed entirely by us, SophSoft, Incorporated, for Goodsol Development. More specifically, I am the only person who has written code for this game, with the obvious exception of libraries used. However, the primary library utilized is a private framework known internally as the Goodlib library, which we also wrote. This library is used in all of our work for Goodsol and it contains common code for handling tasks such as memory management, interface control, and image manipulation.

As I have written previously, Pretty Good MahJongg is the game of ours that I most enjoy playing for fun (as opposed to testing). Often when one finishes developing a game, there is an element of burn out, and the game is put aside for a while, if not forever. In the case of PGMJ, though, I never felt the desire to take a break from the game, and I still play it regularly for relaxation. The only other game on my quick launch menu is Most Popular Solitaire, in which I am simply playing, and winning, all of the FreeCell games in order. (As I write this, I am currently on game #3205.)

In my opinion, the sleeper category of PGMJ is the ‘Wall’ games group, which includes the flagship game, Great Wall, where one removes colored tiles by clicking on a group of two or more of the same color, as well as related games such as Cumberland, using the same gameplay mechanic but applying it in a deeper way. My personal favorite from this category is Wall Pairs, where one removes pairs of adjacent tiles of the same color. Because the player gets to select the two tiles, rather than just removing an entire group, this provides more opportunity for strategy. Almost every game of Wall Pairs can be won, and I have personally been able to beat the first 500 games (so far).

The other two games on my ‘Favorites’ list are Free Klondike and Short Spider. Free Klondike is a variant of MahJongg Klondike, which in turn is a tile version of the traditional (playing card) Solitaire game Klondike. In this variant, the player only gets one pass through the stock, but any tile can be played in an empty pile. Most games are winnable, and I have only found one game (#48) in the first 546 (and counting) that I could not win. Short Spider is a variant of MahJongg Spider which only uses 108 tiles, making it easy and relaxing. I have won all of the first 126 games of this variant (and the first 245 games of the standard 132 tile version).

Oh yeah… For those who just want a nice tile matching game with a good interface and plenty of features to make gameplay enjoyable, we have added many more layouts, including 10 that I created myself, to bring the total up to 280. Should this not be enough, the full version includes a layout editor that makes it very simple to create custom layouts as desired.

This is just one of several projects on which we have been working recently, so expect more announcements of releases, including some from the past, after the imminent (US) holiday and throughout the next few months.

Family Update

Things change fast around here.

After 11 years of adult leadership in (first) Cub Scouts and (later) Boy Scouts, my wife and business partner, Sherry, has decided to reduce her active role. She decided that it was time to resign from her position as Scoutmaster for Boy Scout Troop 2, and also to transition from her role as Charter Organization Representative for Cub Scout Pack 224/Marble Elementary School. She will remain an adult leader, working with Venture Crew 22, which involves boys and girls ages 14 through 21 but requires a smaller time commitment. This allows her to spend more time just with our family.

As it turns out, this change comes just in time. Tomorrow, James has another taping of QuizBusters, where East Lansing meets Eaton Rapids in the first round of the tournament. (East Lansing was in the last qualifying match and then ended up in the first tournament game.) At almost the same time, William has his first read-through for his role as Ralphie in a stage production of A Christmas Story. (Unfortunately, the script has not yet arrived, so a viewing of the movie will have to suffice for familiarization until tomorrow.) Thankfully, we both have the time to get them where they need to be, though we can each only watch one event.

This reminds me of an amusing idea told me by a parent who experienced the shock of going directly from one child to four by virtue of triplets. He said that parenting was like playing defense: with one or two, you can play man-to-man, but once you have three or more, you need to switch to zone.