Is my average post too long winded for you? Then you should follow my stupid twitter updates instead.

Tags: ,

Friday, January 18th, 2008 Uncategorized No Comments

Today is gadget day

The new MacBook Air was announced today.  “We” promptly ordered one, which really means I can actually have my MacBook Pro back in about two weeks.

But that’s not why it’s gadget day.  I posted a while back about the conditions under which Honorary Gadget Girl could drop the “Honorary”.  I have been remiss in not posting that she got an  iPhone for Christmas and so has not been Honorary for a month.  But today she met the other condition as well.  There’ll be “music” in the “air” tonight.

I’m so glad my Mom knows about this blog.  Hi, Mom!

Tags: , , , ,

Tuesday, January 15th, 2008 Uncategorized No Comments

Honorary Gadget Girl

My girlfriend calls me gadget boy. She has earned the right to be called honorary gadget girl. She has more things plugged in next to the bed than I do, and she fixed my car’s nav system once. I told her she can’t drop the “honorary” until she can read email from anywhere. What kind of gadget person can’t even get email at the beach in 2007? Come on! It hurts just thinking about it.

Then she came across these.   Purchasing one of those will also earn her her place as a full fledged gadget girl.


I will keep you posted as to her status.

Tags: , , , ,

Friday, September 28th, 2007 Uncategorized 1 Comment


Since I’ve been looking at languages for embedding/scripting purposes lately, I naturally came across LOLCODE. I’d been leaning towards Ruby as the overall most elegant, cleanest, robust language I could find, but how can you beat this?

		BTW this is true
		BTW this is false


Tags: ,

Wednesday, May 30th, 2007 Uncategorized No Comments

Antisocial Bookmarking

There are some popular blogs out there under the “Lifehacking” and “GTD” (Getting Things Done) banners. Often, the topics they present border on obsessive compulsive behavior. I feel like following all the advice on those subjects would cost me far more time than it saved me. Just reading about it barely feels like a break-even proposition.

But somewhere this morning, not actually on a blog focused on those subjects, but definitely something they’d be concerned with, I found out about Google Browser Sync, which lets you sync your bookmarks, cookies, passwords, (and history and tab state if you really want, I opted out of those), with your Firefox browsers anywhere. Like, work, home and laptop. Add a bookmark anywhere, it shows up right in your bookmarks menu or toolbar everywhere.

This is something Netscape 4 had built-in, via FTP or LDAP, nearly a decade ago. I ran my own FTP server and used it. It was GREAT. I’ve been waiting for someone to do the same ever since Netscape 4 became basically unviable. Mozilla/Netscape never built it in past v4, nor did any other browser to my knowledge.

There have been other Firefox extensions that sort of accomplish this, but they’ve been based on social bookmarking sites like I don’t have anything against those sites, but I don’t actually want to share all my bookmarks with everyone in the world just so I can also have all my browsers present me the same bookmarks. Antisocial Bookmarking has its place too. I’d still prefer to store everything on my own server somewhere, but storing it privately, rather than socially, on Google’s servers is almost as good. And it’s probably even better for most people.

I installed it across all the machines I use on a regular basis, and I’m already feeling like web related things have finally gotten back to where I was eight years ago (when Netscape 4 was already getting long in the tooth and people were giving me funny looks for still using it).

I’d still rather not trust Google to save this stuff for me, but if I’m going to trust any corporation, it might as well be Google. Nevertheless, an implementation of this that let me run the repository on my own server rather than someone else’s would be very welcome. But short of that, this finally does everything I ever wanted.

Tags: ,

Friday, May 11th, 2007 Uncategorized 1 Comment

Puzzle Quest Solver

I figure it’s not cheating when I use this program to solve Puzzle Quest capture puzzles. But if you use it, you’re totally cheating. I wrote the code, that means I solved the puzzle. You, you’re scum.
pqsolver.exe (Get this if you just want to run it)

pqsolver.cpp (Source code, if you want to see how it works or don’t trust random executables off the internet. Builds on Mac, Linux, Windows, probably anything else with a C++ compiler)

Sample input files:

test2.pq (not a real puzzle, just an early test)

OrcLord.pq (Real)

Sandworm.pq (Real)

To run it:

pqsolver < file.pq

The magic values, straight from the code:
case red: c = 'r'; break;
case yellow: c = 'y'; break;
case green: c = 'g'; break;
case blue: c = 'b'; break;
case skull: c = 's'; break;
case skullx5: c = '5'; break;
case xp: c = 'x'; break;
case money: c = 'm'; break;
case empty: c = '.'; break;

The output has the first step at the bottom, last step at the top. Backwards, in other words. Harder to do it the right way around the way the algorithm works. The bottommost board displayed is the initial input, the topmost is the next to last state before winning. Above each board are the coordinates to move to get to the next step.

Updated 11/09/2007 : Thanks to Nige in the comments, the bug with skulls is fixed.  You Rock, Nige!

Tags: , ,

Wednesday, April 4th, 2007 Uncategorized 24 Comments