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.
Getting the MVVM Kicked Out of Your F#’n Monads
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.
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.
Tags: Code Camp, Computation Expressions, F#, F# Community, MVP Summit 2011, MVP2MVP, Redmond .NET User Group
Hi,
Weighted Quick-Union with Path Compression on F# Snippets has an error. The “sz” array is always filled with zerros.
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.
[…] 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 […]