Functional Geekery

Proctor
undefined
May 19, 2020 • 42min

Functional Geekery Episode 131 - Martin J. Logan

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. Our Guest, Martin J. Logan @martinjlogan on Twitter Discount Code from Manning 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. Conference Announcements 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. Announcements 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. Topics [@1:40] Welcome MartinErlwareMartin on Episode 13Erlang CampLambda 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 organizationsGuaranteed RateWilliam HillA 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 polyglotWanting at least one Anchor to teach and mentor the groupWhy Clojure was goodBeing 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 ClojureCommitment of investing through the slowdown to get fasterWhat helps at at the grassroots to help with a transformationParticipation, Mentoring, Someone willing to help work through exercises with peopleReal projects to work onHow to think about limiting the talent pool on the bet for being a functional programming shopHow big of a community are you really looking to buildBeing exciting enough to get people from Cognitect working who worked on ClojureTraining and seeding teamsHaving the light bulb go off and not wanting to leave and have to go back to other languagesSmall team (4-6 people) with single anchor for about 6 months to build a teamAllowing those team members to go out to seed new teamsThe fear moves away and people want to learn ClojureClojureScript being pulled into the front-end browser flowsClojure UniversityImportance of the Install Party to get a high quality development environment setupClojure EssentialsFunctional Programming patterns similar to Object Oriented PatternsDoing it again at William Hill with ScalaAvoiding the same bad habits in JavaScala community being steeped in Category Theory“Scala will expose you everything you get out of Haskell on the JVM”Streams in ScalaHelping to make the ground more fertile for a functional transformationPointing at other successful organizationsLanguages on the JVM helpHelping find an anchorWorking to make it really successfulFocus 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.
undefined
Apr 28, 2020 • 55min

Functional Geekery Episode 130 - Ivan Čukić

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. Our Guest, Ivan Čukić @ivan_cukic on Twitterhttps://cukic.co/Functional Programming in C++Ivan’s Projects Discount Code from Manning 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. Conference Announcements 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. Announcements 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. Topics [@1:40] About IvanFunctional Programming in C++How Ivan was first exposed to Functional ProgrammingBeing taught LISPWorking in JavaBeing a big event when Java introduced forEachHaskell“Multi-threaded and shorter to write”Seeing annotations of a Java program on what would be equivalent in HaskellHaskell as the background noise in his lifePicking Scala when going back to the JVMAdopting ScalaTransitioning from a “better Java” to a “worse Haskell”AkkaErlangAkka and influence to any OOP style that might have still existedC++Ranges libraryWhat it means to be a Functional Programming LanguageSTL“C++ has always been a functional language”Eric Normand’s Clojure Mid-Cities User Group presentationTiming of the C++ community’s evolution to functional programming with Ivan’s use of functional C++CuteGiving a talk about asynchronous programming with MonadsSean Parent – C++ SeasoningDeciding 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 programmingLambdas in C++Having control over everythingSimulating Linear Types in C++ easily vs needing compiler support in HaskellWhere the sane defaults in C++ fit with Functional Programmingimmer library for immutable data structuresClojureTopics 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++ DeveloperD“All the serious projects use the unsafe features of the language”What Ivan would love to see the C++ community adoptWhat is exciting Ivan currentlyBitmap Vector Trie or Ideal Hash TreesGeneral 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.
undefined
Dec 24, 2019 • 58min

Functional Geekery Episode 129 - Eric Normand

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. Our Guest, Eric Normand @ericnormand on Twitter PurelyFunctional.tv LispCast.com Thoughts on Functional Programming Grokking Simplicity Conference Announcements 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. Announcements 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. Topics [@2:32] Welcome back EricWhat Eric has been up to since Episode 117PurelyFunctional.tvGrokking SimplicityWhat prompted the Thoughts on Functional Programming podcastStarted from Eric’s talk at Lambdup 2017Being told it is much easier to edit existing text than write new textTrying to start a literature around functional programmingFiguring 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 programmingActions, Calculations, and DataActions (Impure “Function”) – Depend on when, or how many times, they are runSide-effects also being the reason we write programsCalculations (Pure “Functions”) – Same arguments, same answer no matter how many times you run itData – completely inertData can be interpreted in multiple waysOther side of Data is that it requires at least some interpretationHow to help distinguish Actions from CalculationsHaskell‘s IO type containing all side-effects as brilliantThe illusion that we are not doing any mutability at the machine levelBlurry line between Actions and Calculations in some casesAny conventions for later readers to hint at Actions vs CalculationsSelling the separation of Calculations from ActionsSpending time on showing how Actions “contaminate” CalculationsThe 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 CalculationPurelyFunctional.tv videosThoughts on Functional Programming podcastProperty-Based Testing videosBeginning Property-Based Testing courseIntermediate Property-Based Testing courseAdvanced Property-Based Testing courseProperty-Based testingQuickCheckNext course likely building a web-app in ClojureBag of Tricks for Property-Based testingDeveloping for Stateful SystemsModel-based Property testingTaking a Stateful test to a Parallel test to a Distributed TestTSSIMPLICITY discount code for 50% off As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Nov 26, 2019 • 54min

Functional Geekery Episode 128 - Gene Kim

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. Our Guest, Gene Kim @realgenekim on Twitterrealgenekim on LinkedIn Conference Announcements 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. Announcements 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. Topics [@2:51] About GeneTripwireState of DevOps ReportThe Phoenix ProjectThe DevOps HandbookThe Unicorn ProjectClojureLove Letter to Clojure (Part 1)Ops being where the saves were madeGene SpaffordMorris worm90% of his errors go away when using ClojureWhat put Clojure on his list to pick upRuby Reference ManualHow Ruby strings aren’t immutableReading a Clojure book and bolting upright in bed finding out that Ruby’s << operator modifies the right hand side arrayJava Concurrency in PracticeEiffelObject Oriented Software ConstructionSmalltalkImmutability and Value Object in Object Oriented styleWorking in the REPL in ClojureWriting a vacation notifier for GmailRewrites note taking and tweeting app a number of timesObjective CTypeScript and ReactClojure and re-frameData is immutable, but the program is very mutableFlow by Mihaly CsikszentmihalyiFlow, the secret to happiness Ted TalkPeak by Anders EricssonDeliberate PracticeGrit by Angela DuckworthHave a coach; Do practicePodcastsDavid Koontz on Functional GeekeryLambdaCastFunctional Design in Clojure podcastJavaScript tooling environmentCats libraryHaskellHow has Clojure refreshed Gene’s thinking when going back to older programsMaxine in The Unicorn ProjectMicheal NygardHow did the scenes resonate to ProctorRamdaJsBrian Lonsdorf on Functional GeekeryDavid Chambers covering Ramda on Functional GeekerySeeing the shape of the dataSome form of a combination of map, filter, reduce“Is it good to think with”Sapir-Whorf hypothesis: Language affects worldview of the speakersEric Normand on thinking in types based off experience in HaskellGrokking SimplicityActions, Calculation, DataSimon Peyton Jones on Functional GeekeryDr. John LaunchburyCreating 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.specHow much did Functional Programming and data-focus opting to write The Unicorn ProjectStudying Rich Hickey videosRich Hickey’s 2015 JavaOne presentationLunch 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”KafkaEvent SourcingSelf Identifying as a Developer after 25 yearsGene’s current view on Functional ArchitectureScott Havens (of Jet.com and Walmart.com) presentation on turning 23 API calls to 2 API callsScott Havens’ talk about rebuilding Kafka serversF#The 5 Ideals: Locality and SimplicityFocus, Flow, and JoyImprovement of daily workPsychological SafetyCustomer Focus Project Oxygen at GoogleCore vs ContextExcepts of the first 60% of The Unicorn ProjectFirst 8 chapters as Audiobook formatFernando Cornago – Adidas talk on data availability across the organizationClojure ConjGene’s presentation at Clojure Conj As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Aug 6, 2019 • 56min

Functional Geekery Episode 127 - Katie Hughes

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. Our Guest, Katie Hughes @glitteringkatie on Twitter http://glitteringkatie.com/ Conference Announcements 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. Announcements 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. Topics [@2:50] About Katie NoRedInk React AppNexus Elm Pascal Oregon State Exposure to functional programming via Internship Lodash Programming Language Fundamentals class Haskell Prolog Katie’s Introduction to Elm Redux Learning Elm and Haskell as part of 20% time Learn You A Haskell for Great Good Going through the book in both Haskell and JavaScript Being exposed to some functional programming before the college course How Haskell and Elm in 20% time feed back into React and Redux usage Redux-Saga Currying Taking 20% learnings back to the team Working with people that were interested in functional programming Learning the paradigm Moving to work at NoRedInk Ruby Ruby on Rails Elm in the Spring Katie’s Minor in Cognitive Psychology Cognitive Maps Where the Elm Am I “What Can I Break?” Learning how to trust again using Elm Reading the import statements in Elm Using the Elm compiler to help build a mental map by seeing what breaks Katie’s experience picking up Elixir GenServers Understanding how data flows through the Elixir Services Starting an Elixir Book Club at work Little Elixir and OTP Guide Book Refining strategy of how to break things in Elixir Upcoming talk at elm-conf Working on project to connect characters in Marvel Universe SquirrelGirl Look into Elm Conferences for first time talkers Tips for writing a good CFP Breaking down the outline early Learning Objectives for the audience Get Programming with Haskell Elm Lang tutorial Elm tutorial as good guide for understanding React and Redux As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Jul 2, 2019 • 1h 6min

Functional Geekery Episode 126 - Andy Hunt and Dave Thomas

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. Our Guests, Andy Hunt and Dave Thomas @PragmaticAndy on Twitter https://toolshed.com/ Andy’s Now Page @pragdave on Twitter https://pragdave.me/ Conference Announcements 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. Announcements 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. Topics [@1:14] Welcome Andy and Dave The Pragmatic Programmer The Pragmatic Programmer 20th Anniversary Edition What prompted a 20th Anniversary Update/Re-write Han Shoots First DRY – Don’t Repeat Yourself Updating the level between the last two sections of the book Book-ending the 20th Anniversary edition with call to responsibility Pragmatic Bookshelf Addison Wesley / Pearson Being rooted in agility Disconnect between source and primary artifact Harry Potter Applying principles from software to working in publishing Going with Easiest Way vs Investing in Conscience The Pragmatic Programmer standing the test of time “Brush your teeth kind of advise” Common Sense and deliberately trying new things “Don’t really trust yourself either” “Take small steps and try stuff Finding “Trust but verify” origin Following the Seed of Curiosity The 5 Whys Asking “What are the appropriate practices?” instead of “What are the best practices?” What trends look to be more sticky going forward Picking languages to use and reference in the book How to choose a language to learn “If you don’t understand it, if it confuses you, if it makes you uncomfortable, then that’s the language you should learn.” Haskell “Every language has its little unique additions to the world” “You should always have at least three different ways of implementing it try to get some clarity” What things Dave and Andy thought should have been paid more attention to Unit Testing – Don’t write your own framework today Blackboard Systems How Functional Programming plays in with what they have experienced over the last 20 years “Making State Transformation Explicit” Logo/Turtle Graphics “There is no one right way of doing things” Ruby “It would be a big, big mistake for any of your listeners to consider themselves a Functional Programmer” “Your Role is Problem Solver” “How could this code be used against me, against the company, against the user” Responsibility for moral implications and how the Nuremberg defense isn’t and excuse Reducing your dependencies libraries and frameworks The Pragmatic Programmer 20th Anniversary Edition Beta currently available Hardcover in fall Southern Methodist University As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Aug 28, 2018 • 1h 12min

Functional Geekery Episode 125 - Verónica López

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. Our Guest, Verónica López @maria_fibonacci on Twitter Conference Announcements 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. Announcements 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. Topics [@3:26] About Verónica Red Hat CoreOS Go Java Elixir Python Background as a physicist Translating software from Fortran to Python Working on Android applications Building back-end services and doing UI design as a mobile developer Moving into more back-end development Transition to Go and Elixir Getting creative on limited infrastructure ElixirConf 2017 – My Journey from Go to Elixir Why originally picking Go over Elixir for concurrency Norberto Ortigoza Further exposure to Elixir Translating Elixir and BEAM concepts to Go Phoenix Framework Kubernetes Learning how to fail better CoreOS etcd OpenShift Comparing Elixir and the BEAM to Kubernetes Learning from other languages and toolkits approaches to distributed systems Operator SDK Operators in Kubernetes Being able to use Elixir in an organization as a luxury currently Being a bridge between Kubernetes and Elixir Languages live or die by promotion Importance of having people to learn from As always, a giant Thank You goes to David Belcher for the logo design.
undefined
May 29, 2018 • 1h 4min

Functional Geekery Episode 124 - Sam Guyer and Caleb Helbling

In this episode I talk with Sam Guyer and Caleb Helbling. We talk about Juniper, a functional reactive programming language for Arduino programming. Our Guests, Sam Guyer and Caleb Helbling Sam Guyer http://www.calebh.io/ @CalebHelbling on Twitter Conference Announcements 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. Announcements 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. Topics [@5:12] About Sam and Caleb Tufts University Juniper Arduino How Sam and Caleb got into working with Arduinos Juniper Paper Addressable RGB LED strips “There’s smoking coming out if it. Now it’s garbage.” Pain of programming on an Arduino for those not familiar with C++ FastLED library Concurrency and discrete event simulator Signals Going from feeling the pain to creating Juniper Representing a Signal Graph Elm Architecture Maybe Types to represent Signal values Reactive Programming model Data Flow Model Functional Reactive Programming Using polling based model under the covers Signal Graph as a mental model Importance of Higher Order Functions on Signals Writing Signal generation functions in C++ Ability to have multiple Signals propagating at the same time Debouncing button press Where Juniper fits today with an interrupt model Writing Juniper in F# Haskell OCaml Standard ML fparsec Workflow from writing code to loading on an Arduino C++ Templates Debugging hardware vs software Where Juniper is today Problem with closures in embedded software with limited memory How to get started with Juniper Juniper Google Group Blockspell FastLED Google+ As always, a giant Thank You goes to David Belcher for the logo design.
undefined
May 8, 2018 • 1h 3min

Functional Geekery Episode 123 - Zach Tellman

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. Our Guest, Zach Tellman Zach’s website @ztellman on Twitter http://elementsofclojure.com/ Conference Announcements 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. Announcements 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. Topics [@5:25] About Zach Elements of Clojure C++ OpenGL C# Ruby OCaml Scheme Clojure clojure.pprint LINQ C# Delegates Java F# C++ STL Library Jane Street Early days of Clojure and how it has evolved cake Leiningen Ability to plant a flag in the Clojure eco-system Ring aleph Lessons from when to wrap something in Clojure vs just inter-op with the Java library “Clojure as the connective tissue” The Joy of Clojure Programming Clojure Clojure Programming Wizard hat and special incantations Zach’s overview of Elements of Clojure Strunk and White’s The Element of Style Being stymied when trying to answer “Why is your way better than mine?” First Chapter on Naming Russell Quine Frege “Clojure being used as a lens to understand the fundamental questions of software” Elements of Software What it means to think about thinking about software Proof of Correctness of Data Representations by C A R Hoare “Have we created a representation of a problem that is valuable given what we are trying to do” Haskell Idris Church Numerals Cons-Cells As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Apr 24, 2018 • 1h 12min

Functional Geekery Episode 122 - Brian Troutwine

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. Our Guest, Brian Troutwine https://blog.troutwine.us/ @bltroutwine on Twitter Conference Announcements 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. Announcements 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. Topics [@3:15] About Brian What Brian has been up to in the past few years Mostly Erlang Erlang Rust The Charming Genius of the Apollo Guidance Computer AdRoll Postmates C++ Cernen Hopper Quantiles If Brian was spoiled by working on a system with 1M TPS Knight Capital Group Cautionary Tale Property Testing Beginner’s Luck RackSpace Software being able to inspect itself SmallCheck Chaos Engineering How Brian was introduced to Erlang Joe Armstrong’s thesis paper Prolog OpenMP SML Constructivist approach to programming Idris Agda Coq Working in Erlang professionally at RackSpace Bringing others up to speed with Erlang Mochi Elixir Programming Erlang Erlang and OTP in Action Learn You Some Erlang Difference in Erlang/Elixir approachability since Brian started learning it “I’ve never known an easier time to learn Erlang [and Elixir] than we have right now” Similarity in Brian’s learning Erlang to learning Rust Rust The Book Tokio The ML family typed inspire side of Rust How much does functional ideas fit into Rust in practice Thinking in Erlang as sequential inside of a process which is concurrent Applying a similar approach in Rust What is meant by “Safety” in Rust Using C++ at AdRoll vs how Brian uses Rust today Traits in Rust Working on a book on Concurrency in Rust Rust Concurrency Andrew Stone on Actor System in Rust at CodeMesh How Rust approaches concurrency at a language level What does saying “Rust is Memory Safe” mean? Atomic Reference Counter (ARC) Crates.io Rayon Crossbeam CodeMesh 2018 in London Designing for Scalability with Erlang/OTP Programming Rust from O’Reilly Rust in Action from Manning ripgrep quickcheck Rust in WebAssembly D Andrew Stone’s work at VMWare As always, a giant Thank You goes to David Belcher for the logo design.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app