Functional Geekery

Proctor
undefined
Jul 25, 2017 • 1h 5min

Functional Geekery Episode 101 - Adam Chlipala

In this episode I talk with Adam Chlipala. We talk Coq, proof assistants, getting started, tooling, domains for advancement using proofs, Ur/Web, and much, much more. Our Guest, Adam Chlipala Adam’s home page Conference Announcements BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/. 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. 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 [@5:07] About Adam Coq “Theorem proving is a secret weapon for improving the way we build systems” Adam’s first encounter with ML Going from ML to Coq What theorem proving looks like today Addictiveness of proving software Xavier Leroy – creator of OCaml Good domains of software for proof assistants Compilers Overall technology of effective proofs Interfaces between components The Science of Deep Specification @deep_spec on Twitter Proving at the internal layers of a system Generative Testing compared to Proof Specifications QuickChick What using Coq to do your proofs looks like Proof General Coq IDE “We should be able to take all the mental effort going into unit testing and put it into specifying and proving instead, for at least some important classes of systems.” How to start moving toward adopting proof systems Bedrock Kami Software Foundations by Benjamin Pierce, et. al. DeepSpec project summer school What domains where formal proof systems fit well Heartbleed Cryptography Fiat Cryptography Systematic Synthesis of Elliptic Curve Cryptography Implementations TLS 1.3 standard draft Ur Ur/Web Tier-less languages How Ur/Web works at a high level Automatically compiling Ur to Server code, Client code, or SQL depending on context of usage Selling points of Ur/Web for Haskell or ML fans Object Capability Discipline The Ur/Web People Organizer How Higher-Kinded Types fit in Ur/Web Ur/Web’s concurrency model TechEmpower Web Framework Benchmarks Importance of database transactions and their usage in Ur/Web Automatic retry of transaction failure built into Ur/Web Fiat Building a DNS server using Fiat The End of History? Using a Proof Assistant to Replace Language Design with Library Design SNAPL 2017 As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Jul 4, 2017 • 59min

Functional Geekery Episode 100 - Mark Allen

In this episode I talk with Mark Allen. We talk his introduction to Erlang, deployment, Mark’s various projects, lessons in distributed applications, and much more. Our Guest, Mark Allen @bytemeorg on Twitter mrallen1 on Github Conference Announcements EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated. BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/. 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. 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:43] About Mark How Mark moved from systems administration to software development Alert Logic Erlang Akka Microsoft Orleans Akka.NET Mark’s first exposure to Erlang Erlang’s virtues as stumbling blocks to newcomers to Erlang Understanding loops via recursion Seeing the power of Erlang with long running concurrent tasks “[Erlang] makes easy things hard, and hard things easy” OCaml Scala Moving from understanding syntax to thinking in processes Messages and Mailboxes as a means to concurrency “If you do have surprises, it’s because you forgot to update that part of the state” Basho Making the transition to deeper distributed computing with Erlang Riak Core “[In Riak Core] the unit of computation is a VNode” udon Reid Draper on Functional Geekery Episode 6 Continuing to fall victim to the fallacies of distributed computing The Network is Reliable Deployment story of Erlang Riak RabbitMQ “Your team owns the code… You own the problem the entire time” AWS and Docker hex.pm Project to build a repository behind the company firewall Elixir Administrating Erlang folsom exometer Datadog lager Error logging and potential to crash the vm with large state Erlang/OTP release 20.0 Erlang hot-code loading compared to deployment with Amazon AWS and Docker Ability to patch long running services while still running “Don’t be intimidated by Erlang” Way Erlang has changed the way Mark thinks in other languages Alert Logic is hiring if you want to write Erlang day-to-day Examples of good Erlang structure throwdown Midewest.io Taipan parque udon kerl Erlang User Conference 2017 Sagas in Erlang gisla Curry On Barcelona The Sharp Edges of Leaky Abstraction As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Jun 27, 2017 • 59min

Functional Geekery Episode 99 - Christiano Haesbaert

In this episode I talk with Christiano Haesbaert. We talk his experience with the BSD kernel; foray into OCaml and MirageOS, and how OCaml fits in the realm of “systems languages”. Our Guest, Christiano Haesbaert @haesbaert_cf on Twitter haesbaert on Github Conference Announcements Scala Wave 2017 will be taking place July 7th and 8th. Visit scalawave.io to find out more and to register. EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated. BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/. 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. 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/. 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:58] About Christiano OCaml MirageOS How Christiano was introduced to software Starting out with Linux Learning how to program to understand System Administration K&R book Linux Kernel interest OpenBSD The Little Schemer Bitrig Writing kernel code MirageOS and running DNS in a Unikernel Xen Learning OCaml Real World OCaml “[In C] you learn to trust nothing” Overview of MirageOS Mirage Pioneer Projects Page Writing a DHCP server in OCaml C vs OCaml as systems languages Control vs Data Inria OCaml Labs Power of OCaml for control protocols Nik Swamy on Functional Geekery about HTTPS in F* Removing responsibility from the human side and letting the compiler take care of it Mapping a protocol specification to OCaml versus C “OCaml made me a lazy C programmer, because I started trusting stuff” Creating Monsters by pulling in ideas that don’t fit from another language Co-worker from Haskell and 2,000 line header file Fuzz Testing in Mirage and OCaml Docker and MirageOS linuxkit Being proved right with DHCP from usage and lack of bug reports Writing a SSH library in OCaml OpenSSH Working on removing side-effects in SSH library (aside from entropy) TLS Library in OCaml OCaml TLS paper: Not-quite-so-broken TLS “Call for request to have ability to zero out memory for security reasons” Suggestions on getting started in OCaml or MirageOS Real World OCaml Mirage Pioneer Projects Page #ocaml IRC Channel on Freenode #mirage IRC Channel on Freenode MirageOS Hackathon in Marrakech As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Jun 13, 2017 • 59min

Functional Geekery Episode 98 - Scott Wlaschin

In this episode I talk with Scott Wlaschin. We talk on the topic of his upcoming book Domain Modeling Made Functional, and using F# (and ML family type system languages) with Domain Driven Design. Our Guest, Scott Wlaschin @ScottWlaschin on Twitter F# for fun and profit Domain Modeling Made Functional Conference Announcements Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/. Scala Wave 2017 will be taking place July 7th and 8th. Visit scalawave.io to find out more and to register. O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off. EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated. BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/. 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/. 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:41] About Scott Scott on Functional Geekery Episode 66 Scott on Three Devs and a Maybe Programming Like Functions Matter with Jimmy Burrell and Scott Wlaschin The Tale of State and Behaviour, Part 1 with Scott Wlaschin The Tale of State and Behaviour, Part 2 with Scott Wlaschin Scott’s upcoming book Domain Modeling Made Functional How the book came about F# Using F# for Business Domain modeling Balancing the formalistic mathematical side with the humanistic side of software Building the thing right vs building the right thing Domain-Driven Design F#’s ability to evolve software while keeping aligned to the domain Ability to lean on the compiler more in ML family languages Ease, simplicity, and conciseness of adding new domain types Domain types as concepts separated from their underlying serialization format Benefit of immutable data in the domain Ability to focus on domain logic and not defensive programming Evolving type definitions as the domain logic evolves Refactoring transformations vs state mutation changes Abstraction vs Concretion in modeling the domain Sum/Product Types vs Generic Types in modeling the domain Ability to model against types without knowing what the types actually are Monoid – ability to combine two types to make a larger type “The principles don’t change” Getting more people to talk about integrating Domain Driven Design and functional programming Trying to organize the narrative of a book Overview of what the book’s audience and organization will be “I wanted to make something approachable” Demystifying functional programming Showing people with the focus on practical things over academic things Lessons learned on not building the right thing Outline of Scott’s book Order processing system as example domain Thirteen ways of looking at a turtle Upcoming appearances NDC Oslo NDC Sydney Open FSharp conference NDC Conferences’ videos on Vimeo As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Jun 6, 2017 • 47min

Functional Geekery Episode 97 - Colin Barrett

In this episode I talk with Colin Barrett. We talk his intro to Objective C; exploration to Haskell, OCaml, and other languages; diving deep into functional programming; functional Swift; and more. Our Guest, Colin Barrett @cbarrett on Twitter https://www.patreon.com/cbarrett Conference Announcements Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/. Scala Wave 2017 will be taking place July 7th and 8th. Visit scalawave.io to find out more and to register. O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off. EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated. BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/. 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. 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/. 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:33] About Colin Adium How Colin first got exposed to software development First exposures to programming languages Objective C C and C++ Hypercard Looking into Haskell, OCaml, Ruby and other languages MacRuby bracer Getting into Haskell Going Broad vs Going Deep Python Seven Languages in Seven Weeks Colin’s experience getting started with Haskell “Depending on the angle you come at it, you either bounce off, or get hooked” Real World Haskell Taking lessons back out of Haskell Blocks in Python and Objective C Uncanny Valley of functional programming in Objective C Getting deep into functional programming and functional reactive programming Conal Elliott Swift Itai Ferber Swift Evolution List Smart KeyPaths Digging into Swift The dream of a ML family language with Objective C inter-op Scala Reactive Cocoa What is the power of Swift vs Objective C? “Separating out what to do from how to do it” Swift compared to Haskell or an ML running server side Rust Kotlin FindBugs Recommendations for introducing more functional Swift Kickstarter libraries Kickstarter Prelude Kickstarter mobile apps open sourced Kickstarter iOS app Functional Swift Conferences Theorems for free! Propositions as Types Structure and Interpretation of Computer Programs Compose Conference Upcoming plans for a Front-end Functional meetup in NYC Brandon Williams As always, a giant Thank You goes to David Belcher for the logo design.
undefined
May 23, 2017 • 53min

Functional Geekery Episode 96 - Erik Svedäng

In this episode I talk with Erik Svedäng. We talk his background in functional programming, game development, and creating Carp, a statically typed Lisp for use in game development. Our Guest, Erik Svedäng https://eriksvedang.com/ @e_svedang on Twitter eriksvedang on Github Carp on Github Conference Announcements Elm Europe will be taking place June 8th and 9th in Paris, France. Visit http://elmeurope.org/ for more information and to register. Erlang User Conference 2017 will be taking place June 8th and 9th in Stockholm, Sweden. Visit http://www.erlang-factory.com/euc2017 for more information and to register. ZuriHac 2017 will be taking place in Zurich on the 9th-11th of June. For more information, and to register visit https://zurihac.info/ Oslo Elm Day is a one-day conference about Elm taking place June 10th in Oslo, Norway. Visit https://osloelmday.no/ for more information and to register. Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/. O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off. EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated. BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/. 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/. Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.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/. 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:50] About Erik Carp Language Desire to make a game How Erik was exposed to functional programming Else Heart.Break() Putting a programming language inside a game Structure and Interpretation of Computer Programs Fascination with programming and human languages Fitting functional programming ideas into game development Dr. Racket LINQ Foundation for starting a new language to do game development with Clojure Quill Haskell Gloss F# Unity Reasons behind combining types and a Lisp in Carp Integrating Types and Macros Typed Racket Clojure.typed Lessons in language design for game engine loop performance levels Rust Memory management in Carp Interactivity in developing a game in Carp Wondering how much should Algebraic Data Types should be brought into a Lisp Current state of Carp Where to find out more about Carp Carp on Gitter Research.md in Carp repository Type-Driven Development with Idris As always, a giant Thank You goes to David Belcher for the logo design.
undefined
May 16, 2017 • 59min

Functional Geekery Episode 95 - Dan Friedman

In this episode I talk with Dan Friedman. Dan gives shares stories of his history working with Lisp, including topics such as the power of Lisp, and tips for introducing a language. Our Guest, Dan Friedman Dan’s Faculty Page Conference Announcements Elm Europe will be taking place June 8th and 9th in Paris, France. Visit http://elmeurope.org/ for more information and to register. Erlang User Conference 2017 will be taking place June 8th and 9th in Stockholm, Sweden. Visit http://www.erlang-factory.com/euc2017 for more information and to register. ZuriHac 2017 will be taking place in Zurich on the 9th-11th of June. For more information, and to register visit https://zurihac.info/ Oslo Elm Day is a one-day conference about Elm taking place June 10th in Oslo, Norway. Visit https://osloelmday.no/ for more information and to register. Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/. O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off. EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated. BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/. 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/. Open FSharp will be taking place the 28th-29th of September in San Fransisco, California. Visit openfsharp.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/. 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:03] About Dan Dan’s early entry into teaching Elliott Organick MAD (Michigan Algorithmic Decoder) language Multics LISP 1.5 Programmer’s Manual Indiana University The Little Lisper origins Selectric Smith Corona PDP-11 Ben Schneiderman Getting Tenure David Wise CONS should not Evaluate its Arguments Mitch Wand Essentials of Programming Languages Kanren Oleg Kiselyov Grasp Bill Cohagan Grope Bob Baron IBM 360 What about Lisp that appeals now and then to Dan Brian Smith Planner Carl Hewitt Eugene Charniak Gerald Sussman Conniver Scheme Report (1975) Higher Order Functions Coda language Bob Filman William Byrd Simplicity as the over arching model miniKanren Prolog Dan’s 60th Birthday Celebration Chung-chieh Shan The Reasoned Schemer Richard Salter Implementing languages from scratch in a couple of evenings Dick Kieburtz Marigold Power of macros in Lisp Matthias Felleisen Building an Operating System in a week Racket Jason Hemann µKanren Advice and tips for teaching Convince students in first two lectures they will be changed 2 or 3 cases max when dealing with recursion Ackermann function Carl Eastlund The Little Prover David Christiansen “Little Book” in the works on dependent types Pie language As always, a giant Thank You goes to David Belcher for the logo design.
undefined
May 9, 2017 • 1h 7min

Functional Geekery Episode 94 - Evan Hubinger

In this episode I talk with Evan Hubinger. We talk his introduction to programming, creating the Coconut language, building Coconut as additive to Python 3, what makes a good language, and much, much more. Our Guest, Evan Hubinger @evhub on Github Coconut Coconut on Github Conference Announcements Elm Europe will be taking place June 8th and 9th in Paris, France. Visit http://elmeurope.org/ for more information and to register. Erlang User Conference 2017 will be taking place June 8th and 9th in Stockholm, Sweden. Visit http://www.erlang-factory.com/euc2017 for more information and to register. ZuriHac 2017 will be taking place in Zurich on the 9th-11th of June. For more information, and to register visit https://zurihac.info/ Oslo Elm Day is a one-day conference about Elm taking place June 10th in Oslo, Norway. Visit https://osloelmday.no/ for more information and to register. Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/. O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off. EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated. BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/. The Strange Loop CfP is open! 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/. 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/. 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:32] About Evan Coconut Harvey Mudd College Python Haskell How Even first was exposed to programming How Even first was exposed to functional programming Being exposed to Haskell in High School Reasonability of functional programs JavaScript CoffeeScript TypeScript Foundations from Python to learning Haskell View of functional programming languages in college with previous exposure Racket What the Harvey Mudd professors get right teaching functional programming “You don’t need to go wholesale to functional programming” What set the stage for the idea to write a language First pass at writing a programming language on Python Rabbit What helped inform lessons learned from first attempt at writing a language “You have to write a compiler, not an interpreter” Importance of readability of a language Flow Realizing the importance of building additive to Python 3 Babel Six 2to3 3to2 What makes a good language “Code gets read more frequently than it gets written” “We are going to do what Python did for imperative programming” Readability vs Familiarity Compiling from Coconut to Universal Python Inter-operability between Coconut and any Python code Supporting Tail Call Optimization Immutability in Coconut Inter-operability with math libraries NumPy Pipeline operator in Coconut Parsing and compilation Pyparsing Undebt: How We Refactored 3 Million Lines of Code Maturity level of Coconut Introducing type checking to Coconut mypy IPython Jupyter Overview of the state of type checking in Python with mypy Future things to look for in Coconut PyCon 2017 undebt, refactoring in Python Coconut on Github Coconut tutorial Coconut Documentation Coconut Gitter chat As always, a giant Thank You goes to David Belcher for the logo design.
undefined
May 2, 2017 • 46min

Functional Geekery Episode 93 - Sander Spies

In this episode I talk with Sander Spies. We talk his intro to functional programming; what made OCaml click for him; the whats, whys, and hows of Reason; and much more. Our Guest, Sander Spies @sander_spies on Twitter Conference Announcements OSCON will be taking place May 8-11 in Austin, TX. For more information and to register visit: http://www.oreilly.com/pub/cpc/50016, and use code USRG for 20% off most passes. LambdaConf 2017 will be taking place May 25th – 27th in Boulder, Colorado. Visit http://lambdaconf.us for more information. Elm Europe will be taking place June 8th and 9th in Paris, France. Visit http://elmeurope.org/ for more information and to register. ZuriHac 2017 will be taking place in Zurch on the 9th-11th of June. For more information, and to register visit https://zurihac.info/ Oslo Elm Day is a one-day conference about Elm taking place June 10th in Oslo, Norway. Visit https://osloelmday.no/ for more information and to register. Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/. O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off. EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated. BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/. The Strange Loop CfP is open! 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/. 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/. 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:36] About Sander Reason OCaml Labs How Sander got into software development Java Applets Java C# How Sander got into functional programming JavaScript Issues around managing state React Moving to use immutability and types in JavaScript How Sander started getting into OCaml Coming into a language with immutability and types as defaults What set the foundation for OCaml to be quickly understood Immutable.js David Nolan’s talk on immutability Om “If you can remove categories of problems, do it” OCaml PPX Jordan Walke Overview of Reason Where Reason fits between JavaScript and OCaml ReasonNativeProject esy-npm-project-example JavaScript is already compiling to JavaScript reason-react Goal of introducing Reason side by side with existing JavaScript Reason’s interaction with “unsafe” JavaScript BuckleScript BuckleTypes Reason’s fit server side as part of Node.js apps Bridging the communities of JavaScript and OCaml What documentation might be helpful to spread the Reason community “Document what you are doing, [and] explain why you are doing it” The need for more content on Reason, OCaml, and functional programming in general What might be looking at for the upcoming future of Reason “What would happen if you rewrote React in Reason?” Reason Discord Channel @reasonmlon Twitter IRC (freenode #reasonml) Potential of Reason on the native mobile side Upcoming Secret Project to be announced If you are trying out reason feel free to ask questions As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Apr 25, 2017 • 1h 3min

Functional Geekery Episode 92 - Irina Guberman

In this episode I talk with Irina Guberman. We talk her entry into programming, coming across Erlang at the “perfect time”, importance of learning multiple paradigms, programmable hardware, and more. Our Guest, Irina Guberman @irina_guberman on Twitter iguberman on Github Conference Announcements Call for presenters is now open for Velocity London 2017. Visit http://www.oreilly.com/pub/cpc/68627 for more information and to submit your proposal. The Call for Presenters is now open for Software Architecture in London, UK. Visit http://www.oreilly.com/pub/cpc/68630 for more information and to submit your proposal. flatMap(Oslo) is a FP-conference with focus on Scala and the JVM, taking place on May 2nd and 3rd in Oslo, Norway. Please go to http://2017.flatmap.no/ to learn more. ElixirConf EU will be taking place on May 4th and 5th with tutorials on May 3rd. For more information visit: http://www.elixirconf.eu/ OSCON will be taking place May 8-11 in Austin, TX. For more information and to register visit: http://www.oreilly.com/pub/cpc/50016, and use code USRG for 20% off most passes. LambdaConf 2017 will be taking place May 25th – 27th in Boulder, Colorado. Visit http://lambdaconf.us for more information. Elm Europe will be taking place June 8th and 9th in Paris, France. Visit http://elmeurope.org/ for more information and to register. ZuriHac 2017 will be taking place in Zurch on the 9th-11th of June. For more information, and to register visit https://zurihac.info/ Oslo Elm Day is a one-day conference about Elm taking place June 10th in Oslo, Norway. Visit https://osloelmday.no/ for more information and to register. Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/. O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off. EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated. BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/. The Strange Loop CfP is open! 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/. 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/. 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 [@7:43] About Irina How Irina got into software development What made software development click and be “addictive” SuperCard How Irina got introduced to Erlang Java Recruiter email mentioning Erlang Programming Erlang by Joe Armstrong Finding Erlang at the perfect time Chicago Erlang Community Martin J. Logan’s on Episode 13 Eric B. Merritt on Episode 20 Garrett Smith on Episode 56 Encountering “Why should I learn another language” questions Feeling the pain that Erlang has already solved Elixir Lisp Flavoured Erlang mnesia in Erlang WhatsApp “A language that has a database built in” The beauty of “doing nothing” to support concurrency and distribution “I like solving problems by doing nothing” Starting to learn Erlang in 2010 Learn You Some Erlang for Great Good Erlang and OTP in Action Importance of marketing and documentation for languages Phoenix Framework False idea of “These tools will speak for themselves” Erlang Performance Lab Michal Slaski presenting Erlang Performance Lab at Erlang and Elixir Factory SF 2017 Learning how to understand how to structure Erlang applications Building a Cache chapter in Erlang and OTP in Action Importance of learning and understanding new paradigms “Letting go of everything you learned before” Scratch Hardware Definition Languages Verilog Empowering devices for IoT with Erlang and FPGA at Erlang and Elixir Factory SF 2017 Learning a language better by learning other languages Racket Beautiful Racket by Matthew Butterick Hour of Code FPGA – Field-programmable gate array 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