Echoes of popular culture and open source.

(Note: This post is well beyond the seven year limit for spoilers.  If you haven't seen 2001 or 2010 by now, I can't help you.)

Many years ago, as a loomling, one of my very first memories was of seeing the movie 2010: The Year We Make Contact on cable.  That the first 'real' record I ever listened to was the soundtrack to that movie should come as no surprise, but that's not really relevant.  I was quite young so I didn't get most of it, but I remembered enough about it that it gave me some interesting questions (so …

Read more...

Semi-autonomous software agents: Practical applications.

In the last post in this series I talked about the origins of my exocortex and a few of the things I do with it. In this post I'm going to dive a little deeper into what my exocortex does for me and how it's laid out.

My agent networks ("scenarios" in the terminology of Huginn) are collections of specialized agents which each carry out one function (like requesting a web page or logging into an XMPP server to send a message). Those agents communicate by sending events to one another; those events take the form of structured, packaged pieces …

Read more...

Semi-autonomous software agents: A personal perspective.

So, after going on for a good while about software agents you're probably wondering why I have such an interest in them. I started experimenting with my own software agents in the fall of 1996 when I first started undergrad. When I went away to college I finally had an actual network connection for the first time in my life (where I grew up the only access I had was through dialup) and I wanted to abuse it. Not in the way that the rest of my classmates were but to do things I actually had an interest in. So …

Read more...

Working around patent licensing problems with evolutionary algorithms.

Evolutionary computer algorithms are good at solving a relatively common set of problems through trial and error - the set of problems that we know of with a large number of equally valid possible solutions, of which some subset of those are faster or more efficient. The only way to see which of these solutions will do what you want is to try one and mess around with it for a while, and then try a slightly different approach. In other words, by tinkering, tweaking, and hacking around, which is great on a small scale but when you're looking at a …

Read more...