As a passionate – yet pragmatic – enthusiast of multi-paradigm and ployglot engineering, Paulmichael has spent the past 16 years blending a disparate array of languages, technologies, and methodologies to develop compelling solutions to a wide range of business problems. He especially enjoys solving challenges in distributed computing, visual communications, and heterogeneous enterprise systems. He is the co-organizer of the New York City F# Users Group and a co-founder of the NashF#: the Nashvile F# Meetup. In 2014, he received a Microsoft MVP Award for his work in the .NET community. When not at the keyboard, Paulmichael may be found exploring the metro NYC area with his wife (though his soul is still honky-tonkin’ in Nashville, TN).
This presentation will provide a concise, but thorough, review of one of the more unique features of the F# language: active patterns. Also known as active recognizers, this feature allows one to extend the pattern-matching capabilities of the language. Active patterns may be put to great effect in taming unruly APIs, improving the declarative style of one’s code, constructing embedded DSLs, and much more. This talk will be given in a lecture format, interspersing digestible code samples with detailed breakdown of syntax. Additional consideration will be given, time permitting, to appropriate use-cases for active patterns and a discussion of the under-lying mechanics. The review is aimed at advanced beginners who are familiar with F#’s general syntax and usage. Also, while not strictly necessary, those wishing to follow along via computer are encouraged to have, at least, version 2.0 of the core F# tools. Information on obtaining the latest version of F# (for your platform of choice) may be found at: http://fsharp.org.
As fast and powerful as the PC has become, it’s still not enough. Modern computing demands moving code up and out — from threads to processes to machines to clusters. To do so intelligently requires solid tools and flexible techniques. In this example-driven talk, you’ll learn how ZeroMQ, a library for distributed computing, provides the means to rise up to the challenges of modern computing. In particular, we will explore how a language-agnostic, pattern-based approach to message exchange may be used to deliver sophisticated and compelling distributed programming solutions.
Day in and day out, coders have to deal with lots of unglamorous little tasks. Whether it’s domain modeling or data manipulation or poorly designed APIs, there’s just no escaping it for most developers. Fortunately, there’s F#! While it can’t make these chores disappear entirely, it can go a long way in making them palatable. In this presentation, we’ll look at several common tasks, spanning a variety of domains. In particular, we’ll review the features of F# which are used to ameliorate the completion of these tasks. Topics covered will include: quicker domain modeling with intrinsic constructs, using scripts to simplify workflows, leveraging type providers to reduce “boilerplate” code, applying active recognizers to give ugly libraries a “facelift”, and much more.