## Some Recent Talks (with slides and code)

I’ve given quite a few talks over the last couple of months and at each and every one I promised to post my content shortly afterwards here on my blog.

However, due to some extreme laziness early on coupled with a crazy schedule and some unfortunate (but thankfully temporary) health problems more recently, I’ve failed to live up to those promises. Sorry guys, here’s the slides and code I promised. Better late than never, right?

How you can get started with F# today

I gave this talk at the local .NET meeting the monday night of the MVP Summit.  It’s a short (15 minutes) one-two punch of why you might care about F# and where you can find out more.  Very well received.

This presentation is from the most recent NYC Code Camp. The title started out as a joke with Steve Bohlen, mentioning on twitter that all the submitted talks had to do with MVVM. I wasn’t really going to do it, but when he said he’d automatically accept something with such a title, I decided to use it as a chance to explain computation expressions to a room full of people new to F#. It actually went really well considering, the post-talk reviews were fantastic.

Fun and Games in F#

My MVP2MVP talk from the MVP summit’s very first F# track. It’s a meta-talk about how to give a good F# talk, and how to build a stronger F# community.

Enjoy this post? Continue the conversation with me on twitter.

1. Hi,

Weighted Quick-Union with Path Compression on F# Snippets has an error. The “sz” array is always filled with zerros.

2. Maybe this version is correctly?
member t.unite(p, q) =
let i = root(p)
let j = root(q)
if sz.[i] < sz.[j] then
id.[i] <- j; sz.[j] sz.[j] then
id.[j] <- i; sz.[i] <- sz.[i] + sz.[j]
else
id.[i] <- j; sz.[j] <- sz.[j] + 1

• Ahh, I’ll give it a test when I get home. I ran out of time yesterday and just threw it up there without testing. Thanks!

• Figured it out. It turns out I was accidentally filling the sz array with 0 instead of 1. (every node is rooted in itself).

• Ok.
What about t.unite(1, 1) ? Is that not allowed?

• Hrm, can you find an example where that doesn’t work? It seems to work fine for me.

• You have right, it’s work fine.

3. […] also had the pleasure of speaking at a quite a few interesting events this year. One I haven’t yet written about is Monospace 2011. Click For […]