I've been working on a project in my spare time for a presentation I am going to give at Atalasoft this next friday. I am going to try to recreate Rich Hickey's Clojure ant colony simulation except in F#.
I have run into a number of issues along the way...
First of all, by default F# has no Software Transactional Memory. There is a non-integrated library for it, but i'm not sure I want to step outside of normal F# territory for this demonstration. I think I may just lock on the map nodes while an ant is moving or getting food instead. Although this may not demonstrate highly concurrent functional programming as well.
Secondly, at this point I think I have a good feeling for how to write small code blocks in F#. What I am struggling most with is program structure and message passing. My UMass Scheme course didn't really educate beyond how to write scheme in scheme and none of my traditional object oriented techniques are in play here. The best I can do is try to mimic existing programs.
Third, I'm not very familiar with the windows drawing calls. I'm not too worried about this though, there are tons of examples out there. The hardest part will be shoe-horning them into F#'s functional style.
-Rick
Monday, April 21, 2008
Wednesday, March 26, 2008
I Haven't Been Posting Much Here...
I intend to post more on my personal blog, but for now I've been posting quite a bit on my Atalasoft blog. There will be more to come soon.
Wednesday, August 22, 2007
RE: Social Skydiving
On the 30sleeps blog there is a post I really like about meeting people spontaneously entitled "Social Skydiving". My roommate Evan pointed me to it.
http://30sleeps.com/blog/2007/08/01/social-skydiving-the-art-of-talking-to-strangers/
Although I had been building up this skill before I left for my backpacking trip across Europe I found that in Europe I really was forced to develop this skill.
I wanted to add a few things to this though:
1. Be entertaining.
If you know some funny jokes, can tell interesting stories or even know some magic tricks it can help a lot. These kinds of things soften people and make them relax thus making them more open to developing rapport.
2. Be interested in other people.
People love to talk about themselves. In fact when you talk about yourself, unless it is in the context of how it relates to the other person, you are probably boring that person. Ask questions and relate their answers to your own experience.
3. Be energetic.
As Brad said in his post, communication is all about the exchange of energy. The words themselves matter very little. If you are happy, positive and energetic, people will be attracted to you like a magnet. If you are having trouble with this (I am often tired after a long day of work and martial arts) I suggest energy drinks.
http://30sleeps.com/blog/2007/08/01/social-skydiving-the-art-of-talking-to-strangers/
Although I had been building up this skill before I left for my backpacking trip across Europe I found that in Europe I really was forced to develop this skill.
I wanted to add a few things to this though:
1. Be entertaining.
If you know some funny jokes, can tell interesting stories or even know some magic tricks it can help a lot. These kinds of things soften people and make them relax thus making them more open to developing rapport.
2. Be interested in other people.
People love to talk about themselves. In fact when you talk about yourself, unless it is in the context of how it relates to the other person, you are probably boring that person. Ask questions and relate their answers to your own experience.
3. Be energetic.
As Brad said in his post, communication is all about the exchange of energy. The words themselves matter very little. If you are happy, positive and energetic, people will be attracted to you like a magnet. If you are having trouble with this (I am often tired after a long day of work and martial arts) I suggest energy drinks.
Subscribe to:
Posts (Atom)
