Monday, October 11, 2010 3:45 PM
by
RickM
F# Discoveries This Week 10/11/2010
As always, a ton of great posts this week on a large number of interesting topics. It’s great to be part of such a productive community. I particularly enjoyed Vladimir’s Zebra Puzzle post. The code is just beautiful.
I also have some bittersweet news to share. I’ll soon be leaving Atalasoft to join a yet unnamed company in the NYC area. I’ll miss Atalasoft for sure, it’s a great company full of very smart people. Keep an eye on the career page and you might just be lucky enough to work with these fine folks.
I’m planning on starting a NYC F# user group once I get settled. Please let me know if you’re interested in helping to get it off of the ground.
News
When: Tuesday, Oct 19, 2010 11:00 AM (PDT)
“In this presentation Robert Pickering will take a look at the concept of the tree data structure, and we’ll see how trees are everywhere we look in programing”
Sorry I missed you last week Adam! Congrats on the award!
“The star of the show was definitely F# in my opinion. The weakest part of the conference was the lack of outlets.”
“Mono 2.8 is a portable and open source implementation of the .NET framework for Unix, Windows, MacOS and other operating systems.”
Audio and Video
“In this talk Anton will present a pre-release version of WebSharper 2.0 by developing and testing a small standalone JavaScript component.”
Tools / Projects
“Features seamless debug support enabled for VS 2010 - Place a breakpoint in your service code and run! (Make sure to install the service first!)”
“ A sitemap-based url tester that runs in parallel (F#).”
“IronJS - A Javascript implementation for the DLR written in F#”
“This F# Google Reader API code is a port from a project that was originally developed in C#. It supports the 'unofficial' reader API and can get lists of subscriptions, posts, tags etc. for a Google Reader account.”
“Extensions and wrappers for using the Reactive Extensions (Rx) with F#.”
General
“Zebra puzzle (often referred as Einstein's problem) is a well-known class of logic puzzles where you need to reconstruct the missing parts from the set of known facts”
“Sometimes though, the library you want to create wraps for contains hundreds of classes, configuration objects and enumerations. Doing this manually is not only error-prone but extremely boring.”
“Here's a quick script to do it, that can be the basis for including the computation programmatically into e.g. installer generation.”
“Brushing up on “whiteboard coding” for internal interviews… Inspired by Hal Ableson’s streams-based solution to this old classic in the SICP lectures, here’s a pretty concise n-Queens solution:”
“When you have good unit tests, everything is better; if you’re already a TDD-er, then saying that is just preaching to the choir. And when you have a good debugger, using that tool is a great way to learn about an unfamiliar code base (stepping through code, setting breakpoints, looking at stacks, changing values of locals or the next statement to see how things react). Put those two together, and the effect is even more powerful.”
“Michael used a video of Jon Conway himself to explain the rules; which he followed up by showing a very interesting implementation using APL. Afterwards we all paired up to try implementations in various languages. After about half an hour my pair came up with the following F# implementation.”
“So what this means now is that we can create sophosticated WPF controls, invoke them in the FSI window, and then apply long-running upddates via FSI without the WPF window freezing on us.”
Teaching and Basics
“Luckily, Winforms provides an embedded web browser through System.Windows.Forms.WebBrowser. The Mono implementation relies on the Mozilla Gecko engine.”