
Sign up to save your podcasts
Or


In this episode I talk with Martin J. Logan. We talk his experience in CTO roles guiding organizations through functional programming transformations, from lessons learned, tips, tools, strategies, how the grassroots level can help, and much more.
@martinjlogan on Twitter
Reminder that as part of last episode Manning has offered listeners of the podcast a permanent 40% discount code, good for any of their products, in all formats.
Use code podgeekery20 for your 40% discount.
Elm Conf is going virtual! Taking place July 15th-17th in your home. The Call for Talks is open and early bird registration has started. Find out more at https://2020.elm-conf.com.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
Welcome Martin
Erlware
Martin on Episode 13
Erlang Camp
Lambda Jam 2014 – Design and architecture for actors
[Designing for Actor Based Systems blog post)[http://blog.erlware.org/designing-for-actor-based-systems/]
Being a CTO and bringing functional programming into organizations
Guaranteed Rate
William Hill
A first attempt on .NET with F#
Next attempt using Clojure
“My bet was that there are more smart and talented individuals that want to learn functional programming then there are companies smart or brave enough to give it a try”
Opening up the organization to be more polyglot
Wanting at least one Anchor to teach and mentor the group
Why Clojure was good
Being on the JVM.
“We’re doing Java […] its basically Java, it runs with Java, it interoperates with Java”
Lessons learned from the F# going into Clojure
Commitment of investing through the slowdown to get faster
What helps at at the grassroots to help with a transformation
Participation, Mentoring, Someone willing to help work through exercises with people
Real projects to work on
How to think about limiting the talent pool on the bet for being a functional programming shop
How big of a community are you really looking to build
Being exciting enough to get people from Cognitect working who worked on Clojure
Training and seeding teams
Having the light bulb go off and not wanting to leave and have to go back to other languages
Small team (4-6 people) with single anchor for about 6 months to build a team
Allowing those team members to go out to seed new teams
The fear moves away and people want to learn Clojure
ClojureScript being pulled into the front-end browser flows
Clojure University
Importance of the Install Party to get a high quality development environment setup
Clojure Essentials
Functional Programming patterns similar to Object Oriented Patterns
Doing it again at William Hill with Scala
Avoiding the same bad habits in Java
Scala community being steeped in Category Theory
“Scala will expose you everything you get out of Haskell on the JVM”
Streams in Scala
Helping to make the ground more fertile for a functional transformation
Pointing at other successful organizations
Languages on the JVM help
Helping find an anchor
Working to make it really successful
Focus on the business value and minimize the risks
“Don’t make it just a learning project but a delivery project as well”
As always, a giant Thank You goes to David Belcher for the logo design.
In this episode I talk with Ivan Čukić. We talk his introduction to functional programming, adopting Scala, his book “Functional Programming in C++”, the C++ communities adoption of functional programming, and much more.
@ivan_cukic on Twitter
https://cukic.co/
Functional Programming in C++
Ivan’s Projects
As part of this episode Manning has offered listeners of the podcast a permanent 40% discount code, good for any of their products, in all formats.
Use code podgeekery20 for your 40% discount.
Elm Conf is going virtual! Taking place July 15th-17th in your home. The Call for Talks is open and early bird registration has started. Find out more at https://2020.elm-conf.com.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
About Ivan
Functional Programming in C++
How Ivan was first exposed to Functional Programming
Being taught LISP
Working in Java
Being a big event when Java introduced forEach
Haskell
“Multi-threaded and shorter to write”
Seeing annotations of a Java program on what would be equivalent in Haskell
Haskell as the background noise in his life
Picking Scala when going back to the JVM
Adopting Scala
Transitioning from a “better Java” to a “worse Haskell”
Akka
Erlang
Akka and influence to any OOP style that might have still existed
C++
Ranges library
What it means to be a Functional Programming Language
STL
“C++ has always been a functional language”
Eric Normand’s Clojure Mid-Cities User Group presentation
Timing of the C++ community’s evolution to functional programming with Ivan’s use of functional C++
Cute
Giving a talk about asynchronous programming with Monads
Sean Parent – C++ Seasoning
Deciding to write a book on functional programming in C++
The target audience of Functional Programming in C++
“I don’t see what functional programming in here, it’s just common sense”
Strengths of C++ with functional programming
Lambdas in C++
Having control over everything
Simulating Linear Types in C++ easily vs needing compiler support in Haskell
Where the sane defaults in C++ fit with Functional Programming
immer library for immutable data structures
Clojure
Topics in the book for people not familiar with C++
“Like all Monad tutorials I claim that mine works and none of the others do”
IO Monad being useless in C++
Ivan’s view of Rust as a C++ Developer
D
“All the serious projects use the unsafe features of the language”
What Ivan would love to see the C++ community adopt
What is exciting Ivan currently
Bitmap Vector Trie or Ideal Hash Trees
General Recommendations
“Stay Safe”
“Investigate the beautiful world of open source and free software”
As always, a giant Thank You goes to David Belcher for the logo design.
In this episode I talk with Eric Normand. We talk his podcast “Thoughts on Functional Programming”; his in-progress book “Grokking Simplicity“; Actions, Calculations, and Data; trying to bury mutation and side-effects; Property-Based testing; and more.
@ericnormand on Twitter
Lambda Days 2020 will be on the 13th and 14th of February in Kraków, Poland. Visit https://www.lambdadays.org/lambdadays2020 to find out more and to register.
Code BEAM SF is taking place on March 6th and 6th. For more information visit: https://codesync.global/conferences/code-beam-sf/.
Elm in the Spring will be taking place May 1st. Check in at https://www.elminthespring.org/ to keep updated as more information gets announced.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
Welcome back Eric
What Eric has been up to since Episode 117
PurelyFunctional.tv
Grokking Simplicity
What prompted the Thoughts on Functional Programming podcast
Started from Eric’s talk at Lambdup 2017
Being told it is much easier to edit existing text than write new text
Trying to start a literature around functional programming
Figuring out the format/layout of the book
“Just imagine each page as a slide”
The target audience for the book
“Functional programming is programming without side effects”
Not being able to recommend any books on getting started with functional programming
Actions, Calculations, and Data
Actions (Impure “Function”) – Depend on when, or how many times, they are run
Side-effects also being the reason we write programs
Calculations (Pure “Functions”) – Same arguments, same answer no matter how many times you run it
Data – completely inert
Data can be interpreted in multiple ways
Other side of Data is that it requires at least some interpretation
How to help distinguish Actions from Calculations
Haskell‘s IO type containing all side-effects as brilliant
The illusion that we are not doing any mutability at the machine level
Blurry line between Actions and Calculations in some cases
Any conventions for later readers to hint at Actions vs Calculations
Selling the separation of Calculations from Actions
Spending time on showing how Actions “contaminate” Calculations
The idea that “You could abstract away the mutation”
Thinking you are going to bury and covering up the problem
“Can you construct a User from an ID without hitting the database”
Needing mocks as a possible signal of being an Action instead of a Calculation
PurelyFunctional.tv videos
Thoughts on Functional Programming podcast
Property-Based Testing videos
Beginning Property-Based Testing course
Intermediate Property-Based Testing course
Advanced Property-Based Testing course
Property-Based testing
QuickCheck
Next course likely building a web-app in Clojure
Bag of Tricks for Property-Based testing
Developing for Stateful Systems
Model-based Property testing
Taking a Stateful test to a Parallel test to a Distributed Test
TSSIMPLICITY discount code for 50% off
As always, a giant Thank You goes to David Belcher for the logo design.
In this episode I talk with Gene Kim. We talk his introduction to Clojure and functional programming, The Phoenix Project and The Unicorn Project, Functional Architecture, lessons learned, his Love Letter to Clojure, and much, much, more.
@realgenekim on Twitter
realgenekim on LinkedIn
Lambda Days 2020 will be on the 13th and 14th of February in Kraków, Poland. Visit https://www.lambdadays.org/lambdadays2020 to find out more and to register.
Code BEAM SF is taking place on March 6th and 6th. For more information visit: https://codesync.global/conferences/code-beam-sf/.
Elm in the Spring will be taking place May 1st. Check in at https://www.elminthespring.org/ to keep updated as more information gets announced.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
About Gene
Tripwire
State of DevOps Report
The Phoenix Project
The DevOps Handbook
The Unicorn Project
Clojure
Love Letter to Clojure (Part 1)
Ops being where the saves were made
Gene Spafford
Morris worm
90% of his errors go away when using Clojure
What put Clojure on his list to pick up
Ruby Reference Manual
How Ruby strings aren’t immutable
Reading a Clojure book and bolting upright in bed finding out that Ruby’s << operator modifies the right hand side array
Java Concurrency in Practice
Eiffel
Object Oriented Software Construction
Smalltalk
Immutability and Value Object in Object Oriented style
Working in the REPL in Clojure
Writing a vacation notifier for Gmail
Rewrites note taking and tweeting app a number of times
Objective C
TypeScript and React
Clojure and re-frame
Data is immutable, but the program is very mutable
Flow by Mihaly Csikszentmihalyi
Flow, the secret to happiness Ted Talk
Peak by Anders Ericsson
Deliberate Practice
Grit by Angela Duckworth
Have a coach; Do practice
Podcasts
David Koontz on Functional Geekery
LambdaCast
Functional Design in Clojure podcast
JavaScript tooling environment
Cats library
Haskell
How has Clojure refreshed Gene’s thinking when going back to older programs
Maxine in The Unicorn Project
Micheal Nygard
How did the scenes resonate to Proctor
RamdaJs
Brian Lonsdorf on Functional Geekery
David Chambers covering Ramda on Functional Geekery
Seeing the shape of the data
Some form of a combination of map, filter, reduce
“Is it good to think with”
Sapir-Whorf hypothesis: Language affects worldview of the speakers
Eric Normand on thinking in types based off experience in Haskell
Grokking Simplicity
Actions, Calculation, Data
Simon Peyton Jones on Functional Geekery
Dr. John Launchbury
Creating Word-Cloud from bibliography and replacing “Ibid.” problem
“What are the types of input and output?”
“What is the correct answer when you have just one element ‘Ibid.’?”
clojure.spec
How much did Functional Programming and data-focus opting to write The Unicorn Project
Studying Rich Hickey videos
Rich Hickey’s 2015 JavaOne presentation
Lunch Factor: How many people do we need to take out to lunch to get something done?
“How do you get data where it resides […] to where developers can use it in their daily work”
Kafka
Event Sourcing
Self Identifying as a Developer after 25 years
Gene’s current view on Functional Architecture
Scott Havens (of Jet.com and Walmart.com) presentation on turning 23 API calls to 2 API calls
Scott Havens’ talk about rebuilding Kafka servers
F#
The 5 Ideals:
Project Oxygen at Google
Core vs Context
Excepts of the first 60% of The Unicorn Project
First 8 chapters as Audiobook format
Fernando Cornago – Adidas talk on data availability across the organization
Clojure Conj
Gene’s presentation at Clojure Conj
As always, a giant Thank You goes to David Belcher for the logo design.
In this episode I talk with Katie Hughes. We talk her introduction to software development, exposure to functional programming, orienting herself in a new codebase, “learning to trust again”, and much more.
@glitteringkatie on Twitter
Summer BOB 2019 is taking place August 21st in Berlin, Germany. Visit https://bobkonf.de/2019-summer/ for registration and more information.
elm-conf 2019 is September 12th in St. Louis, Missouri. Visit https://2019.elm-conf.com/ to find out more and to register.
OPEN FSHARP 2019 is taking place in the heart of San Francisco, on the 25th – 27th of September. Visit https://www.openfsharp.org/ to register and find out more.
Lambda Days 2020 just announced their CFP! Go to their website and submit a talk for a chance to present your work on their stage in February. https://www.lambdadays.org/lambdadays2020#call-for-papers
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
About Katie
As always, a giant Thank You goes to David Belcher for the logo design.
In this episode I talk with Andy Hunt and Dave Thomas. We talk about their upcoming 20th Anniversary Edition of The Pragmatic Programmer, what prompted a 20th Anniversary Edition, what has changed and what has stayed the same in the 20 years since, where they see things going based off what they have seen, and much, much more.
@PragmaticAndy on Twitter
Lambda Days 2020 just announced their CFP! Go to their website and submit a talk for a chance to present your work on their stage in February. https://www.lambdadays.org/lambdadays2020#call-for-papers
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
Welcome Andy and Dave
As always, a giant Thank You goes to David Belcher for the logo design.
In this episode I talk with Verónica López. We talk her background, exposure to Go and Elixir, working with CoreOS and Kubernetes, being a bridge between Kubernetes and the BEAM communities, and more.
@maria_fibonacci on Twitter
International Conference on Functional Programming 2018 will be taking place September 23 – 29th in St. Louis, MO. For more information, and to register visit: https://icfp18.sigplan.org/
StrangeLoop 2018 will be taking place September 27th and 28th, with a pre-conference day on the 26th in St. Louis, MO. To keep updated as details become announced you can find out more at: https://www.thestrangeloop.com/
(eighth RacketCon) will take place September 27th and 28th in St. Louis, Missouri, along side ICFP and Strange Loop. For more information, and to register visit https://con.racket-lang.org/.
The Big Elixir Conference will be on November 8th and 9th in New Orleans. Visit https://www.thebigelixir.com for more information and to register.
Code Mesh LDN will be taking place on November 8th and 9th in London. Visit https://codesync.global/conferences/code-mesh-2018/ for more information and to register.
Lambda Days 2019 will be taking place February 21st and 22nc in Kraków, Poland. For more information and to register visit http://www.lambdadays.org/.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Some of you have asked how you can support Functional Geekery, in that vein,
If that is one of the ways you would like to show your support, you can
About Verónica
As always, a giant Thank You goes to David Belcher for the logo design.
In this episode I talk with Sam Guyer and Caleb Helbling. We talk about Juniper, a functional reactive programming language for Arduino programming.
Sam Guyer
Monadic Party, a 5 day Haskell Summer School, will be taking place in Poznań, Poland the 11th-15th of June. Visit https://monadic.party/ for more information and to register.
The 2018 Racket Summer School will run July 9th – 13th at the University of Utah, in Salt Lake City, Utah. For more information, and to apply visit https://summer-school.racket-lang.org/2018/.
BusConf will take place for the second time from August 2nd to August 4th in Germany, close to Frankfurt. For more information and to register visit: http://www.bus-conf.org/.
Compose::Melbourne will be taking place Monday August 27th. Visit http://www.composeconference.org/ to keep updated as more details are announced.
International Conference on Functional Programming 2018 will be taking place September 23 – 29th in St. Louis, MO. For more information, and to register visit: https://icfp18.sigplan.org/
StrangeLoop 2018 will be taking place September 27th and 28th, with a pre-conference day on the 26th in St. Louis, MO. To keep updated as details become announced you can find out more at: https://www.thestrangeloop.com/
(eighth RacketCon) will take place September 27th and 28th in St. Louis, Missouri, along side ICFP and Strange Loop. For more information, and to register visit https://con.racket-lang.org/.
The Big Elixir Conference will be on November 8th and 9th in New Orleans. Visit https://www.thebigelixir.com for more information and to register.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Some of you have asked how you can support Functional Geekery, in that vein,
If that is one of the ways you would like to show your support, you can
About Sam and Caleb
As always, a giant Thank You goes to David Belcher for the logo design.
In this episode I talk with Zach Tellman. We talk his introduction to Clojure, how he has noticed Clojure change over the past 10 years, his book Elements of Clojure, and more.
Zach’s website
CodeBEAM STO, formerly Erlang User Conference, celebrates the 20th Anniversary of Erlang being made Open Sourced, and will be taking place May 31st and June 1st. For more information and to register visit https://codesync.global.
Monadic Party, a 5 day Haskell Summer School, will be taking place in Poznań, Poland the 11th-15th of June. Visit https://monadic.party/ for more information and to register.
The 2018 Racket Summer School will run July 9th – 13th at the University of Utah, in Salt Lake City, Utah. For more information, and to apply visit https://summer-school.racket-lang.org/2018/.
BusConf will take place for the second time from August 2nd to August 4th in Germany, close to Frankfurt. For more information and to register visit: http://www.bus-conf.org/.
Compose::Melbourne will be taking place Monday August 27th. Visit http://www.composeconference.org/ to keep updated as more details are announced.
International Conference on Functional Programming 2018 will be taking place September 23 – 29th in St. Louis, MO. For more information, and to register visit: https://icfp18.sigplan.org/
StrangeLoop 2018 will be taking place September 27th and 28th, with a pre-conference day on the 26th in St. Louis, MO. To keep updated as details become announced you can find out more at: https://www.thestrangeloop.com/
(eighth RacketCon) will take place September 27th and 28th in St. Louis, Missouri, along side ICFP and Strange Loop. For more information, and to register visit https://con.racket-lang.org/.
The Big Elixir Conference will be on November 8th and 9th in New Orleans. Visit https://www.thebigelixir.com for more information and to register.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Some of you have asked how you can support Functional Geekery, in that vein,
If that is one of the ways you would like to show your support, you can
About Zach
As always, a giant Thank You goes to David Belcher for the logo design.
In this episode I talk with Brian Troutwine. We catch up with his work in Erlang, working in Rust, applying functional programming techniques to Rust, learning Erlang compared to Rust, his book “Concurrent Rust” that is in the works, and much more.
https://blog.troutwine.us/
CodeBEAM STO, formerly Erlang User Conference, celebrates the 20th Anniversary of Erlang being made Open Sourced, and will be taking place May 31st and June 1st. For more information and to register visit https://codesync.global.
Monadic Party, a 5 day Haskell Summer School, will be taking place in Poznań, Poland the 11th-15th of June. Visit https://monadic.party/ for more information and to register.
International Conference on Functional Programming 2018 will be taking place September 23 – 29th in St. Louis, MO. For more information, and to register visit: https://icfp18.sigplan.org/
StrangeLoop 2018 will be taking place September 27th and 28th, with a pre-conference day on the 26th in St. Louis, MO. To keep updated as details become announced you can find out more at: https://www.thestrangeloop.com/
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Some of you have asked how you can support Functional Geekery, in that vein,
If that is one of the ways you would like to show your support, you can
About Brian
As always, a giant Thank You goes to David Belcher for the logo design.
From the publisher's feed