Senior Software Developer at Copperleaf Technologies

Walking past the theatre yesterday, I saw they were showing

# THOR 3D

I laughed out loud, and continued walking.  But thinking back over the last year or two, I can make the obvious  observation that every movie titled

# <insert title here> 3D

is on the same intellectual plane as THOR 3D.  These movies are self-declared unintelligent!  Tough, perhaps THOR 3D deserves more Ds.  I propose this as a rating system for film festival lovers, and I think THOR 3D should be renamed to

# THOR 10D

Recently I caught the geometric bug from Matt DeVos, when he showed an open faced icosahedron made of sticks and elastic bands.  Since then most of my free time has has been occupied by attempts to improve the icosahedron (the model of it, rather).  What began with a little model made of toothpicks and elastic bands, has evolved into hundreds of dollars in materials and tools, a special tool for making the icosahedron (and other shapes), and several sculptures.

The sculpture in this video, which is a bird feeder at the time of this writing, is three shapes in one.  The inner two are an icosahedron, which I built first, and a dodecahedron, which I attached to the edges of the icosahedron for support.  They are permanently fastened together, their inside is painted silver, and their respective outsides are painted red and black.  The outer icosahedron was built later, and then opened up to insert the dual pair.

I'm not sure what is going on with the optical illusion, but everyone I have shown the video to has trouble seeing that the outer and inner parts are often spinning in opposite directions, even when I'm in the shot moving them with my hands.

Enjoy the video.  Your comments and encouragements compel me to build more, and larger ones.

Last fall I made Tomoku into a book with 80 pen-and-paper puzzles based on the web game at http://tomokupuzzle.com.  Four months later I have not found a market for it, and I am looking for the lessons I need to learn.

The book is professionally printed, and the instructions are brief.  Many people compliment me on the "look" of the thing.  But it only goes skin deep.

Some people read the instructions, and then demonstrate to me that they misunderstood everything I wrote down.  Tomoku is a puzzle I find very intuitive, and some people understand the rules perfectly.  Perhaps you can suggest some clarifications?  Here are the instructions as they appear in the book.

Those who understand the rules think the concept is interesting, but they aren't hooked by the game.  Why is sudoku interesting?  Or other logic games?

I still believe that the Tomoku players are out there, and either I have not found them yet, or I have not communicated with them correctly.  Perhaps the pen-and-paper format is not the right one?  Maybe it would do better as a mobile app or a physical board game.

I want to hear what you think!

Here are two videos explaining Tomoku, with instructions on making a game board for it.

Enjoy these nice and peaceful sounds of seaside camp fire and gentle waves.  I recorded 10 minutes of sound from the ocean and fire during a February camping trip on the Juan de Fuca trail, on Vancouver Island, BC, Canada. It was beautifully peaceful and a wonderful sound to sleep to. I hope you enjoy it as much as we did.

I just discovered commandlinefu.com, and it is very helpful for learning command line stuff.

I wanted a command that would show me duplicate files on my computer and found this:

http://www.commandlinefu.com/commands/view/3555/find-duplicate-files-based-on-size-first-then-md5-hash

For the lazy, the command given is:

find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | \
xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate

What does it do?  it finds things that are files and are not empty and prints their size in bytes.  It sorts the output from that in reverse numerical order, and then tosses anything that isn't duplicated.  So now, we just finished "uniq -d" and the output so far is a list of unique numbers representing file sizes that were found more than once.  We take that list and turn it into a list of arguments, and for each of these sizes we search the whole (goddamn) directory tree for files of that size.  We print the full path to each one.  Now we hash each one with md5sum and sort the resulting list so that files with the same hash will be consecutive.  Finally, we eliminate any files in the list with unique hash values and write the ones that are repeated to the standard output.

Veeeeery nice... But I have a mac, and these commands are implemented differently on my system (which is FreeBSD?).  So here is the modified command:

FDUPESIN=/Volumes/LaCie/testfindup; MINBYTES=8 ; MD5S=md5file1; MD5SNFILES=md5file2; DUPFILES=dupfiles; find $FDUPESIN -not -empty -type f -ls | awk '{print$7}' | grep -e "[0-9]\{$MINBYTES,\}$" | sort -rn | uniq -d | xargs -I{} -n1 find $FDUPESIN -type f -size {}c -print0 | xargs -0 md5sum | sort -rn >$MD5SNFILES ; awk '{print $1}'$MD5SNFILES | uniq -d > $MD5S ; grep -f$MD5S $MD5SNFILES >$DUPFILES ; cat $DUPFILES It does more or less the same thing. Here is a bit of explanation for the uninitiated. The ; separator is just a separator so you can run all these commands in one line. The | separator takes output from the left and feeds it as stdin to the one on the right. The > symbol takes the stdout from the command to the left and writes it to the file on the right. The$ symbol precedes a variable.

Ok, here goes the breakdown:   The first 5 commands there are variable assignments, then we look in the directory tree rooted at $FDUPESIN, listing all things that are non-empty files. awk '{print$7}', prints the 7th block of non-white characters from each file listing, which happens to be the size of that file in bytes.

grep -e "[0-9]\{$MINBYTES,\}$", tosses all files whose size has less than \$MINBYTES digits (10mb, in this case).

We sort them and find files with the duplicated sizes and check the md5sums as before.

Now uniq on FreeBSD doesn't have the -w32 option, so we can't compare the first 32 characters (just the MD5 sums).  The rest of the script is just jumping through hoops to get around this, and writing the names and md5 sums of all these files to a file.  That way you can do something with the files afterward.

One last note:  You can use sed to drop the file names from the list of dup files:

sed -e"s/^.\{34\}//g"