|MS NERD||4/9/2009 6:30 PM||4/9/2009 8:30 PM|
For the first meeting of the New England F# User Group I gave a 30 minute rundown of the most fundamental language features and syntax. I then, as a code kata, had the group work through Project Euler problem #25.
|Richard Minerich - New England F# User Group Jumpstart Video (4/9/2009)||Richard Minerich|
|MS NERD||5/4/2009 6:30 PM||5/4/2009 8:30 PM|
In this talk I introduce VSLab, an environment based on F# and Visual
Studio integration, designed to offer an environment similar to Matlab
or Mathematica, suitable for Scientific computing. VSLab is an add-in
developed at University of Pisa in collaboration with Microsoft Corp.
whose main contribution is the ability to control Visual Studio
toolwindows from F# interactive even if the interaction is between two
distinct processes. VSLab is an interesting F# application in several
respects, interop, integration in Visual Studio, and core windows
|Antonio Cisternino |
|6/1/2009 6:30 PM||6/1/2009 8:30 PM|
"Arguably one of the most powerful features of the F# Language is its
pattern-matching capability. Often touted as F#’s approach to if-then
and switch-case control flow, Pattern-Matching does all this – and
more. In this session, Richard will start with the fundamentals of
Pattern-Matching (what it is, and how it works) and he’ll follow with
alternative applications of it. We’ll look at Pattern-Matching syntax
and how it compares to C#, conditional matching and guard rules, what
happens with unmatched patterns and how to apply Pattern-Matching in a
variety of scenarios. You’ll leave the session with a deeper
understanding of the power of F#’s pattern-matching features and how
you can use it in F# programs (or leverage it from C# programs).
|Richard Hale Shaw - F# and Pattern Matching Video (6/1/2009)||Richard Hale Shaw|
|MS NERD||7/6/2009 6:30 PM||7/6/2009 8:30 PM|
F# is Microsoft’s multi-paradigm language which sets out to deal with problems in the .Net ecosystem that are more easily solved with a functional approach. Perhaps you’ve seen some of the basic syntax which although itself is interesting, it’s now time to check out what people are doing with the language in a commercial context. We’ll show how F# helps out with concurrent programming in an actual enterprise application including legacy code interaction. We’ll also discuss OO FP as an architectural decision: the good, the bad, and the ugly.
|Amanda Laucher |
|MS NERD||8/3/2009 6:30 PM||8/3/2009 8:30 PM|
With the increasing amount of data available to us, we need new ways of thinking around how to create scalable solutions in order to best exploit it. In the past, concurrency programming has been difficult with very few understanding the low-level constructs such as locks, semaphores, mutexes and so on. The multi-core revolution gives us an opportunity to look at concurrency in different ways rather than our shared-state past. Languages such as F# are well suited as it is a functional language which emphasizes immutability, side effect free functions and a lack of state. Through the use of rich programming models, and functional programming techniques, come find out how F# can create rich solutions using asynchronous and parallel programming techniques.
|9/7/2009 6:30 PM||9/7/2009 8:30 PM|
In this talk we’ll take another look at some of the core features of F#, from an advanced user point of view, to better understand why the language has those features in the first place. We’ll go on to talk about how this affects the way that F# programs are structured. The architecture of a functional style program will be compared to the way that traditional procedural and object oriented programs are structured.
|Robert Pickering - Why F# Is Like It Is - Video (9/7/2009); Robert Pickering - Why F# Is Like It Is - Slides (9/7/2009)||Robert Pickering|
|MS NERD||10/5/2009 6:30 PM||10/5/2009 8:30 PM|
The way we deal with data is changing. Increasingly, model based
approaches are having an effect on the way we organize and implement
the notation we use to compose data transformations and manage side
effects. At the basic end of this spectrum is the philosophy of fluent
interfaces, and domain driven design. At the extreme end is the full
implementation of domain specific languages. I refer to a design
driven by its placement on this spectrum as Language Oriented
Programming. In this talk I will explore several examples of Language
Oriented Programming, and show that this particular design approach
hits the sweet spot of F# and functional programming. Examples will
include functional notation as a language, modeling language design
with algebraic data types and transforming models to execute on
alternative platforms such as the GPU.
|Chance Coble - Language Oriented Programming in F# Video (10/5/2009)||Chance Coble|
|MS NERD||11/2/2009 6:30 PM||11/2/2009 8:30 PM|
In choosing the right framework for building a modern web
application, there are many trade-offs to be made. A cynic might be
tempted to say:
"Programmer productivity, security, scalability: pick 2 (or maybe
just 1?)". This talk is about my attempt to jam all three into one
framework. In fact, I will be talking about a new domain-specific
programming language, Ur/Web. I claim that Ur/Web is significantly
ahead of all of the mainstream competition, in every one of the three
categories I mentioned. Ur/Web supports new abstraction and modularity
techniques, statically guarantees absence of common security
vulnerabilities, and has an optimizing compiler that generates fast
native code that doesn't use garbage collection. The secret weapon is
ideas from the world of typed functional programming, including the ML
family, Haskell, and more recent advances in dependently-typed
I will demonstrate the key elements of Ur/Web through a series of
demo applications with source code. This will be an interactive
presentation, and we can try modifying the demos or cooking up new ones
on the fly, in response to what the audience is curious about.The way
we deal with data is changing. Increasingly, model based approaches
are having an effect on the way we organize and implement the notation
we use to compose data transformations and manage side effects. At the
basic end of this spectrum is the philosophy of fluent interfaces, and
domain driven design. At the extreme end is the full implementation
of domain specific languages. I refer to a design driven by its
placement on this spectrum as Language Oriented Programming. In this
talk I will explore several examples of Language Oriented Programming,
and show that this particular design approach hits the sweet spot of F#
and functional programming. Examples will include functional notation
as a language, modeling language design with algebraic data types and
transforming models to execute on alternative platforms such as the GPU.
|Adam Chlipala - Towards the Ultimate Web Application Framework via Fancy Types - Video 1 (11/2/2009); Adam Chlipala - Towards the Ultimate Web Application Framework via Fancy Types - Video 2 (11/2/2009)||Adam Chlipala|
|MS NERD||12/7/2009 6:30 PM||12/7/2009 8:30 PM|
Asynchronous, concurrent, and parallel programming can be challenging.
Microsoft has been working on several projects to make these tasks less
difficult and more robust. Many of these projects, including the Task
Parallel Library, PLINQ, and functional programming via F#, have
matured to the point that they are ready for prime time and will be
baked into Visual Studio 2010. Talbott will describe the different
concepts of concurrent programming and investigate some of F#'s
inherent mechanisms for addressing these challenges such as
|Talbott Crowell - Parallel Programming with F# - Slides (12/7/2009); Talbott Crowell - Parallel Programming with F# - Video (12/7/2009)||Talbott Crowell|
|MS NERD||1/4/2010 6:30 PM||1/4/2010 8:30 PM|
An exploration of structures from category theory and the roles they
play in functional programming from an F# perspective. Applications
and examples will be presented along with a discussion on how to
utilize these structures in F# programs. The ability to provide fast,
reliable and secure programs depends greatly on what we can reason and
assume about programs - with the aid of the machine proof assistant
CoQ, emphasis will be placed on what we can reason about F# programs
and the value this reasoning provides us.
|Mutaamba Maasha - Categories and Reason - Slides (1/4/2010)||Mutaamba Maasha|
|MS NERD||2/1/2010 6:30 PM||2/1/2010 8:30 PM|
We are going to explore a few of the many F# Tools and Testing
Frameworks. Included will be NaturalSpec, FsCheck and perhaps some
|MS NERD||3/1/2010 6:30 PM||3/1/2010 8:30 PM|
We'll explore some of the features of F# that help to write short, correct, and readable programs.
|Jason King |
|MS NERD||4/5/2010 6:30 PM||4/5/2010 8:30 PM|
Learn how to use F# to build Silverlight applications using the
Silverlight toolkit to make graphs and charts. No knowlege of F#
necessary. Visual Studio and either C# or VB.NET knowledge is
|Talbott Crowell - F# and Silverlight - Slides (4/5/2010); Talbott Crowell - F# and Silverlight - Video (4/5/2010)||Talbott Crowell|
|MS NERD||5/3/2010 6:30 PM||5/3/2010 8:30 PM|
Carl and Richard are loading up the DotNetMobile (a 30 foot RV) and
driving to your town again to show off the latest and greatest in
Visual Studio 2010 and .NET 4.0! And to make the night even more fun,
we’re going to bring a mystery rock star from the Visual Studio world
to the event and interview them for a special .NET Rocks Road Trip show
series. Along the way we’ll be giving away some great prizes, showing
off some awesome technology and having a ton of laughs.
This stop will include an intro to F# and a special topic panel dicussion on F# featuring New England F# User leaders:
- Richard Hale Shaw (MVP)
- Rick Minerich (MVP)
- Talbott Crowell
|Carl Franklin/Richard Campbell/.NET Rocks! Ken's Blog (5/3/2010); Carl Franklin/Richard Campbell/.NET Rocks! Rick's Blog (5/3/2010)||Carl Franklin, Richard Campbell |
|MS NERD||6/7/2010 6:30 PM||6/7/2010 8:30 PM|
Steffen is the author of the two open source F# projects: FAKE - F# Make and NaturalSpec.
In this talk, he shows these tools in action, and talks a bit about
some internal implementation details. In particular he shows why he
used F# and how specific language constructs help to simplify the usage.
|Steffen Forkmann - Open Source Tools in F# - Video (6/7/2010)||Steffen Forkmann|
|MS NERD||7/5/2010 6:30 PM||7/5/2010 8:30 PM|
F# makes it very easy to develop high performance, readable, and
efficient code. However, like all things, a lack of discipline and
best practice adoption can lead to a mess. In this talk we will cover
5 best practices that you can start using today to make yourself a
better F# developer. We will explore each best practice, discuss the
reason(s) that the described approach is preferred, and explore a few
Daniel Mohl is a professional software engineer with over 11 years of
hands-on development and team lead experience. He actively blogs and
tweets about F#, has spoken on F# at various forums, and co-organized
the Nashville F# Firestarter. You can view his blog at blog.danielmohl.com and follow him on twitter at twitter.com/dmohl.
|Daniel Mohl - 5 Best Practices for F# Development - Slides (7/5/2010)||Daniel Mohl|
|MS NERD||8/2/2010 6:30 PM||8/2/2010 8:30 PM|
F# Workflows are a powerful and elegant tool for solving many real-world problems, though they can be rather daunting at first. We'll survey some ways in which Workflows in the standard F# libraries are used for common development tasks, then dig into detail on how they work. We'll then build a workflow that provides a validation framework that can be used for parsing or other tasks.
Scott Theleman is a Software Developer with over 10 years professional design and development experience in both small startup and mid-sized corporate/Enterprise environments on applications ranging from desktop GUIs to website/web applications to server side and middleware work. He has also been Technical Lead on several government contracts. He has worked on a diverse range of projects including a network discovery and topology product, a Learning Management System, Enterprise Service Oriented Architecture components for a large and complex search service, and atmospheric and weather sciences applications.
|Scott Theleman - Understanding F# Workflows - Slides (8/2/2010); Scott Theleman - Understanding F# Workflows - Video 1 (8/2/2010); Scott Theleman - Understanding F# Workflows - Video 2 (8/2/2010)||Scott Theleman|
|MS NERD||9/13/2010 6:30 PM||9/13/2010 8:30 PM|
|Vladimir Matveev - Web Development in F# - Slides (9/13/2010)||Vladimir Matveev|
|MS NERD||10/4/2010 6:30 PM||10/4/2010 8:30 PM|
|Anton Tayanovskyy - Developing WebSharper 2.0 Applications - Video (10/4/2010)||Anton Tayanovskyy|
|MS NERD||11/1/2010 6:30 PM||11/1/2010 8:30 PM|
In this session, Richard discusses the habits of successful programmers, how you create them and how you ensure that they take root and grow – and to do so, Richard draws off of nearly 28 years of programming, development, team leadership, consulting and other experience in the software industry. If you’re unhappy with whom you are as a programmer, or think that you can vastly improve your ability to perform as a software developer, you’ll want to view this session. For more info, go to Richard's site at CodeWithConfidence.net.
|Richard Hale Shaw - Habits of Successful Software Developers - Video (11/1/2010)||Richard Hale Shaw|
|MS NERD||12/6/2010 6:30 PM||12/6/2010 8:30 PM|
Talbott will provide a brief introduction to WP7DEV (Windows Phone 7
Development) followed by an interactive programming environment where
everyone can participate. Bring your laptop loaded with Windows Phone 7
tools. Or bring your laptop with F# and work on an alternative
assignment. Or don’t bring a laptop and just your brain and help out
with the gang by providing advice and or options. We will be building a
Windows Phone 7 app for viewing upcoming F# User Group meetings.
|Talbott Crowell WP7 Code Kata - Code Sample 1 (12/6/2010)||Talbott Crowell|
|MS NERD||1/9/2011 6:30 PM||1/9/2011 8:30 PM|
JSON APIs are the hot new thing, and everything from detailed Web apps to quick command-line scripts need to interact with them. There is a tension, though: the vaguely-typed, quick, carefree syntax of JSON can be tedious when put against the statically-typed general syntax of Haskell. In this talk I discuss JSON and this conflict, existing solutions, how to use them, and how this is being used in the Github library for Haskell.
|MS NERD||1/10/2011 6:30 PM||1/10/2011 8:30 PM|
continue last month's dual code kata - Windows Phone 7 and Poker
Strategies in F#! Bring your laptop loaded with Windows Phone 7 tools.
Or bring your laptop with F# and pit your Poker strategies against
other F#ers. Or don’t bring a laptop and just your brain and help out
with the gang by providing advice and or options. We will continue
building a Windows Phone 7 app for viewing upcoming F# User Group
meetings. Check the Previous Speakers page for links to code samples
(newer versions will be up soon).
|MS NERD||2/7/2011 6:30 PM||2/7/2011 8:30 PM|
Q: What are Agent Based Models? Can I see an example? How about an example in a functional language? How about the same example in an OO language? Oh, can we compare them?
A: A different approach to statistical models, Yes, Yes, Yes, and Yes.
We'll be looking in depth at a classic ABM: The "Averages Kill" model (http://www.informs-sim.org/wsc01papers/172.PDF) and examples in Java + Clojure.
Zach is fascinated by the programming process, different approaches to design, and programmer's education.
He's been a professional software engineer for 7 years and currently runs the Boston Software Craftsmanship group (http://groups.google.com/group/boston-software-craftsmanship)
|MS NERD||3/14/2011 6:30 PM||3/14/2011 8:30 PM|
Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant and type-safe way.
The goal of this talk is to give a broad overview of this state-of-the-art language and present its key features.
Furthermore, it will try to show why Scala might be your best choice not only for cross-platform
functional programming, but also when a mix of functional and imperative styles of programming is desired.
|Nermin Serifovic: Scala for F# Developers||Nermin Serifovic|
|MS NERD||4/4/2011 6:30 PM||4/4/2011 8:30 PM|
In this talk we'll explore how F# could be used for parsing structured data formats like JSON and how to implemnet a simple StackOverflow client using this F# parser.
|Petr Lepilov Parsing JSON Sildes; Petr Lepilov Parsing JSON source code||Petr Lepilov|
|Microsoft Waltham||5/2/2011 6:30 PM||5/2/2011 8:30 PM|
First class functions are like numbers in a lot of ways; they share many of the same properties. This is far from just a novelty, it's largely these properties that make functional programming so fantastic. From composition to computation expressions, they enable much of what F# has to offer.
|MIT Stata Center, Cambridge, MA||6/13/2011 6:30 PM||6/13/2011 8:30 PM||Runar Bjarnason|
|Microsoft Cambridge||7/11/2011 6:30 PM||7/11/2011 8:30 PM|
F# Futures: Type Providers
F# 2.0 gives users several tools for manipulating data in a strongly-typed, functional fashion. This talk will cover a powerful new feature coming in F# 3.0, Type Providers, and show how they enable strongly-typed access to external data sources. Come see a live demo of how easy Type Providers make it to programming against data sources such as databases and web services.
Keith Battocchi is a contractor working with the F# team, where he is contributing templates, samples, and guidance to make it easier to do data-rich programming with F#. Keith has been using F# enthusiastically since 2007, and answers many F#-related questions on StackOverflow.com under the handle kvb.
|Microsoft NERD Center (Cambridge, MA)||8/1/2011 6:30 PM||8/1/2011 8:30 PM|
"Take it easy" is the Clojure motto, that's how laid back it is. Hack in Clojure, a Lisp dialect for Java, if you want to chill out and have a good time. Another reason to hack Clojure is if you want to hack with friends.
(Note: "Take it easy" is probably not really the Clojure motto. It's probably "better living through parentheses" or something equally droll.)
I can't teach you how to program in Clojure; that would take too long. I merely want to give you an idea of what progamming in Clojure is like - how it tastes.
I need to scre up Emacs in 2002, and have been using various Lisp dialects, amateurishly and professionally, since then. I joined a South Florida company last year to work on mobile web optimization in Clojure, and since its acquisition, now do the same at Akamai in Cambridge Center.
You can find me on the Interwebs by googling "S11001001" too; no one has decided to share my username, for some reason.