August Meeting

Creighton Kirkendall will be presenting:

Mobile Development with ClojureScript and React Native
In this talk we will look at how React Native and ClojureScript combine to create a solid development experience for mobile apps.  You can expect to learn how development practices built up using ClojureScript and React in the browser can be translated over to create robust mobile apps.  While perfect for many apps not everything in this world is production ready.  We will also spend some time on where expectations and reality don’t always line up.

July Meeting

Mark Windholtz will be presenting:

INTRODUCTION TO EVENT STORMING

Event Storming is a group design and planning approach. It is useful to get the “Big Picture” when starting a project or feature set and also works well for Retrospectives and even Detailed Design. The results of Event Storming can be used to plan your Story Mapping exercises.

Event Storming has the extra benefit of establishing a common language between Domain Experts and Developers. It creates a system design skeleton that is understandable and usable by a broad group of stake holders. A Domain Event is something that happened in the system that is interesting to a Domain Expert. For Example, “Item Added to Cart”, “End of Month Occurred”, and “Request Email Received”.

This presentation will:

  • Cover the structure and process of an EventStorming Workshop.
  • Introduce CQRS and DDD. CQRS and DDD are advanced architectures and design approaches. CQRS architecture is Command Query Response Separation. DDD is a co-operative design style of Domain Driven Design.

Each of these is powerful, but often difficult to explain. Separately or together they make building large complex systems more sustainable.

Event Storming is a breakthrough approach, because it provides a painless way to introduce DDD and CQRS without the buzz words.

June Meeting

Carin Meier will be presenting:

The Joy of Stochastic Gradient Descent

We’ll take a look at the joys of Deep Learning from its simple, elegant fundamentals to its feats of impressive power. Along the way, we’ll discuss how Deep Learning is changing how we approach programming, communicate with each other, and even what it means to be human.

May Meeting

James Smith will be presenting:

Demystifying Phoenix. Building a mental model of it’s moving pieces.

April Meeting

Ben Kyrlach will be presenting:

My take on Propositions as Types

The best way to learn something is to teach it. In this presentation, I’ll be explaining my take of Phillip Wadler’s famous “Propositions as Types” talk, with practical examples using PureScript. We’ll explore how to catch logic errors using nothing but the type system, and compare and contrast typical statically typed programs with programs using this understanding of types.

March Meeting

Jason Voegele will be presenting:

The Wonderful World of Recursion

Recursion is an indispensable tool in the functional programmer’s toolbox, but when used improperly it can be the source of disastrous errors. The world’s most popular programming Q&A site is even named after the dreaded stack overflow error that is the result of misuse of recursion! How can we take advantage of this fundamental tool without falling victim to its pitfalls?

Join me as we journey through the wonderful world of recursion where we will discover a treasure trove of recursive techniques, including tail recursion, mutual recursion, and trampolines. We will also learn how tail call optimization is achieved (or not) in various languages. Example code and discussion is presented in various functional languages including Clojure, Scala, Elixir, Haskell, and F#.

February Meeting

Creighton Kirkendall will present:

Building with Legos – The Joys and Struggles of Architecting in Clojure