MIT Puzzle Research

June 4th, 2007

I was browsing around tonight, as I sometimes do, looking for interesting CS research publications, and I stumbled upon this little tidbit:

Jigsaw Puzzles, Edge Matching, and Polyomino Packing: Connections and Complexity

For those of you share my fascination with the Eternity II Puzzle, you’ll definitely be interested in reading this paper. In it, the author talks about the various degrees of complexity of jigsaw puzzles, polyomino packing puzzles (Eternity), and edge-matching puzzles (Eternity II).

I don’t mean to spoil the punchline or anything, but they’re all NP-complete, meaning the most successful algorithms will involve optimization, approximation, partial solutions, and problem decomposition.

Interestingly, the author also provides a proof that all three types of puzzles are trivially transformable into one another. In other words, a polyomino packing puzzle like Eternity could be logically transformed into an edge-matching puzzle like Eternity II, and the two puzzles would share the same locus of possible solutions.

Hopefully, that helps at least one of us get a little closer to the big $2 million bounty!!

Introducing Sproiiiing: the Hottest New EoC Framework

May 2nd, 2007

The last few years have been an exciting time in the Enterprise Java world. We’ve seen a proliferation of lightweight application frameworks that vastly simplify the wiring of applications without introducing dreaded dependencies into our precious class hierarchies.

But these frameworks still fall short of the mark. Every time you use an import statement or define a new class, you place a burden on the consumers of your application. Import statements create dependencies on other classes in your project. The existence of specific methods and (even worse) classes, constrain the functionality of your application to the features defined at compile-time by your developers.

Based on these unacceptable constraints, I’ve been working hard on a new “Elimination of Code” framework (EoC), and I’m proud today to announce the availability of the Sproiiiing framework!!!

Read the rest of this entry »

I’m a Bostonian!!

March 30th, 2007

It’s official.

I’ve been in Boston for three and a half days now. I’ve found an apartment. I’ve opened a bank account. I start my new job on Monday.

Holy crap. Boston is a very cool city. Very cool.

I’ll tell you more about it later.

For those of you who have sent me email over the last few weeks, sorry I haven’t responded. I’ve been up to my eyeballs in packing boxes. I’ll reply soon.

Solving Impossible Problems

January 27th, 2007

I’ve always been interested in enormous, impossible progamming problems.

That’s probably why I’ve steered my career in the direction of machine learning algorithms and statistical AI.

And, for those of you who followed my 30-days-30-ideas thread last summer, that’s why I was so interested in the AI-Coder business idea.

But anyhow, about those impossible problems…

Read the rest of this entry »

The New Decision

October 28th, 2006

Yesterday, I returned from obscurity to tell you that I’ve been busily grinding away at three major projects. Today, I’m going to tell you a little bit about the first project, with some background information for those who may not have been following along.

Over the summer (and immediately following my failed interview at Google) I announced a project to brainstorm 30 business ideas in 30 days. Although the project slipped a little bit (I ended up developing 28 ideas in 43 days), I came up with a broad range of possible software projects.

Over the next month or so, I arrived at a decision: the AI-Coder project rose to the top of my list, and I started working on an implementation. But within a few weeks, I ran into a number of difficulties (both technical and legal) and I decided to reconsider.

So, I returned to my list of semifinalist projects and began to weigh the options.

And now I’ve chosen a new project.

Read the rest of this entry »

Hello Hello Again

October 28th, 2006

Well, it’s been a busy two months.

It’s nice to be back here again, sitting in my blog-writing chair and saying hello to all the nice people out in blog-land again.

(No, I will not use the word blogosphere.)

Read the rest of this entry »

AI-Coder Due Diligence: Why I’m Changing Plans

August 27th, 2006

As much as I’m loathe to admit it, I’ve bitten off a bit more than I think I can chew with the AI-Coder project.

Why the sudden change of heart?

I’ve been doing my homework.

Read the rest of this entry »

AI-Coder: High Level Design

August 22nd, 2006

As an artist, I’ve often started a new drawing or painting right in the medium, dipping a paintbrush into my palette and splashing something preliminary onto the canvas. Some of my favorite drawings have started with pen on paper, having no idea what the hell I was working toward, but just enjoying the process.

In many cases, those first few haphazard strokes set a tone and texture that guides the rest of the creative process.

While the paint is still wet, and the figure is still mostly unformed, I’ll step back from the canvas and look at what I’ve done so far, asking myself “What is this? I like what I’ve got so far, but how can I turn it into something worthwhile?”

The decisions made during that post-improvisational stage often determine whether the painting gets hung on my wall or tossed into the dumpster.

I feel the same way right now, at the beginning of the AI-Coder project.

Read the rest of this entry »

Some Wistful Thoughts, and a Decision

August 12th, 2006

My deepest apologies for being somewhat incommunicado lately.

At times like these, I should remind my readers that–in addition to my entrepreneurial ambitions–I’m still happily (and busily) employed in the software business. And sometimes that means I’ve got to focus on projects for the people who actually pay my salary.

In today’s blog post, first I’ll talk a little bit about what I’ve been doing at work lately. And then I’ll grumble a little bit about last week’s lost-blog-post snafu. And then, I’ll talk about a little bit about the final five business ideas in my 30-days-30-ideas project, culminating with an announcement of which idea I’ll be pursuing. (!!!)

Here we go…

Read the rest of this entry »

WordPress Plugin: Versioning

August 4th, 2006

After losing a significant amount of writing work earlier tonight due to some WordPress bug (or maybe user error; who knows), I decided that all of my posts should be versioned.

I save my work constantly, so it’s dumb that accidentally saving a truncated post should wipe out hours and hours of work.

So I searched around on the internet and found the WordPress Versioning Plugin, which I downloaded and immediately installed.

Unfortunately, the plugin didn’t work.

So I’ve been tinkering around with it for a few hours, and I’ve fixed it.

Read the rest of this entry »