Wednesday, May 07, 2008

What's in my mp3 player - 2008.05.07

A brief snapshot of the artists and albums in my player:

Technorati Tags:  

Tuesday, May 06, 2008

Latest Kindohm-Life Simulation Code

The latest changes/enhancements to my home-grown simulation have been committed.  I've also made the latest source available as its own downloadable zip archive (view the downloads page to download the archive):

http://code.google.com/p/kindohm-life/

It's a C# project - you'll need to build the code to run the exe.

UPDATE: compiled binaries have now been uploaded (2008.05.07)

The changes include:

  • Improved "free will" AI for carnivores and herbivores.  They aren't so rigid in their ways any more.  The old "hunt-at-all-costs-or-die" mentality has been replaced with an algorithm that looks for the nearest food/mate/prey at the time.
  • Planned agent activities - if a creature sees food, prey, or a mate in the distance, they'll set their mind and go after it until it is gone.  Before, creatures would be a bit wishy-washy and get sidetracked easily.
  • Mutations - by chance, offspring may mutate one of their characteristics (such as sight, resistance to starvation, eagerness to mate) - for better or for worse.  This is a simple attempt at introducing natural selection into the system.
  • More extensive event handling in the UI.  Births, deaths, attacks, mutations, and eating are all broadcast to the screen and can be toggled on/off.  You'll even be notified when a creature's corpse decays to the point of turning into a plant. 

One big change to the model was the progression of death to corpse to plant, and at what point those items are "edible" to be consumed by another creature.  Basically, a carnivore will prey on an herbivore and attack it.  The herbivore itself isn't food though.  After it is killed, a corpse is produced, and the attacker may choose to consume the corpse on the next heartbeat.  A corpse has a finite amount of "nutrition" which decreases over time.  After a corpse's nutrition has depleted, it continues to decay until eventually it produces enough imaginary fertilizer to produce a plant or vegetation - which can then be tracked down and consumed by herbivores. 

Heartbeats, corpses, plants....  it's all in the code :)  Just go take a look for now...  some day I might try and explain it better.

It's been tough coming up with a good set of starting parameters for the simulation.  Lots of stuff is hard-coded, such as starting attribute values for agents and the normal distributions used to randomly assign those values.  Other things are configurable, such as the board size and the numbers of herbivores, carnivores, and plants.  Right now, a 300x300 board with 300 herbivores, 50 carnivores, and 200 plants seems to run close to a "steady state". 

As for what is next....  I don't have any specific plans.  Maybe introduce better AI into the herbivores and carnivores, and look into performance improvements. 

Technorati Tags:     

Thursday, May 01, 2008

Twin Cities SharePoint Camp

The first ever Twin Cities SharePoint Camp is on June 14h, 2008 at New Horizons Minnesota.  I'll be presenting at least one code-related topic.  If you're interested in presenting, information about the event is here:

http://geekswithblogs.net/cwilliams/archive/2008/04/28/121737.aspx

Technorati Tags:   

Saturday, April 26, 2008

Simulation Code Posted

I've been working on a home-grown AI simulation for the past week or so.  The code is posted here:

http://code.google.com/p/kindohm-life/

If I get some free time tonight I'll post some more interesting details about it.  Basically it's an environment with herbivores, carnivores, and plants that carry out their short lives walking, eating, mating, and then dying (usually of starvation - at least up to this point). 

The motivation for this?  Just because.

What have I learned so far?  A little bit about threading (in the user interface), and that adding one variable to your AI increases the complexity exponentially. 

Technorati Tags:    
posted @ Saturday, April 26, 2008 4:08 PM | Feedback (0) |

Tuesday, April 22, 2008

MODIG Slides and Code Posted

Thanks to everyone who attended the MODIG tonight on the MOSS Search API.  Slides and code are posted here: http://tinyurl.com/6y5hc7

Technorati Tags:    

Sunday, April 20, 2008

Thanks for another great season, MN Wild

Goodbye to the 2007-2008 season. It was a great season, Wild. See you next year.

Last night the Wild lost their Quarterfinal playoff series to Colorado.  This series loss seems to sting a little more than last year.  I think it's because I thought the team would beat Colorado in as many games as they beat the Wild.  Jose Theodore somehow had the Wild's number the entire series.  The Wild would have won a few of those games by about 5 goals if it weren't for him.

Plus there were all the injuries.  Who knows what might have been different if Branko, Parrish, and Schultz had all been healthy for the entire series.  Those are three solid players that played few very games throughout the series. 

Oh, what to do about it....  I don't know if the Wild should change a whole lot for next year.  I'd bank on their young talent getting better.  Koivu is going to become the Wild's most rock-solid player next year.  And look at the young talent like Burns, Bouchard, and Sheppard...  I'm eager to see what they do next year.  The Wild are still a young team emerging from expansion.  I think a lot of die hard fans out there are going to be pissed about this year, but for a team that has only existed for seven seasons, I'd say the future looks very, very bright. 

People will say that Gaborik didn't step up in the playoffs.  I'd say that Colorado just knew to focus on him and shut him down because the Wild don't have many other offensive weapons right now.  Colorado had three first-class scoring threats in Sakic, Forsberg, and Hejduk.  Minnesota had Gaborik.  Next year as Koivu and the other young talent develops I think that our own scoring threats will begin to increase.

But what else could the Wild management do to help push them further in the playoffs?  Again, I wouldn't mess with the core of the team too much, unless they try and pick up a top free agent.  That's exactly what Colorado did with Forsberg.  Who knows why Minnesota didn't get Forsberg (as per league rumors about MN's talks with him).  But that is the only large scale type of change I can see making a difference.  Here are some of the 2008 (unrestricted) free agents that might be available (thank you http://tinyurl.com/5j4rho):

Sakic, Fedorov, Sundin, Weight, Straka, Peca, Stu Barnes, Roenick

It's not like the Wild to go after big free agents like those names, but the Wild are beginning a different phase of their franchise.  Time to introduce some other talent?  They did it before with signing Pavol Demitra.  I don't know that it's a requirement to sign a free agent to push the Wild to the next level, but it would definitely help. 

Flickr Tags:    

Tuesday, April 15, 2008

Presenting the MOSS Search API at the next MODIG

I'll be presenting on the Microsoft Office SharePoint Server (MOSS) Search API at the next Minneapolis Office Developer Interest Group (MODIG) meeting on April 22, 2008 at 5:30 PM.  I wasn't originally scheduled for this talk, but I'm filling in for Neil while he tends to his new paternal duties. 

The talk will be almost the same as the one I did at the last Twin Cities Code Camp, except this time there will be a little more time available for the presentation. 

I'll add that you can now buy a MODIG t-shirt!

http://www.cafepress.com/cp/customize/product.aspx?clear=true&number=%20253292961


Hope to see you there with a new shirt!

Technorati Tags:   

Wednesday, April 09, 2008

Sidetracked Project Videos Rescued from the Depths

I stumbled across these two videos by accident a few days ago.  They were sitting as unfinished video projects in my software and hadn't been compiled into a video file yet.  So here they are...  two versions of the same recording session on 9/28/2006:





Monday, April 07, 2008

The Busted Keyboard Saga - Part II

This morning my "J" key officially died:

The Broken Keyboard Saga - Part II

This is the second time in two months that I've needed a new keyboard. 

Either I need to change my typing style (not an option) or Dell needs to change keyboard vendors. 

Flickr Tags:   

Sunday, April 06, 2008

I Hope You Like Pain - Internet Star spoof

After watching the Canada on Strike South Park episode and seeing the nunchuck guy as one of the "internet stars" in that episode, I couldn't help but recall this video of some other guys taking the nunchuck guy footage and mashing it up into their own video:



I love it.

Technorati Tags: