Aug 21 2014

NFL Pool

Published by under General

My annual NFL Survivor pool is located here!

Comments Off on NFL Pool

Apr 24 2008

VB.Net: Word Search Generator

Published by under Programming

Previously I wrote a long post explaining how I created an algorithm to generate Word Search puzzles. I used the wonderful perl scripting language, which is typically my language of choice for utility programs.

Since that time I undertook the task of recreating the same logic in VB.Net. Here is my finished product. Reading through the previous post will describe the logic, which I attempted to reuse as closely as possible. I’m not going to walk through any of the code here, but you can view it in the source files provided in the zip file. Whereas I find perl more fun and cleaner to program in, the resulting user experience from the VB.Net environment is sooooo much nicer. You’ll need to have .Net 2 installed to run this.

One response so far

Apr 10 2008

In praise of … Beyond Compare

Published by under Technology

Everyone has their favorite utility programs, those trusty apps that we just can’t live without. For me perhaps at the top of the list is the outstanding file comparison program, Beyond Compare from Scooter Software.

There are certain tools which are so well designed and implemented that using them becomes like second nature. Beyond Compare is one of those tools for me. Beyond Compare allows you to compare directories of files and highlights for you the differences. You can define what constitutes a file difference (i.e. text comparison, binary comparison, timestamp comparison), you can choose to ignore certain files which you don’t care about (i.e. maybe extraneous thumbnail files), and you can tailor what is shown to you (like all files, just mismatched files, just orphan files, etc…). Once file differences are located, you can sync up the files, or you can open a file comparison window that shows exactly what the differences are. From there you can pick and choose parts of the differences that you want to move from one file to the other.

Another great feature is that you can script your actions, allowing you to automatically sync file systems. Just create a scheduled task in Windows that invokes a given session of Beyond Compare, and it will completely sync two file trees in the background, using all the logic that you defined for that session. Also, the file systems you are dealing with don’t have to be just on your network; you can compare/sync to an FTP site as well.

I’ve used Beyond Compare daily for years to handle code promotion in a 3-tier development environment. It’s always worked quickly and flawlessly for me. Beyond Compare is not a free tool – but it is so affordable that buying it is really a no-brainer. Thanks Scooter Software for creating such an outstanding tool!

Comments Off on In praise of … Beyond Compare

Mar 26 2008

Speaking of Digitizing

Published by under Technology

I ran across a site which may be the one to address the need for online census records which I wrote about recently. It is and it uses a flash interface to view scanned documents.

They’ve gone through the effort to photograph every name on the Vietnam memorial, and attach biographical information to each one. Very impressive use of technology. Can you imagine digitized images of all past U.S. census forms, hyperlinked to a master genealogy database, maintained by crowdsourcing? Perhaps unrealistic because of disagreements of who is really an ancestor, but then again no one thought Wikipedia would be able to work either.

Comments Off on Speaking of Digitizing

Feb 12 2008

Programming Sudoku

Published by under Programming

I’ve been reading a copy of Programming Sudoku by Wei-Meng Lee.

Wow – what a great book! First off, it contains a very clear explanation of creating an algorithm to solve Sudoku. Since I’m interested in creating puzzle solving algorithms, this is naturally something I want to read! I wish I could explain things as well as he does. Secondly, it serves as a great starter project for someone new to Visual Studio 2005 and Visual Basic. I really enjoy programming books that have a single project as their goal – and this one is the best I’ve seen. It makes it so much more useful than a book that contains nothing but disjointed code fragments.

One response so far

Jan 04 2008

Google, Digitize This

Published by under Technology

Google has been working for some time to scan library books and make them available online. But I would rather have them spend their time on something else. Scan in all census records and marriage records from the 50 states. This would greatly aid genealogy research.

The 1880 census is already online. With other censuses, there are pay-services which can supply them. Why should anyone have to pay for it? Our taxes conducted the census-taking, it should be available to the public for free. I know they are available for free at certain libraries/locations, but this is the internet age. We want them free online. Besides the once-a-decade census, being able to get public records of marriages from every little courthouse in America would be great.

If there are privacy issues, then only scan in data from before 1900. That covers most of what family-tree researchers are looking for anyway. Thanks Google!

One response so far

Jan 01 2008

Credit Card Feeds

Published by under Technology

RSS feeds are great for keeping up with breaking news. Would it be nice to use one to keep track of your expenses? Huh?

What I envision is your credit card company provides you with a feed for activity on your card. Maybe the feed address would be something like The random string at the end is unique to you, but knowing it doesn’t tell you anything about your card account number or identity.

You would subscribe to the feed with bloglines or google reader or whatever your favorite aggregator is. Then as soon as a charge gets posted on your account, a item shows up in the feed with the date, amount, and (possibly) vendor. So if you’re sitting at your desk toiling away while your significant other is out spending money with abandon, you are going to know about it right away. Plus if someone has stolen your card number and is buying a flat panel TV at your expense, you are going to see the fraud immediately.

I know there are security concerns with this. Would having a randomized feed URL with no relation to your account be enough? I doubt it. Anyone could randomly search for feeds and then see some info, but there is nothing there that tells anything about the person or the account. But…I’m sure someone would start scraping all the feeds they could find to deduce spending habits, and then try to do something with that data. It would be better if the RSS feeds would require a secure login in order to read them.

I started thinking about this after one or our credit card number got stolen and someone charged some items to it (all online purchases). We caught the problem when the paper statement came, and got the money back. After that episode I starting logging in to the online statement from the credit card company and looking through the charges more frequently. But that is not very fun, especially if you are many cards. If all your credit companies gave you an RSS feed, the process would be very easy and likely it would cut down on fraud.

One response so far

Dec 23 2007

perl: Word Search Generator

Published by under Programming


I enjoy doing puzzles, and find myself picking up these variety puzzle magazines to give myself something to do while sitting on the beach during vacation. And eventually I end up thinking about how they create these different types of puzzles, and wondering if I can come up with a way to create them myself.

Everyone is familiar with word search puzzles. A grid is filled with seemingly random letters, and a list of words is given. Your job is to find the words hidden in the grid. In this post I’m going detail a program to generate word search puzzles. The language I used is perl 5. Features of the program will be:

  • will run locally on a PC; from the command line (this is not a web application)
  • will generate puzzles of various sizes
  • words can be hidden in various directions
  • output will be a PDF file, which can be viewed or printed

As a disclaimer; my word search program is undoubtedly not the most clever way of solving this problem. My perl code is not the cleanest, nor is it the most reusable. And there are others who have already solved this problem – as usual there is a perl module out there that does it already! But there is a certain level of satisfaction that comes with thinking through it yourself – which was my motive here.

If you want to run the program yourself, you’ll need to install perl. You’ll also need one extra perl module; PDF::Create. You will find that ActiveState perl has good tools which allow you to add this module.

In the following discussion I’ll show pieces of the perl code, with comments. You may want the full source code itself. Here it is, right-click to save as.

  • – the perl source code (rename to
  • animals.txt – a sample configuration file

We will start by working out the logic needed….

Pages: 1 2 3 4 5 6 7

3 responses so far