Unbeatable Tic Tac Toe – Rule Based Algorithms

May 19, 2015

Continuing my work with Java, recently, I developed an unbeatable Tic Tac Toe game in Java.

Tic Tac Toe Tie Game

Tic Tac Toe Tie Game

While you can find many such programs online, I think that I’m the only person to create the kinds of algorithms I have.

Coming from a database background, I implemented a number of database like structures in memory. An array list of remaining cells. A Decision Table. And a lookup table for intersections of runs.

Here’s how I did it.


Many Event Handlers:

Read the rest of this entry »

Java error: non-static method cannot be referenced from a static context

April 16, 2015

Recently, while writing a java program, I got the classic Java error:
non-static method cannot be referenced from a static context.

No doubt, other young java practitioners have had this error.

Here, I’ve laid out a simple program, with explanations, so that you can avoid the problem. Voila: Read the rest of this entry »

Review – Nikon CoolScan 5000 ED

December 7, 2014

For over a decade, while I went to university, and for a few years after, I owned and operated a photography business. At that time, cameras were film cameras, not digital. After a few years, I had a big collection of negatives.

In 2007, I bought a film scanner to scan some family pictures, the Nikon CoolScan 5000. It’s been fabulous to use.

Nikon Coolscan 5000 ED

Nikon Coolscan 5000 ED

Recently, I’ve been using it again to scan some more 35mm negatives and transparencies. The software is so intuitive, the results so good, and it’s such a pleasure to use, that I’m inspired to write about it.


Traditional Darkroom Techniques:

For those of you who have never worked in the darkroom, it’s a very laborious process. Read the rest of this entry »

Installing NEO4J on Windows 7

November 7, 2014

Installing and running NEO4J on Windows is a little different from installing it on Linux.

NEO4J has provided two options to install NEO4J on Windows. One version of NEO4J is a dumbed down version that includes the necessary Java, that comes bundled in an .EXE file. The other Windows version comes in a .ZIP file that more closely resembles a Linux installation.

With NEO4J on Linux, a correct version of the Java JDK/SDK is assumed to be installed, but not so on Windows. Java JDK/SDK installations do have a certain learning curve, and required reading, not suitable for some users.

And then there is Java licensing. Apparently, it’s ok to bundle to Java with an executable file. But it’s not ok for Neo4j to redistribute the correct Java JDK/SDK on NEO4J’s download page, and allow users to download it.

If you are serious about NEO4J, you’ll probably want to use the full blown Windows .ZIP version. For one thing, it follows the standard paradigm and navigation. You’ll get the full functionality. And, it’s not that difficult to use. Read the rest of this entry »

Some Great Software To Capture Analog Audio

October 30, 2014


Audacity Recording

Audacity Recording

I have a nice cassette deck that you would use with a stereo system and there are some old cassette tapes that I have never thrown out. Finally I’ve got around to copying some of these cassettes to files on my hard drive.

Here is a review of some software that I test drove on an old underpowered Windows XP machine: Exact Audio Copy, Wave Repair, and Audacity.        Read the rest of this entry »

MYSQL – Create CSV File With Fieldnames For Headers

October 19, 2014

Recently, I went to dump a MYSQL table into a CSV file, with the fieldnames in the first line of the file.




This simple enough in Oracle’s SQLPLUS, so I did some internet searches to determine the syntax.

Instead of the simple MYSQL syntax, I found a number of relatively complex solutions. Some involved MYSQL scripts, and others utilized Unix string parsing commands.

However, I came up with a much simpler solution using one simple MYSQL command:

Read the rest of this entry »

Installing Gimp on Redhat 6.4

October 4, 2014

Gimp is the GNU Image Manipulation Program. It is a freely distributed piece of software for tasks like photo retouching. I wanted to use it to crop photos, like Irfanview does so easily on Windows.

Unfortunately, like so many other software installations on Redhat Linux, the install was not straightforward and required overcoming errors. :(  Here’s how to install gimp on Redhat 6.4.

gimp - GNU Image Manipulation Program

gimp – GNU Image Manipulation Program

Read the rest of this entry »

%d bloggers like this: