Houston Functional Programmers

Peter Seale, "Community Discussion: Tools for Constructing Software"
2022-06-15 19:00 - 21:00 (America/Chicago) | TX
Abstract: While we all know how to construct working software, I certainly don’t use every tool available to me, even when I should. In this talk, I’ll briefly walk us through code-and-fix, REPLs, tests, linters, debuggers, IDEs, logging, DbC preconditions. (Someone else is welcome to talk about compiler-guided feedback or hot reloading – I’ll make passing mention and handwavy gestures.) And we’ll all talk about what we actually do, in real life! Even if we’re ashamed!
Bio: Peter Seale is an experienced software developer who manages infrastructure in Azure for his day job. YAML (and crying) is often involved. He has revived his blog at https://devsecfailureops.com/hot-takes/

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programming User Group
Time: Jun 15, 2022 12:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/98355406434?pwd=[REDACTED]
Meeting ID: 983 5540 6434
Passcode: [REDACTED]
One tap mobile
+13462487799,,98355406434# US (Houston)
+17209289299,,98355406434# US (Denver)
Dial by your location
+1 346 248 7799 US (Houston)
+1 720 928 9299 US (Denver)
+1 971 247 1195 US (Portland)
+1 206 337 9723 US (Seattle)
+1 213 338 8477 US (Los Angeles)
+1 253 215 8782 US (Tacoma)
+1 602 753 0140 US (Phoenix)
+1 669 219 2599 US (San Jose)
+1 669 900 6833 US (San Jose)
+1 470 250 9358 US (Atlanta)
+1 470 381 2552 US (Atlanta)
+1 646 518 9805 US (New York)
+1 646 558 8656 US (New York)
+1 651 372 8299 US (Minnesota)
+1 786 635 1003 US (Miami)
+1 267 831 0333 US (Philadelphia)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
Meeting ID: 983 5540 6434
Find your local number: https://uhd.zoom.us/u/ac9wELlpFw
Join by SIP
98355406434@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 983 5540 6434
Passcode: [REDACTED]

Rafal Dittwald, "Data Oriented Programming"
2022-05-18 19:00 - 21:00 | Zoom
Abstract: The term “data-oriented programming” is often mentioned in the digital halls of the Clojure community, but what does it mean? In this talk, Rafal will attempt to distill the zeitgeist to explain the relatively new paradigm and answer: Is it any good? Is it just a fad? Can it be applied outside of Clojure?
Bio: Rafal is an entrepreneur and software engineer from Toronto. He used to work with PHP, Ruby and Javascript, but for the last ten years, he’s been building web apps exclusively in Clojure and Clojurescript. He occasionally comes out of his cave to talk about programming.

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programmers
Time: May 18, 2022 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/98822713678?pwd=[REDACTED]
Meeting ID: 988 2271 3678
Passcode: [REDACTED]
One tap mobile
+13462487799,,98822713678# US (Houston)
+12532158782,,98822713678# US (Tacoma)
Dial by your location
+1 346 248 7799 US (Houston)
+1 253 215 8782 US (Tacoma)
+1 602 753 0140 US (Phoenix)
+1 669 219 2599 US (San Jose)
+1 669 900 6833 US (San Jose)
+1 720 928 9299 US (Denver)
+1 971 247 1195 US (Portland)
+1 206 337 9723 US (Seattle)
+1 213 338 8477 US (Los Angeles)
+1 312 626 6799 US (Chicago)
+1 470 250 9358 US (Atlanta)
+1 470 381 2552 US (Atlanta)
+1 646 518 9805 US (New York)
+1 646 558 8656 US (New York)
+1 651 372 8299 US (Minnesota)
+1 786 635 1003 US (Miami)
+1 267 831 0333 US (Philadelphia)
+1 301 715 8592 US (Washington DC)
Meeting ID: 988 2271 3678
Find your local number: https://uhd.zoom.us/u/abpH0QTsR
Join by SIP
98822713678@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 988 2271 3678
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/98822713678

Rúnar Bjarnason, "Unison: A Friendly Programming Language from the Future"
2022-04-20 19:00 - 21:00 | Zoom
Abstract: Unison is a radical new functional programming language that rethinks all aspects of the programming experience including the core language, runtime, tooling, as well as code versioning and publishing. The goal is to do whatever is necessary to eliminate needless complexity and make building software a delightful experience.
This talk is an overview of Unison and its two main ideas. Firstly, that a Unison codebase is structured immutable data rather than a mutable bag of text files. Secondly, that Unison definitions are referenced by a hash of their implementation rather than by name. We’ll see how these ideas have profound implications for what it’s like to write and consume software.
Bio: Rúnar is a cofounder of Unison Computing, which is creating the Unison programming language. Rúnar has been doing purely functional programming in Scala since 2005, and is one of two authors of the book Functional Programming in Scala.

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programmers
Time: Apr 20, 2022 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/95738446908?pwd=[REDACTED]
Meeting ID: 957 3844 6908
Passcode: [REDACTED]
One tap mobile
+13462487799,,95738446908# US (Houston)
+16692192599,,95738446908# US (San Jose)
Dial by your location
+1 346 248 7799 US (Houston)
+1 669 219 2599 US (San Jose)
+1 669 900 6833 US (San Jose)
+1 720 928 9299 US (Denver)
+1 971 247 1195 US (Portland)
+1 206 337 9723 US (Seattle)
+1 213 338 8477 US (Los Angeles)
+1 253 215 8782 US (Tacoma)
+1 602 753 0140 US (Phoenix)
+1 267 831 0333 US (Philadelphia)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
+1 470 250 9358 US (Atlanta)
+1 470 381 2552 US (Atlanta)
+1 646 518 9805 US (New York)
+1 646 558 8656 US (New York)
+1 651 372 8299 US (Minnesota)
+1 786 635 1003 US (Miami)
Meeting ID: 957 3844 6908
Find your local number: https://uhd.zoom.us/u/abNL0hdvpk
Join by SIP
95738446908@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 957 3844 6908
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/95738446908

Christopher Bremer, "Types and Categories the 'Easy' Way"
2022-03-16 19:00 - 21:00 | Zoom
There is a series of books by Zed Shaw called “Learn <X> the Hard Way” for X = Python, Ruby, etc. These books encourage the reader to embrace the nitty gritty of software development, put their hands on the keyboard, and code. I’m sure such a talk could exist for category theory and types and that it would be glorious. This is not that talk!
I will give a feel-good talk about category theory and why you might care about it. No jargon, no complicated examples, no technical caveats, all fluff! Think of it as the kind of math you can write down on a napkin at a cocktail party (as long as your counterpart doesn’t think too hard about it). Really, the only prerequisite is that you have a vague idea of what a “function” is and what a “set” is. I’m even going to try to keep things under 15 minutes!
Bio: Chris is a software engineer working in the energy industry. Previously, he was a mathematician studying algebraic geometry and an amateur jazz musician. He lives north of Houston with his family where he enjoys thinking about math and programming, listening to jazz, and reading.

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programmers
Time: Mar 16, 2022 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/97650775793?pwd=[REDACTED]
Meeting ID: 976 5077 5793
Passcode: [REDACTED]
One tap mobile
+13462487799,,97650775793# US (Houston)
+19712471195,,97650775793# US (Portland)
Dial by your location
+1 346 248 7799 US (Houston)
+1 971 247 1195 US (Portland)
+1 206 337 9723 US (Seattle)
+1 213 338 8477 US (Los Angeles)
+1 253 215 8782 US (Tacoma)
+1 602 753 0140 US (Phoenix)
+1 669 219 2599 US (San Jose)
+1 669 900 6833 US (San Jose)
+1 720 928 9299 US (Denver)
+1 651 372 8299 US (Minnesota)
+1 786 635 1003 US (Miami)
+1 267 831 0333 US (Philadelphia)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
+1 470 250 9358 US (Atlanta)
+1 470 381 2552 US (Atlanta)
+1 646 518 9805 US (New York)
+1 646 558 8656 US (New York)
Meeting ID: 976 5077 5793
Find your local number: https://uhd.zoom.us/u/abipYDELBV
Join by SIP
97650775793@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 976 5077 5793
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/97650775793

Joey Hess, "Programming Arduinos with Haskell and NASA's Copilot"
2022-02-16 19:00 - 21:00 | Zoom
Haskell’s runtime is too weighty for small embedded devices like the Arduino. NASA to the rescue! Their Copilot project provides a domain specific language embedded in Haskell that targets resource constrained devices. The arduino-copilot project adapts Copilot to the Arduino, allowing Arduino firmwares of moderate complexity to be written in Haskell with ease and type safety, in a Functional Reactive Programming style.
Joey Hess will demonstrate how to use arduino-copilot. Beyond the Arduino, over 350 different embedded boards are waiting in the wings, thanks to the Zephyr project, and Joey will discuss progress toward building a zephyr-copilot as well.
Bio: Joey Hess is the developer of git-annex and other Haskell projects. He lives in an offgrid cabin in Tennesee which itself runs Haskell. He was a long term developer of the Debian project.

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programmers
Time: Feb 16, 2022 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/93040352564?pwd=[REDACTED]
Meeting ID: 930 4035 2564
Passcode: [REDACTED]
One tap mobile
+13462487799,,93040352564# US (Houston)
+16692192599,,93040352564# US (San Jose)
Dial by your location
+1 346 248 7799 US (Houston)
+1 669 219 2599 US (San Jose)
+1 669 900 6833 US (San Jose)
+1 720 928 9299 US (Denver)
+1 971 247 1195 US (Portland)
+1 206 337 9723 US (Seattle)
+1 213 338 8477 US (Los Angeles)
+1 253 215 8782 US (Tacoma)
+1 602 753 0140 US (Phoenix)
+1 470 381 2552 US (Atlanta)
+1 646 518 9805 US (New York)
+1 646 558 8656 US (New York)
+1 651 372 8299 US (Minnesota)
+1 786 635 1003 US (Miami)
+1 267 831 0333 US (Philadelphia)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
+1 470 250 9358 US (Atlanta)
Meeting ID: 930 4035 2564
Find your local number: https://uhd.zoom.us/u/ace0y7crOU
Join by SIP
93040352564@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 930 4035 2564
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/93040352564

"My Favorite" - Functional Programming Edition
2022-01-19 19:00 - 21:00 | Zoom
Our scheduled speaker needs to reschedule. Never fear! We’re still meeting!
If you have a lightning talk (~5 mins) that you’d like to present (slides not necessary), this is the perfect opportunity!
I’m asking that everybody come prepared to briefly* talk about either (a) their favorite FP book/paper/presentation or (b) something new that you recently learned about FP that made you happy — e.g., an interesting project, function that you didn’t know existed, or new favorite website. (*When I say “briefly,” I mean it. One or two sentences is just fine: “My favorite FP book is $X, it’s about $Y, and I like it because $Z.”)
As always, we’ll also have plenty of opportunity for on- and off-topic discussion. 🙂

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programming Users Group
Time: Jan 19, 2022 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/91495093675?pwd=[REDACTED]
Meeting ID: 914 9509 3675
Passcode: [REDACTED]
One tap mobile
+13462487799,,91495093675# US (Houston)
+16699006833,,91495093675# US (San Jose)
Dial by your location
+1 346 248 7799 US (Houston)
+1 669 900 6833 US (San Jose)
+1 720 928 9299 US (Denver)
+1 971 247 1195 US (Portland)
+1 206 337 9723 US (Seattle)
+1 213 338 8477 US (Los Angeles)
+1 253 215 8782 US (Tacoma)
+1 602 753 0140 US (Phoenix)
+1 669 219 2599 US (San Jose)
+1 646 518 9805 US (New York)
+1 646 558 8656 US (New York)
+1 651 372 8299 US (Minnesota)
+1 786 635 1003 US (Miami)
+1 267 831 0333 US (Philadelphia)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
+1 470 250 9358 US (Atlanta)
+1 470 381 2552 US (Atlanta)
Meeting ID: 914 9509 3675
Find your local number: https://uhd.zoom.us/u/adZcwtWzVk
Join by SIP
91495093675@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 914 9509 3675
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/91495093675

Holiday Social
2021-12-15 19:00 - 21:00 | Zoom
Every December, we hold a holiday social gathering in lieu of a traditional talk. Like last year, we will be meeting online this year. Please join us! No agenda, just an opportunity to chat with other functional programming geeks.

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programming Users Group
Time: Dec 15, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/94093621582?pwd=[REDACTED]
Meeting ID: 940 9362 1582
Passcode: [REDACTED]
One tap mobile
+13462487799,,94093621582# US (Houston)
+12532158782,,94093621582# US (Tacoma)
Dial by your location
+1 346 248 7799 US (Houston)
+1 253 215 8782 US (Tacoma)
+1 602 753 0140 US (Phoenix)
+1 669 219 2599 US (San Jose)
+1 669 900 6833 US (San Jose)
+1 720 928 9299 US (Denver)
+1 971 247 1195 US (Portland)
+1 206 337 9723 US (Seattle)
+1 213 338 8477 US (Los Angeles)
+1 646 518 9805 US (New York)
+1 646 558 8656 US (New York)
+1 651 372 8299 US (Minnesota)
+1 786 635 1003 US (Miami)
+1 267 831 0333 US (Philadelphia)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
+1 470 250 9358 US (Atlanta)
+1 470 381 2552 US (Atlanta)
Meeting ID: 940 9362 1582
Find your local number: https://uhd.zoom.us/u/acMMDnPPW6
Join by SIP
94093621582@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 940 9362 1582
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/94093621582

Jeffery Olson, "A Functional Introduction to Rust"
2021-11-17 19:00 - 21:00 | Zoom
Abstract: Rust is a systems-level programming language that has generated a lot of buzz in the developer community since it’s public announcement in 2011 and subsequent 1.0 release in 2015. It aims for the trifecta of performance, safety and concurrency. Envisioned as a safer, “benefits of hindsight” language that can learn from the rough edges of C/C++, it nevertheless sparks interest in a much larger population of programmers.
Anyone familiar with Rust’s type system or its principal architects knows that it has a lot to offer those interested in functional programming, but what are the limits of that? The language also has a reputation for complexity, verbosity and some key FP-related limitations such that it may be off-putting to functional enthusiasts used to other FP-focused platforms.
In this talk we will chart a course by which to explore the functional capabilities of the language, while approaching the “limits” hinted at above. This talk will also include a cursory introduction to the language, it’s historical context, tooling, platform support and of course: your questions.
Bio: Jeffery Olson is currently a Senior Solutions Designer working at Insperity in Kingwood, TX. His path to programming passes through an early enthusiasm for Linux/FOSS software since the late 90s, a stint in the Army and a tech career starting in Seattle before moving to Houston in 2014. He began contributing to Rust in 2012, working mostly in the standard library, contributing initial versions of the network and filesystem APIs. His perspective is shaped by an interest in understanding the needs of, then solving real problems for, customers along with a lifelong curiosity for computing technology that has led him all over the map.

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programming Users Group
Time: Nov 17, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/95683022384?pwd=[REDACTED]
Meeting ID: 956 8302 2384
Passcode: [REDACTED]
One tap mobile
+13462487799,,95683022384# US (Houston)
+12063379723,,95683022384# US (Seattle)
Dial by your location
+1 346 248 7799 US (Houston)
+1 206 337 9723 US (Seattle)
+1 213 338 8477 US (Los Angeles)
+1 253 215 8782 US (Tacoma)
+1 602 753 0140 US (Phoenix)
+1 669 219 2599 US (San Jose)
+1 669 900 6833 US (San Jose)
+1 720 928 9299 US (Denver)
+1 971 247 1195 US (Portland)
+1 470 381 2552 US (Atlanta)
+1 646 518 9805 US (New York)
+1 646 558 8656 US (New York)
+1 651 372 8299 US (Minnesota)
+1 786 635 1003 US (Miami)
+1 267 831 0333 US (Philadelphia)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
+1 470 250 9358 US (Atlanta)
Meeting ID: 956 8302 2384
Find your local number: https://uhd.zoom.us/u/adZcwtWzVk
Join by SIP
95683022384@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 956 8302 2384
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/95683022384

Karl Lehenbauer, "TCL: The Tool Command Language - LISP for the Masses"
2021-10-20 19:00 - 21:00 | Zoom
Abstract: In 1991 TCL looked to me like LISP for the masses. It had a lot going for it. Minimal syntax. Really good with lists. At ease with recursion, yet better at manipulating text, in my opinion, which also I felt was really important. It seemed way more accessible for the journeyman programmer, whom I had found it difficult to get to engage with LISP.
An embeddable interpreter with a small footprint, TCL was intended to replace the myriad special purpose scripting languages that had proliferated in the 1980s with something that was capable, flexible, easy to learn, and free.
I was an early proponent of the language, contributed to its development, and used it extensively while building two successful, and one unsuccessful, businesses.
In this talk I’ll introduce TCL, talk about my hopes for it, how and why we used it, and attempt to illuminate where it succeeded, and where I think it has fallen short.
I intend to leave the participants with a basic understanding of the language, some of my a-little-bit-off-the-beaten-path precepts about what needs to be in a language for it to be successful, and useful, and appropriate for solving problems.

Bio: Karl Lehenbauer is a founding employee of FlightAware and has served as Chief Technology Officer since 2005. In his role as CTO, Lehenbauer leads the development and engineering teams, based in FlightAware’s Houston office.

The principal architect of FlightAware’s flight tracking technologies, Lehenbauer brings decades of experience designing and managing the development of large, real-time, mission critical applications spanning aircraft systems, electricity generation, transmission and distribution, and oilfield applications. He is regarded as an Internet pioneer and was the founder of the first Internet Service Provider in the Southern United States, which he sold in the 1990s. Previously, Lehenbauer served as an architect and developer for GE Aircraft Instruments’ engine monitoring and analysis devices. He was a major contributor to the design of the Tcl programming language, author or coauthor of numerous Tcl extensions, and is also a contributor to The Apache Project among other open source Internet projects and protocols dating back to the mid-1980s.
Lehenbauer is an avid cyclist, kayaker and outdoorsman, as well as an ASA stock car driver and instructor. He lives in Houston with his wife, Ellyn.
Lehenbauer holds an FAA pilot certificate.

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programmers
Time: Oct 20, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/98692952385?pwd=[REDACTED]
Meeting ID: 986 9295 2385
Passcode: [REDACTED]
One tap mobile
+13462487799,,98692952385# US (Houston)
+19712471195,,98692952385# US (Portland)
Dial by your location
+1 346 248 7799 US (Houston)
+1 971 247 1195 US (Portland)
+1 206 337 9723 US (Seattle)
+1 213 338 8477 US (Los Angeles)
+1 253 215 8782 US (Tacoma)
+1 602 753 0140 US (Phoenix)
+1 669 219 2599 US (San Jose)
+1 669 900 6833 US (San Jose)
+1 720 928 9299 US (Denver)
+1 646 558 8656 US (New York)
+1 651 372 8299 US (Minnesota)
+1 786 635 1003 US (Miami)
+1 267 831 0333 US (Philadelphia)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
+1 470 250 9358 US (Atlanta)
+1 470 381 2552 US (Atlanta)
+1 646 518 9805 US (New York)
Meeting ID: 986 9295 2385
Find your local number: https://uhd.zoom.us/u/acf2gZwbl2
Join by SIP
98692952385@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 986 9295 2385
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/98692952385

Jade Allen, "Out of the Tar Pit"
2021-09-15 19:00 - 21:00 | Zoom
Abstract: “Out of the Tar Pit” is one of my favorite academic computer science papers of all time. It is a paper which I believe should be read or re-read at least once a year.
It discusses the causes of complexity in computer systems and how to reduce complexity to improve programmer understanding, reduce coding and operational defects and ease code maintenance. The general technique for doing this is employing a methodology the authors call “Functional Relational Programming.” In this talk, we will discuss the broad outlines of the topics in the paper and how they apply to our real world software development experiences.
Please read the full paper[1] (if you have time) otherwise, a very good tl;dr summary is available here[2].
[1]: http://curtclifton.net/papers/MoseleyMarks06a.pdf
[2]: https://blog.acolyer.org/2015/03/20/out-of-the-tar-pit/
Biography: Jade Allen has been a software developer for over 20 years. She currently works at Helium Inc where she helps maintain a large (Byzantine fault tolerant) distributed system that relays sensor data from IoT devices to the Internet. She has worked on a variety of software projects over her career from databases to storage services to systems automation tools. Her avocational interests involve spin class, cooking, and cheesy pop culture references.

This will be an online event via Zoom:
Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programming Users Group
Time: Sep 15, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/95451930527?pwd=[REDACTED]
Meeting ID: 954 5193 0527
Passcode: [REDACTED]
One tap mobile
+13462487799,,95451930527# US (Houston)
+16699006833,,95451930527# US (San Jose)
Dial by your location
+1 346 248 7799 US (Houston)
+1 669 900 6833 US (San Jose)
+1 253 215 8782 US (Tacoma)
+1 312 626 6799 US (Chicago)
+1 646 558 8656 US (New York)
+1 301 715 8592 US (Washington DC)
Meeting ID: 954 5193 0527
Find your local number: https://uhd.zoom.us/u/asjFuEGUr
Join by SIP
95451930527@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 954 5193 0527
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/95451930527

Richard Feldman, "Millions of Users, Purely Functional Code"
2021-08-18 19:00 - 21:00 | Online
Abstract: At NoRedInk we had a normal React code base. That is, until we tried Elm – a purely functional language that compiles to JavaScript. A couple years and a couple hundred thousand lines of Elm code later, we found ourselves with a lot more users and no runtime exceptions in the production logs from our Elm code.
Lots of companies dabble in functional programming, but most code in the world today is imperative. In contrast, the NoRedInk story is one of a successful business built on pure functional programming: today essentially our entire frontend is Elm, and the majority of our traffic is handled by a Haskell service on the back-end.
This talk is partly about what these technologies are – so don’t worry if they’re unfamiliar! – and partly about why and how we successfully adopted them.
Bio: Richard helps create NoRedInk’s user interface. Prior to NoRedInk, Richard architected a data visualization framework for high-throughput genomic sequencing, built a long-form writing web app that could be brought up and used offline, and worked for three other startups—two of which he co-founded. He has a bachelor’s degree in Computer Science and an MBA, both from Washington University in St. Louis. He nods approvingly when grocery store express checkouts are labeled “10 items or fewer” instead of “10 items or less.”

Due to Delta, we are returning to virtual meetings as of this month. Please join us on Zoom:
Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programming Users Group
Time: Aug 18, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/93647401926?pwd=[REDACTED]
Meeting ID: 936 4740 1926
Passcode: [REDACTED]
One tap mobile
+13462487799,,93647401926# US (Houston)
+12532158782,,93647401926# US (Tacoma)
Dial by your location
+1 346 248 7799 US (Houston)
+1 253 215 8782 US (Tacoma)
+1 669 900 6833 US (San Jose)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
+1 646 558 8656 US (New York)
Meeting ID: 936 4740 1926
Find your local number: https://uhd.zoom.us/u/acBwc94RDn
Join by SIP
93647401926@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 936 4740 1926
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/93647401926

OCaml Café: Introduction to Dune and Open Forum
2021-08-04 19:00 - 21:00 | Zoom
OCaml Café offers a friendly, low stakes opportunity to ask questions about the OCaml language and ecosystem, work through programming problems that you’re stuck on, and get feedback on your code. Especially geared toward new and intermediate users, experienced OCaml developers will be available to answer your questions. Bring your code and we’ll be happy to review it, assist with debugging, and provide recommendations for improvement.
This month, OCaml Café will consist of two parts. First, Rudi Grinberg of OCaml Labs will present an informal introduction to Dune, the OCaml build system. Learn about Dune from one the people developing it. Following Rudi’s presentation, we will open the discussion to all things OCaml-related.
Whether you’re still trying to make sense of currying or can spot non-tail-recursive code from across the room, we hope that you’ll join us with your questions about OCaml, or just to hang out with the OCaml community.

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: OCaml Café
Time: Aug 4, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/98900664151?pwd=[REDACTED]
Meeting ID: 989 0066 4151
Passcode: [REDACTED]
One tap mobile
+13462487799,,98900664151# US (Houston)
+16699006833,,98900664151# US (San Jose)
Dial by your location
+1 346 248 7799 US (Houston)
+1 669 900 6833 US (San Jose)
+1 253 215 8782 US (Tacoma)
+1 646 558 8656 US (New York)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
Meeting ID: 989 0066 4151
Find your local number: https://uhd.zoom.us/u/aYt0E10Uj
Join by SIP
98900664151@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 989 0066 4151
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/98900664151

Duncan McGreggor, "Erlang Music Systems Programming with Lisp"
2021-07-21 19:00 - 21:00 | Improving, 10111 Richmond Ave, Suite 100, Houston, TX, 77042, United States
In this talk, Duncan will share the motivation, design, and use of undertone in creating musical compositions as well as guiding the code to generate music. Two backends will be examined (Extempore and Geert Bevin’s MIDI tools) as well as the integrations of these with TCP clients and servers, OSC (Open Sound Control), an embedded HTTP server, general Erlang/OTP practices in building fault tolerant systems, and what all of this looks like in the LFE Lisp dialect and Extempore’s Scheme dialects.”
Speaker Bio: Duncan has had a full career in the computing industry, where his quarter-century of computer programming experience has led to the current position as Principal Engineer working for the CTO of a tech company. The path to this point has been wild and varied, including not only professional high-points of working at NASA as well as for Ubuntu — at the time, the world’s most popular Linux operating system distribution — but also as a linguist in the 101st Airborne Division; physics and maths student at uni; a meditation student traveling to India and Nepal; a casualty of the dot-com bust of 2000/2001 and the 2007/2008 recession; and one of millions of programmers in Silicon Valley and the Bay Area. He has also managed to write a technical book on mathematical programming, create two home-based recording studios, and learn carpentry as part of fixing up a 1915 American Arts-and-Crafts-era home, falling in love with the hand tools of fine woodworking as a result. His deepest technical passion for the past decade has been as a contributor to Lisp Flavoured Erlang (LFE), created and maintained by Robert Virding, co-inventor of Erlang itself.

This is a hybrid meeting. You may join us in person at Improving (map below) or virtually via Zoom.
Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programming Users Group
Time: Jul 21, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/96986781240?pwd=[REDACTED]
Meeting ID: 969 8678 1240
Passcode: [REDACTED]
One tap mobile
+13462487799,,96986781240# US (Houston)
+12532158782,,96986781240# US (Tacoma)
Dial by your location
+1 346 248 7799 US (Houston)
+1 253 215 8782 US (Tacoma)
+1 669 900 6833 US (San Jose)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
+1 646 558 8656 US (New York)
Meeting ID: 969 8678 1240
Find your local number: https://uhd.zoom.us/u/ad4pYL16uj
Join by SIP
96986781240@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 969 8678 1240
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/96986781240

Gabriel Gonzalez, "Dhall: A Programmable Configuration Language"
2021-06-16 19:00 - 21:00 | Improving, 10111 Richmond Ave, Suite 100, Houston, TX, 77042, United States
Dhall is a domain-specific language for enriching configuration files with programming features like types, functions, and imports. The built-in language security features (such as strong normalization, integrity checks, and restricted side effects) distinguishes Dhall from other programmable configuration languages. The talk will begin by showing how to use Dhall as plain configuration file format in a manner similar to JSON and then slowly introduce programming language features to improve maintainability. Afterwards the talk will highlight the language security guarantees by demonstrating how to create a server that can safely interpret untrusted Dhall client code server-side.
Bio: Gabriel is a Haskell evangelist who believes that total functional programming is the future of software engineering. He’s most well-known for his blog (haskellforall.com) and for originally authoring Dhall.

Location: This will be a hybrid meeting. (Our first! So please expect glitches 🙂 ) You may join us virtually or in-person at Improving. Zoom info and location info for Improving are below.
Please know that we are not requiring masks, and plan accordingly. However you join us, we look forward to seeing you.

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programmers
Time: Jun 16, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/98197229942?pwd=[REDACTED]
Meeting ID: 981 9722 9942
Passcode: [REDACTED]
One tap mobile
+13462487799,,98197229942# US (Houston)
+12532158782,,98197229942# US (Tacoma)
Dial by your location
+1 346 248 7799 US (Houston)
+1 253 215 8782 US (Tacoma)
+1 669 900 6833 US (San Jose)
+1 312 626 6799 US (Chicago)
+1 646 558 8656 US (New York)
+1 301 715 8592 US (Washington DC)
Meeting ID: 981 9722 9942
Find your local number: https://uhd.zoom.us/u/aex5ISIQ3b
Join by SIP
98197229942@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 981 9722 9942
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/98197229942

John Cavnar-Johnson, "Functional Code That Even Your Server Can Understand"
2021-05-19 19:00 - 21:00 | Zoom
No, not that kind of server. Have you ever imagined writing functional code that any waiter or waitress (that kind of server) could understand? One of the core tenets of domain driven design is using the ubiquitous language of your users. How often do we really succeed though? For this talk, I’ll use my favorite functional language, F#, with an interesting assist from one of my favorite font features, to write a simple restaurant reservation system that my favorite server can understand. What could we do if normal people could read our code and verify that we have understood the problem domain?
John Cavnar-Johnson is a software developer/architect working as a Principal Consultant for Improving. In the last 30 years, he’s been a corporate developer, IT sysadmin, trainer, software development manager, IT enterprise architect, consultant, and entrepreneur, but mostly he’s spent his time solving problems and hooking stuff together. In his spare time, he likes reading, drinking craft beer, and playing with his grandkids.

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programmers
Time: May 19, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/92929199338?pwd=[REDACTED]
Meeting ID: 929 2919 9338
Passcode: [REDACTED]
One tap mobile
+13462487799,,92929199338# US (Houston)
+12532158782,,92929199338# US (Tacoma)
Dial by your location
+1 346 248 7799 US (Houston)
+1 253 215 8782 US (Tacoma)
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
Meeting ID: 929 2919 9338
Find your local number: https://uhd.zoom.us/u/adZqi3TixQ
Join by SIP
92929199338@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 929 2919 9338
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/92929199338

Martin Jambon, "9+ Languages?! How we built Semgrep, a polyglot static analysis tool"
2021-04-21 19:00 - 21:00 | Zoom
Semgrep is an open-source syntax-aware grep, which is used to scan source code for insecure patterns such as ‘exec(…)’. It allows the user to specify patterns in the same language as the target, with only the addition of a few constructs such as ‘…’ and ‘$FOO’. We will cover basic usage before diving into the design and the OCaml implementation. In particular, I will present:

challenges of parsing and analyzing many programming languages,
the generic mode, which handles unsupported languages

Bio: Martin is an alumnus from ENS Lyon, France, where he was introduced to OCaml in 1998. He then started a research career on inferring protein function from details of their 3D structure. After obtaining his PhD, he moved to the US and eventually left proteins and academia. For the last 10+ years, he’s been in several SF Bay Area startups, joining r2c’s program analysis team in 2020. His hobbies include trail running and the development of artificial minds.

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programmers
Time: Apr 21, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/99936877456?pwd=[REDACTED]
Meeting ID: 999 3687 7456
Passcode: [REDACTED]
One tap mobile
+13462487799,,99936877456# US (Houston)
+12532158782,,99936877456# US (Tacoma)
Dial by your location
+1 346 248 7799 US (Houston)
+1 253 215 8782 US (Tacoma)
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
Meeting ID: 999 3687 7456
Find your local number: https://uhd.zoom.us/u/aeGQrbNJt
Join by SIP
99936877456@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 999 3687 7456
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/99936877456

OCaml Café
2021-04-13 19:00 - 21:00 | Zoom
OCaml Café offers a friendly, low stakes opportunity to ask questions about the OCaml language and ecosystem, work through programming problems that you’re stuck on, and get feedback on your code. Especially geared toward new and intermediate users, experienced OCaml developers will be available to answer your questions.
Whether you’re still trying to make sense of currying or can spot non-tail-recursive code from across the room, we hope that you’ll join us with your questions about OCaml, or just to hang out with the OCaml community.

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: OCaml Café
Time: Apr 13, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/99602029816?pwd=[REDACTED]
Meeting ID: 996 0202 9816
Passcode: [REDACTED]
One tap mobile
+13462487799,,99602029816# US (Houston)
+12532158782,,99602029816# US (Tacoma)
Dial by your location
+1 346 248 7799 US (Houston)
+1 253 215 8782 US (Tacoma)
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
Meeting ID: 996 0202 9816
Find your local number: https://uhd.zoom.us/u/aSIwDXzK
Join by SIP
99602029816@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 996 0202 9816
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/99602029816

Debasish Ghosh, "Functional and Algebraic Domain Modeling"
2021-03-24 19:00 - 21:00 | Zoom
[Please note that we will be meeting a week later than usual this month: on the 4th Wednesday of March, rather than the 3rd Wednesday.]
From algebra of types to the algebra of domain models – the talk focuses on how an algebraic approach with pure functional programming can help evolve domain models in real life use cases. The secret sauce is “compositionality” – the talk demonstrates how carefully developed combinators compose algebraically to evolve into larger domain abstractions from smaller ones. And this composition is type-safe which implies that most of our domain invariants are statically checked and verified during compilation time. In course of the talk we develop real life use cases and demonstrate the veracity of our algebraic approach. The talk also discusses how to model side-effects as pure algebraic abstractions and make them composable along with the rest of the domain model.
The talk uses Scala, a functional programming language that offers strong typing. And we will see how the strong type system plays an important role in designing type-safe domain models.
Speaker Biography: Foodie, father, husband and Seinfeld fanboy. Senior member of ACM and loves spending time with his beautiful family. Passionate about technology and open source, loves functional programming, math and machine learning. Authored 2 books – (a) DSLs In Action and (b) Functional & Reactive Domain Modeling both published by Manning. Tweets at @debasishg, blogs at “Ruminations of a Programmer” (http://debasishg.blogspot.com).

Connection Info
Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programmers
Time: Mar 24, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/99098372555
Meeting ID: 990 9837 2555
Passcode: [REDACTED]
One tap mobile
+13462487799,,99098372555# US (Houston)
+16699006833,,99098372555# US (San Jose)
Dial by your location
+1 346 248 7799 US (Houston)
+1 669 900 6833 US (San Jose)
+1 253 215 8782 US (Tacoma)
+1 312 626 6799 US (Chicago)
+1 646 558 8656 US (New York)
+1 301 715 8592 US (Washington D.C)
Meeting ID: 990 9837 2555
Find your local number: https://uhd.zoom.us/u/abaGfErkf
Join by SIP
99098372555@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada)
207.226.132.110 (Japan)
Meeting ID: 990 9837 2555
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/99098372555

OCaml Café
2021-03-09 19:00 - 21:00 | Zoom
OCaml Café offers a friendly, low stakes opportunity to ask questions about the OCaml language and ecosystem, work through programming problems that you’re stuck on, and get feedback on your code. Especially geared toward new and intermediate users, experienced OCaml developers will be available to answer your questions.
Whether you’re still trying to make sense of currying or can spot non-tail-recursive code from across the room, we hope that you’ll join us with your questions about OCaml, or just to hang out with the OCaml community.

Connection Info
Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: OCaml Café
Time: Mar 9, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/95242455982?pwd=[REDACTED]
Meeting ID: 952 4245 5982
Passcode: [REDACTED]
One tap mobile
+13462487799,,95242455982# US (Houston)
+12532158782,,95242455982# US (Tacoma)
Dial by your location
+1 346 248 7799 US (Houston)
+1 253 215 8782 US (Tacoma)
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
Meeting ID: 952 4245 5982
Find your local number: https://uhd.zoom.us/u/af3P5eM4H
Join by SIP
95242455982@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 952 4245 5982
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/95242455982

Christopher Bremer, "A More Expressive Foreign Function Interface (with F# Computation Expressions)"
2021-02-24 19:00 - 21:00 | Zoom
Note: Due to the winter storm in Houston, we’ve rescheduled this talk for the following week at Wed 2/24 at 7pm. Connection info remains the same.

Abstract: One of the funny things about working with engineers is how differently they think about programming. They use strange languages (MATLAB! ANSYS!) and are far more concerned about vectors and meshes than serialization and data structures. I will talk about how using an expressive language like F# allows me to foster a productive relationship with development engineers. In particular, I will show how I use F# computation expressions to interface with MATLAB in a way that does not sacrifice comprehensibility.
Bio: Chris is a software engineer working in the energy industry. Previously, he was a mathematician studying algebraic geometry and an amateur jazz musician. He lives north of Houston with his family where he enjoys thinking about math and programming, listening to jazz, and reading.

Connection Info
Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: Houston Functional Programmers
Time: Feb 17, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/93895136136?pwd=[REDACTED]
Meeting ID: 938 9513 6136
Passcode: [REDACTED]
One tap mobile
+13462487799,,93895136136# US (Houston)
+12532158782,,93895136136# US (Tacoma)
Dial by your location
+1 346 248 7799 US (Houston)
+1 253 215 8782 US (Tacoma)
+1 669 900 6833 US (San Jose)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
+1 646 558 8656 US (New York)
Meeting ID: 938 9513 6136
Find your local number: https://uhd.zoom.us/u/aSIwDXzK
Join by SIP
93895136136@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 938 9513 6136
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/93895136136

OCaml Café
2021-02-11 19:00 - 20:00 | Zoom
Join us with your questions about the OCaml language, or just to hang out with the OCaml community. Especially geared toward new and intermediate users, experienced OCaml developers will be available to answer your questions about the language and ecosystem.
Whether you’re still trying to make sense of currying or can spot non-tail-recursive code from across the room, we hope that you’ll join us.

Connection Info

Claude Rubinson is inviting you to a scheduled Zoom meeting.
Topic: OCaml Cafe
Time: Feb 11, 2021 07:00 PM Central Time (US and Canada)
Join Zoom Meeting
https://uhd.zoom.us/j/99716496079?pwd=[REDACTED]
Meeting ID: 997 1649 6079
Passcode: [REDACTED]
One tap mobile
+13462487799,,99716496079# US (Houston)
+16699006833,,99716496079# US (San Jose)
Dial by your location
+1 346 248 7799 US (Houston)
+1 669 900 6833 US (San Jose)
+1 253 215 8782 US (Tacoma)
+1 646 558 8656 US (New York)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
Meeting ID: 997 1649 6079
Find your local number: https://uhd.zoom.us/u/aSIwDXzK
Join by SIP
99716496079@zoomcrc.com
Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 997 1649 6079
Passcode: [REDACTED]
Join by Skype for Business
https://uhd.zoom.us/skype/99716496079

Francois Berenger, "OCaml Batteries Included: An Open-Source Extended Standard Library for OCaml"
2021-01-20 19:00 - 21:00 | Zoom (connection info provided in comments)
OCaml is a strongly-typed functional programming language with type-inference, born in France at INRIA. One particularity of OCaml is that while the compiler is developed in a pristine cathedral, the ecosystem of libraries offer a fantastic bazaar. In this bazaar, one can find no less than three alternative standard libraries: Batteries, Containers, and Jane Street’s Base/Core. While the OCaml compiler ships with a library called the stdlib, it is intentionally kept relatively sparse in terms of features and contains non tail-recursive code. On the contrary, the extended standard libraries offer rich feature sets and aim to embed only production-ready (safe) tail-recursive code. First released in 2008, OCaml Batteries Included (“Batteries”) is a community-driven effort that extends the stdlib with additional data structures and functionalities. Dr. Francois Berenger (Kyushu Institute of Technology, Japan), one of Batteries’ active maintainers will give us a tour of Batteries and discuss the pros and cons of competing extended libraries.
Speaker Biography: Francois Berenger, Ph.D. is a chemoinformatics method development postdoc researcher at Kyushu Institute of Technology, Japan. Francois specializes in molecular encoding, molecular similarity search and predictive modeling of chemical datasets. Francois is an active proponent of open-source and open-data in science and one of the active maintainers of “Batteries,” an alternative extended standard library for the OCaml programming language.

Holiday Social
2020-12-16 19:00 - 21:00 | Online
In lieu of a speaker, we will gather online for end-of-the-year merrymaking. BYOB!
Connection information is below.

Eric Normand, "Grokking Simplicity"
2020-11-18 19:00 - 21:00 | Zoom (connection info provided in comments)
What is functional programming? Sure, there are academic answers, but is there a good definition that encompasses all that we do in day-to-day software engineering? In his forthcoming book Grokking Simplicity, Eric Normand gathers functional programming practices from the industry, distill them down, and teach them to beginners.
In this talk, Eric will present functional programming as a set of skills, not a dogma about programming style. Then we’ll learn some practical skills you can apply at your work, regardless of the programming language or paradigm you use. You’ll get a good sense of the style and scope of the book, and he’ll present some sneak peeks at upcoming chapters.
Eric Normand is a functional programming teacher, writer, and consultant. You can find him teaching functional programming on PurelyFunctional.tv and LispCast.com. He is the host of the podcast Thoughts on Functional Programming and author of Grokking Simplicity, published by Manning. He lives in New Orleans, where he was raised.
λ
Giveaways! Thanks to the generosity of Eric and Manning, we will have copies of Grokking Simplicity to give away and discounts for Manning publications!

Adam Gordon Bell, "Functional Programming is Undefined"
2020-10-21 19:00 - 21:00 | Zoom (connection info provided in comments)
Functional Python Programming and Verified Functional Programming in Agda are both books teaching functional programming. Yet the books are about very different things. How can this be? Over the course of 58 interviews, Adam Gordon Bell has interviewed many experts on software development. These include programming language creators, high-performance computing experts, and functional programming gurus. In this session, Adam will share some behind-the-scenes information about the podcast and a collection of insights he has learned from his guests. One of these insights is that functional programming, as a term, is undefined.

Adam is a software engineer and an open-source advocate. He is currently working on the open-source build tool earthly (http://earthly.dev/) . He is the host of the popular software development podcast Corecursive (http://corecursive.com/).

Office Hours
2020-09-16 19:00 - 21:00 | TX
This month, we’ll be having office hours in lieu of a speaker. This is a chance to show off works-in-progress, ask questions or generally help others out with any kinds of questions in functional programming languages. Feel free to BYOBeverage and chat if you like.

"That's so META" with John Cavnar-Johnson
2020-08-19 19:00 - 21:00 | TX
Please join us this Wednesday night at 7 pm CDT when John Cavnar-Johnson will discuss “That’s so META”, a talk about “metaprogramming” – what is metaprogramming? Join us and find out!

What happens when an ordinary programmer discovers that the META (Most Effective Tactic Available) for the problem at hand is metaprogramming? Metaprogramming (where code treats other code as data) has long been a tool mostly reserved for the “big brain” computer scientists. In this session, I use some existing metaprogramming tools to cobble together a solution to a real world problem (bridging the gap between a relational data model and F# discriminated unions and record types). If an old liberal arts major can pull this off, you can too.
John Cavnar-Johnson is a software developer/architect working as a Principal Consultant for Improving. In the last 30 years, he’s been a corporate developer, IT sysadmin, trainer, software development manager, IT enterprise architect, consultant, and entrepreneur, but mostly he’s spent his time solving problems and hooking stuff together. In his spare time, he likes reading, drinking craft beer, and playing with his grandkids.

Jean Yang of Akita Software
2020-06-17 19:00 - 21:00 | TX
I am excited to welcome Jean Yang as our guest for our meetup this Wednesday, June 17 at 7 pm CDT. She will be discussing:

We need API tools as much as we need developer tools
Fuzzing as a formal method for correctness

She is also going to cover some of the work she and her team at Akita Software have been working on.
Please join us! This should be very interesting. We will once again be using Zoom to handle our meetup. The URL is:
https://zoom.us/j/92789988549?pwd=[REDACTED]

Introduction to Pony with Sean T. Allen
2020-05-20 19:00 - 21:00 | TX
I am excited to announce that Sean T. Allen will be joining us to provide an informal introduction to the Pony programming language.

Functional Geekery's Steven Proctor
2020-04-15 19:00 - 21:00 | TX
I am excited to announce that our virtual guest this month will be Steven Proctor, the host of the Functional Geekery podcast. He will be joining us on Google Hangout to talk about his podcast – how he produces it, how he selects guests and other topics!
I hope you can join us this month on our Hangout on Wednesday, April 15, 2020, 7 pm CDT. I made the invite public so you should be able to RSVP on it as well as get the Hangout URL from there.
