Functional Geekery

Proctor
undefined
Oct 17, 2017 • 53min

Functional Geekery Episode 111 - Stian Veum Møllersen

In this episode I talk with Stian Veum Møllersen. We talk his introduction to programming, exploring programming languages, “Perlis Languages”, Concatenative Languages, Creative Programming, and more. Our Guest, Stian Veum Møllersen @mollerse on Twitter mollerse on Github Conference Announcements LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/. CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/. Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/. LambdaDays 2018 will be taking place February 22nd and 23rd 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 [@2:42] About Stian How Stian got into programming Java Starting out as a consulting “I didn’t see programming as fun; it was more of a means to an end” Discovering the fun of programming through front end development ClojureScript Elm PureScript Prolog Michael Fogus’ Perlis Languages post Eifell Joy (mirror) What about web development sparked the excitement about programming Angus Croll – Break all the rules Jed Schmidt browserver: a node.js HTTP server, in your browse What sparked the excitement about learning about different languages “I wanted to understand how we arrived at this point in history” “If you take a framework to its ultimate conclusion you end up with a language anyway” Evolution of language learning exploration Java and Python in University Functions as Values in JavaScript Clojure Exposure to the idea of Language Families Lisp Racket Scheme F# Standard ML Programming Languages Coursera Course by Dan Grossman Prolog “A language even stranger than Prolog” First exposure Concatenative Languages Difference between Stack-based and Concatenative Languages Joy (mirror) Experience when starting to learn Joy The balance between declarative versus imperative in Concatenative Languages Difficulty of just programming your way to a solution without thinking about the problem Thinking Forth How Concatenative Languages change your thinkings Focus on Factoring in Thinking Forth Algol Cobol C++ Smalltalk Refactoring: Improving the Design of Existing Code Stian’s upcoming presentation at CodeMesh 2017 How Creative Programming works well with Concatenative Languages Recommendations on getting started with Concatenative Languages Read-Eval-Print-λove Joy Factor Flatmap Oslo 2017 presentation (slides) ait turtle-ait FARM 2017 presentation (slides) #concatenative on FreeNode Concatenative Languages wiki As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Oct 10, 2017 • 35min

Functional Geekery Episode 110 - Kiwamu Okabe

In this episode I talk with Kiwamu Okabe. We talk his introduction to writing software for hardware; exposure to functional programming; running Haskell, ATS, and VeriFast verification on bare metal hardware; and more. Our Guest, Kiwamu Okabe http://metasepi.org/ Conference Announcements LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/. CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/. Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/. LambdaDays 2018 will be taking place February 22nd and 23rd 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 [@2:41] About Kiwamu Ricoh Functional IoT How Kiwamu got into software BSD Transitioning from OS development to hardware programming What made Kiwamu want to try running functional languages on bare metal hardware Haskell How Kiwamu was first exposed to Haskell OCaml Scheme Why Haskell appealed to run on hardware Glasgow Haskell Compiler QuickCheck First pass at applying Haskell to bare metal hardware Jhc Haskell Compiler ATS Experience with ATS on bare metal hardware ChibiOS/RT and ATS VeriFast What the social aspect of functional languages running on bare metal looks like Balance of ATS vs VeriFast seL4 What the technical aspect of functional languages running on bare metal looks like As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Sep 26, 2017 • 51min

Functional Geekery Episode 109 - Zach Kessin

In this episode I talk with Zach Kessin. We talk his transition to using Elm for front-end web development, using it with Erlang back-ends, his goal to help grow the community around Elm, and more. Our Guest, Zach Kessin @zkessin on Twitter Pain Free Web Development YouTube Channel Conference Announcements RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register. Celebrate the 10th anniversary of the release of Clojure October the 12th – 14th at the Clojure/Conj in Baltimore, Maryland. Visit http://2017.clojure-conj.org/ for more information and to register. LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/. CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/. Moonconf will be taking place the 9th-11th of November. For more information visit http://moonconf.org/. Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/. LambdaDays 2018 will be taking place February 22nd and 23rd 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:22] What Zach has been up to in since Episode 4 Erlang Elm Mostly Erlang What put Elm on Zach’s radar Perl Going from loan calculator to large complicated applications CoffeeScript ClojureScript Friendliness of “you are viewing out of date version” message on package documentation The Elm Architecture Initial hump of Elm looking very different than JavaScript Scheme Prolog Only handful of ways to crash an Elm program vs a JavaScript program “Like superheros, [programming] languages have origin stories” Thinking in types in Elm compared to JavaScript compared to Erlang “Level 1 Elm is ‘Yay! Types!” “Level 2 Elm […] is how can we use the type system as a design tool” QuickCheck Curry-Howard Correspondence Haskell Idris Ability to get runtime errors in Haskell Upcoming Elm in Motion video course Pain Free Web Development Using Elm with Erlang WebMachine Cowboy Parse Transform library in Erlang JavaScript interop via “ports” JSON Decoders and Decoders in Elm Problems around silent errors MySQL and column value truncation in non Strict Mode Handling JSON decoder parse errors Result type HTTP Errors as a type in Elm Being forced to think about errors and how to handle them “Suddenly a 12-hour debugging session has become 12 seconds of fix a typo” Bootstrap CSS Elm Package The Elm compiler as the best pair you could have sitting next to you Making Impossible States Impossible Pain Free Web Development YouTube Channel Leave comments as suggestions for upcoming topics Elm Weekly Training Course _FunctionalG12_ discount code to get it at $12/month instead of $15/month Zach’s goal of helping building up the community around Elm NoRedInk Building the business case for using Elm As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Sep 19, 2017 • 1h 2min

Functional Geekery Episode 108 - David Christiansen

In this episode I talk with David Christiansen. We talk his introduction to functional programming, research in dependent types, Idris, Nuprl and LFC traits, work to add dependent types to macro-expansion in Racket, and much, much more. Our Guest, David Christiansen @d_christiansen on Twitter http://davidchristiansen.dk/ Conference Announcements RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register. Celebrate the 10th anniversary of the release of Clojure October the 12th – 14th at the Clojure/Conj in Baltimore, Maryland. Visit http://2017.clojure-conj.org/ for more information and to register. LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/. CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/. Moonconf will be taking place the 9th-11th of November. For more information visit http://moonconf.org/. Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/. LambdaDays 2018 will be taking place February 22nd and 23rd 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:22] About David Idris Indiana University Bloomington Racket Type Driven Development in Idris The Type Theory Podcast Dan Friedman on Functional Geekery David’s introduction to programming and computers MS-DOS GW-BASIC Major in Philosophy with Minor in Computer Science What put functional programming on David’s radar Lisp Haskell A Gentle Introduction to Haskell Structure and Interpretation of Computer Programs PLTScheme, now Racket Internship doing I.T. QBasic C Perl Smalltalk David’s grad school work Exposure to Idris at St Andrew’s summer school General ML exposure around Copenhagen False dichotomy between industry and “academic” languages Progression to push into dependent types “Part of my job description at the time was: learn about interesting things” The Type Theory Podcast Software Foundations Adam Chlipala on Functional Geekery Dependent Types as a aesthetic thing Type Driven Development Interactive programming environments from the 80’s “Let the computer do what the computer is good at, which is the details” Nuprl Jon Sterling’s jonPRL and RedPRL Types as predicates that describe behavior Agda Coq Typed Racket Using Racket as a proof language for Nuprl type system Logic for Computable Functions by Dana S. Scott Robin Milner Edinburgh LCF ML Running LCF style proofs in Racket macro-expansion Hackett cur miniKanren µKanren Scribble Slideshow video Resources to get started understanding dependent types Software Foundations Upcoming _Little Schemer_ family book on dependent types with Dan Friedman Little Schemer Upcoming talks previewing book at RacketCon and CodeMesh Oregon Programming Languages Summer School videos Suggestions for a title in Little Schemer tradition As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Sep 12, 2017 • 59min

Functional Geekery Episode 107 - Julie Moronuki

In this episode I talk with Julie Moronuki. We catch up about “Haskell Book”, cover the upcoming Joy of Haskell, lessons learned teaching Haskell in user groups, other projects, linguistics, and more. Our Guest, Julie Moronuki @argumatronic on Twitter GinBaby on Github http://argumatronic.com/ Joy of Haskell @joyofhaskell on Twitter Conference Announcements The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/. PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit http://pwlconf.org/ for more information and to stay updated on latest announcements. Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register. elm-conf is returning to St. Louis on September 28, 2017 for a day of learning, speaking, and connecting with the Elm language community. For more information and to register visit http://www.elm-conf.us/. RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register. Celebrate the 10th anniversary of the release of Clojure October the 12th – 14th at the Clojure/Conj in Baltimore, Maryland. Visit http://2017.clojure-conj.org/ for more information and to register. LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/. CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/. Moonconf will be taking place the 9th-11th of November. For more information visit http://moonconf.org/. Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/. LambdaDays 2018 will be taking place February 22nd and 23rd 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 [@5:19] About Julie Julie on Episode 19 Haskell Programming from first principles Update to “Haskell Book” since last time Julie and Chris were guests Goal of being precise in the Haskell Book Resetting pre-conceived baggage Lambda Calculus as the first chapter “I wish people would just read the chapter and let go of their preconceived notions of what it will be” Teaching Haskell to her son to teach math CodeWorld Chris Smith “Baby’s First Category Theory” book Kids ability to pick up abstract ideas Teaching Haskell in user groups Joy of Haskell Chris Martin Origin of Joy of Haskell Introduction to some of the advanced topics you might hear about in Haskell Lens library Opal Eye library Getting to be comfortable reading types What made Julie decide to write the second book “Since my mission is to get more people to enjoy Haskell, to love it the way I do” “Whatever they want to do, I want to help them do it in Haskell” “Learning a language isn’t hard, it’s all the other stuff” Separating out the pure from the impure Nix and NixOS Looking back at linguistics and how it might tie to category theory Types should make illegal states irrepresentable Noam Chomsky Goal of generating only legal sentences from abstract rules The goal of trying to find a universal abstract pattern to generate all the legal phrase structures of a language Shower thought as verbs as TypeClasses Giving an upcoming talk at Haskell eXchange 2017 hands-on-haskell-meetups project Upcoming Roguelike project in Haskell Tips for evaluating whether to write a monad tutorial Monad Tutorial in JavaScript Making the target audience explicit “Every tutorial should start with ‘You don’t need to understand monads to do IO'” As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Sep 5, 2017 • 58min

Functional Geekery Episode 106 - Reid Evans

In this episode I talk with Reid Evans. We talk his introduction to functional programming, F#, functional JavaScript, Functional Knox, and much more. Our Guest, Reid Evans @reidnevans on Twitter reidev275 on Github @FunctionalKnox on Twitter Functional Knox Reid’s YouTube Channel Conference Announcements The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/. PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit http://pwlconf.org/ for more information and to stay updated on latest announcements. Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register. elm-conf is returning to St. Louis on September 28, 2017 for a day of learning, speaking, and connecting with the Elm language community. For more information and to register visit http://www.elm-conf.us/. RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register. Celebrate the 10th anniversary of the release of Clojure October the 12th – 14th at the Clojure/Conj in Baltimore, Maryland. Visit http://2017.clojure-conj.org/ for more information and to register. LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/. CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/. Moonconf will be taking place the 9th-11th of November. For more information visit http://moonconf.org/. Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/. LambdaDays 2018 will be taking place February 22nd and 23rd 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 [@5:18] About Reid Delphi .NET What set the stage for first exposure for functional programming CodeStock Rachel Reese Rachel Reese’s episode of Functional Geekery F# Stop Writing Classes by Jack Diederich Practical Functional Programming by James Coglin What set the stage for F# KCDC Interface Segregation Principle Scott Wlaschin Scott Wlaschin on Functional Geekery Episode 66 and Episode 98 Railway Oriented Programming Making the sale for folding F# back into work Type Providers Sharing the ideas of functional programming with co-workers PHP “Wow, you just don’t have that many bugs anymore” Moving to functional programming in JavaScript from F# Professor Frisby’s Mostly Adequate Guide to Functional Programming Ramda ramda-fantasy Lining up the shapes of data Haskell PureScript Reid’s presentation at LambdaConf “It’s a much bigger ocean in JavaScript” Introducing functional programming using JavaScript back into teams Expanding functional programming concepts to broader communities CodeMash Tribes by Seth Godin Functional Knox Common pain points that help sell functional programming Reid Evan’s YouTube channel talking functional programming in JavaScript Planning an upcoming functional programming conference in Knoxville, Tennessee Vision for what the conference might look like “If we have 500 [people] we have to drastically change our ideas” If you are interested in Functional Knox remotely reach out As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Aug 29, 2017 • 1h 7min

Functional Geekery Episode 105 - David Koontz

In this episode I talk with David Koontz. We talk his introduction to functional programming, F#, Haskell, community building, the LambdaCast, and more. Our Guest, David Koontz @dkoontz on Twitter LambdaCast @lambdacast on Twitter Conference Announcements The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/. PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit http://pwlconf.org/ for more information and to stay updated on latest announcements. Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register. elm-conf is returning to St. Louis on September 28, 2017 for a day of learning, speaking, and connecting with the Elm language community. For more information and to register visit http://www.elm-conf.us/. RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register. Celebrate the 10th anniversary of the release of Clojure October the 12th – 14th at the Clojure/Conj in Baltimore, Maryland. Visit http://2017.clojure-conj.org/ for more information and to register. LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/. CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/. Moonconf will be taking place the 9th-11th of November. For more information visit http://moonconf.org/. Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/. LambdaDays 2018 will be taking place February 22nd and 23rd 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 [@5:09] About David LambdaCast How David got into software development Starting in I.T. and moving towards game programming First exposure to functional programming Java Python Ruby Structure and Interpretation of Computer Programs SICP Lecture Videos Being unsure of how to apply functional programming ideas in game programming “Everything was harder than it should be” C# F# Real World Functional Programming Haskell Elm What clicked when understanding _Real World Functional Programming_ LINQ Trying to apply F# back to game development and day-to-day experience Unity Takeaways from trying to apply functional ideas back to C# RobotArms Pipeline operators and chaining Moving from F# to Haskell Haskell Programming from first principles Learn You Some Haskell Bouncing off Haskell and landing on Elm Retrying Haskell after Elm Trying to bring Elm to day-to-day work Electron GitKraken Flow TypeScript PureScript Bringing functional ideas back into the community Lunch and learns Meetups Lessons learned from the lunch and learns vs meetups Building something as a group in the monthly meetup Elm as front-end and Haskell as back-end languages Maybes vs Nulls Not having anything to hold onto when talking about different concepts Response about having different level of experience between hosts Advice for sharing your learnings as you progress “If you knew any more, you wouldn’t fill this important voice on the podcast” Aiming for a small, concise, irreducible version of an explanation Desert Code Camp “If you thinking of doing [a functional programming podcast] I want to lie to you and tell you it’s no work at all” Going to where people are Audience breadth of JavaScript or C# Idris Advice for community outreach “Realize nobody can be an expert in everything” Haskell Pyramid Resources for getting started in functional programming Professor Frisby’s Mostly Adequate Guide to Functional Programming Ramda Sanctuary lodash lodash/fp FP Chat Slack community Upcoming appearances LambdaConf 2018 MoonConf #lambdacast channel on FP Chat Slack community As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Aug 15, 2017 • 1h 1min

Functional Geekery Episode 104 - Debasish Ghosh

In this episode I talk with Debasish Ghosh. We talk his introduction to Scala, domain modeling, lawful abstractions, extracting algebraic patterns from a code base, and more. Our Guest, Debasish Ghosh https://debasishg.blogspot.com/ @debasishg on Twitter Conference Announcements Compose Melbourne will be taking place August 28th and 29th. For more information and to register, visit http://www.composeconference.org/2017-melbourne/. The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/. PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit http://pwlconf.org/ for more information and to stay updated on latest announcements. Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register. elm-conf is returning to St. Louis on September 28, 2017 for a day of learning, speaking, and connecting with the Elm language community. For more information and to register visit http://www.elm-conf.us/. RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register. LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/. CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/. Moonconf will be taking place the 9th-11th of November. For more information visit http://moonconf.org/. LambdaDays 2018 will be taking place February 22nd and 23rd 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 [@5:12] About Debasish C++ Java Ruby Python Scala Lightbend Spark Kafka Setting the stage for discovering Scala Spring Hibernate Unification of object-oriented and functional paradigms Structure and Interpretation of Computer Programs Scalaz Haskell Cats Scheme Scala bringing a statically typed language with higher-order functions IntelliJ IDEA Generating getters and setters as the way you do enterprise development Setting the stage for domain modeling Domain Driven Design by Eric Evans Bounded Context “Domain model is possibly the most important artifact in the life-cycle of a project” DSLs in Action Why Functional Programming Matters by John Hughes Functional Modules and how they relate to Bounded Contexts First reaction Scala Starting in Scala by writing tests Design Patterns in Dynamic Programming presentation by Peter Norvig Bridge and Strategy patterns as higher-order functions First encounter with Scalaz Algebraic Design Monoid as a design pattern in functional programming “Use the least powerful abstraction that applies to your use case” How algebraic types work in Scala Money as a Monoid Importance of Lawful Abstractions Domain models, Algebraic laws and Unit tests Mining your codebase for Algebraic patterns Refining abstractions to less powerful abstractions after initial identification References to where to understand the different algebraic types Typeclassopedia Functional Programming in Scala Functional and Reactive Domain Modeling Rúnar’s Episode of Functional Geekery Haskell productivity pyramid Functional and Reactive Domain Modeling Functional Conf India Erlang & Elixir Factory lite Scala eXchange 2017 As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Aug 8, 2017 • 1h 3min

Functional Geekery Episode 103 - Justin Schneck

In this episode I talk with Justin Schneck. We talk embedded Erlang and Elixir with the Nerves Project, where Nerves fits in the landscape of embedded systems, prototyping vs deployment, and much, much more. Our Guest, Justin Schneck http://mobileoverlord.com/ @mobileoverlord on Twitter mobileoverlord on Github Nerves Project @NervesProject on Twitter Conference Announcements Elixir.LDN will be taking place on August 17th. To help encourage inclusion and diversity 30 Free Scholarship places are available. Visit http://www.elixir.london/ to find out more and register. Compose Melbourne will be taking place August 28th and 29th. For more information and to register, visit http://www.composeconference.org/2017-melbourne/. The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/. PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit http://pwlconf.org/ for more information and to stay updated on latest announcements. Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register. elm-conf is returning to St. Louis on September 28, 2017 for a day of learning, speaking, and connecting with the Elm language community. For more information and to register visit http://www.elm-conf.us/. RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register. LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/. CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/. Moonconf will be taking place the 9th-11th of November. For more information visit http://moonconf.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 [@4:53] About Justin Elixir Phoenix Framework Justin’s desire to start his motorcycle from his phone Arduino Ecto Microsoft TDS Driver in Ecto The Road to 2 Million Websocket Connections in Phoenix Setting the foundation for the actor model from embedded systems Raspberry Pi Raspbian Erlang Ale Nerves Project Justin’s introduction to Nerves Frank Hunleth Garth Hitchens Rosepoint “Why can’t I just run a Raspberry Pi” Nerves as suite of helper libraries Elixir Ale Nerves as tool to build deployment images Ability to get minimal opt-in package images Creating a meal from a grocery kitchen versus at home Buildroot What might deployment to production look like ErlInit BeagleBone Black LinkIt Smart “Anything you can do in Buildroot you can essentially turn into a composable Nerves system.” “Microcomputers” vs microcontrollers in the Nerves world Hard real time constraints in Arduino vs soft real time requirements Nerves.UART MQTT EMQ Le Tote Key factors Elixir is good at for embedded systems Wendy Smoak building a cat feeder in Nerves Bootloader SystemRegistry Booting to Erlang/Elixir as process-zero Dynamic configuration in Nerves Elixir on Nerves on Lego EV3 brick Le Tote kiosk on Raspberry Pi or x86 Call to action to get started in Nerves “Blinking lights as the Hello World of hardware” Nerves on HexDocs Nerves Examples Pi Zero W Nerves.Firmware.SSH “Don’t be afraid to do things that have already been done, just for the experience of knowing how to get those things accomplished” Where to share one’s projects and experiences #Nerves in Elixir Lang Slack Elixir Forum Erlang Factory San Francisco 2017 Erlang User Conference 2017 ElixirConf LeToteTeam on Github Thank You to the community As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Aug 1, 2017 • 54min

Functional Geekery Episode 102 - Brian Hicks

In this episode I talk with Brian Hicks. We talk his into to Elm, Elm Conf, the State of Elm Survey, community building, and more. Our Guest, Brian Hicks https://www.brianthicks.com/ The JSON Survival Kit – Use code `geekery` for 10% off @brianhicks on Twitter brianhicks on Github Conference Announcements Compose Melbourne will be taking place August 28th and 29th. For more information and to register, visit http://www.composeconference.org/2017-melbourne/. The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/. PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit http://pwlconf.org/ for more information and to stay updated on latest announcements. Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register. RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register. LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/. CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/. Moonconf will be taking place the 9th-11th of November. For more information visit http://moonconf.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 [@4:20] About Brian NoRedInk Elm I Brian got introduced to programming PHP Python Haskell Functional Programming Principles in Scala Coursera Course STL Python Group Learning “You can implement any collection operator with foldl and foldr” Experience folding functional programming constructs back into Python Celery Go Strange Loop Make the Back-end Team Jealous Mantl Mantl UI frontend Ansible Mesos Kubernetes First experience getting into Elm Union Types start-app JSON.Decode library Pipeline operator in Elm Currying in Elm Error Messages in Elm Using the compiler as a tool to guide a refactoring What prompted putting on Elm Conf St. Louis Elm user group Elm Conf US 2017 is taking place September 28 State of Elm Survey State of Elm Survey 2017 Results State of Elm Survey 2017 overview elm-format Integrating Elm into your existing JavaScript application style-elements from Matthew Griffith High level picture of Elm components “The benefit of Elm is creating apps that don’t break” “Elm approach to API design is rather like grilling something versus cooking it sous-vide” Teasing Elm Conf 2017 Strange Loop “I’m happy to recommend restaurants as I am local” Elm Conf US compared to other Elm Conferences Elm Europe Oslo Elm Day Encouragements for getting more Elm Conferences Start a Elm user group Recommendations and places to get started dreamwriter builtwithelm.co Elm Slack Elm sub-reddit Elm in Action The JSON Survival Kit Use code `geekery` for 10% off Planet Elm 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