Word Chains Kata Solution

I worked out a solution for “Pragmatic” Dave Thomas’s Code Kata 19 (Word Chains) in Java; it’s somewhat different than Dave’s published solution.

I’ve been watching PragDave’s Code Katas with interest, since I am also in the habit of occassionally solve a small, standalone programming problem just for the learning experience. Today I worked out a solution for Kata 19, Word Chains. I did this Kata the “pure” way, i.e. without looking at any of the discussion of solution approaches before coding. Here are the results (also on github). I wrote the code this time in Java.

Unlike Dave’s published solution, I didn’t precalculate adjacency lists; rather I took the more brute-force approach of scanning the word list at each step looking for neighbor words. In spite of that non-optimization, this still calculates the word chains for a bunch of examples in a few seconds (total).

I was curious how much of the program’s time is spent checking for neighbor words; this provided a good reason to try out a profiler plug for Eclipse, available on SourceForge. The profiler worked fine, and told me, as I would have guessed, that the program spends approximately 100% of it’s time looking at words to decide if they are neighbors (in the word-chains sense). Of course the usual optimization advice applies: it would have been actively stupid of me to optimize without measuring where the slow parts are.

Upcoming talk at SD 2004

I’m giving a talk on data handling in a disconnected mode appliction next year at SD Expo 2004.

I’m giving a talk on data handling in a disconnected mode appliction next year at SD Expo 2004. This applies to wireless / mobile applications running on notebook PCs, PDAs, even smaller devices like “SmartPhones”.

Details are here

Javascript Talk at St. Louis OOSIG

Notes from my OOSIG talk on JavaScript, a classless (prototype-based) OO language

On October 16, 2003, I spoke on “Objects without Classes”, the non-class-based object model implemented by JavaScript and some other OO languages. The (brief) presentation is available here:

Talk in Powerpoint format

The plain text of the slides (which is, frankly, plenty good enough) follows:

Continue reading “Javascript Talk at St. Louis OOSIG”

Wiki Talk at CCSL

On Oct. 14 gave a talk on Wiki technology, as a tool for faciliating collaborative content creation at low cost, at the Computer Consultants of St. Louis.

On Oct. 14 2003, I gave a talk on Wiki technology, as a tool for faciliating collaborative content creation at low cost, at the Computer Consultants of St. Louis. You can download the PowerPoint presentation:

Wiki PowerPoint Presentation: WikiCCSL.ppt

Or read the text of it:


Continue reading “Wiki Talk at CCSL”

Java / J2EE and .NET Talk

At the September 2003 Gateway JUG, I gave a talk on the similarities and differences between Java/J2EE and .NET.

At the Sep. 2003 Gateway Java User Group, I gave a talk on the technical similarities and differences between Java/J2EE and .NET, as well as the non-technical issues in adoption of each. The presentation is available for download here, as well as the plain text of it.

Java / .NET Talk PowerPoint Presentation: J2eeNET.ppt

In the past, readers have asked how I got the text of a powerpoint presentation in to plain HTML. This is a multi-step process, since PowerPoint itself generates graphic-intensive, frames-based HTML with limited, JavaScript-only navigation. PowerPoint lost the ability to generate more reader-friend HTML in recent versions. In its defense, the HTML it generates does a good job of capturing the exact look of the slides, which is very important to some users but not important to me; I want the plain text so that search engines can find it and any browser can read it.

The process is: Continue reading “Java / J2EE and .NET Talk”

PDA Application Walkthrough

Walkthough and screenshots of a PDA application development effort using the .NET Compact Framework, Embedded VC++, Embedded Visual Basic, Pocket Studio, and more.

This spring I created a site-inspection data collection PDA application for an Oasis Digital client. The first phase of that project was to build working prototypes of each part of such a system, in order to demonstrate what kind of application we will be able to create, and to bring my own skills up to date with current PDA development tools (my previous PDA work was a few years ago using the C/C++ Palm development tools). The prototype was a success, and led to a development effort for a system now deployed in production.

Along the way I learned a lot of things about the various tools for PDA applicationdevelopment, made a few dozen screenshots, and posted them here:

PDA Application Walkthrough