Functional Geekery

Proctor
undefined
May 12, 2015 • 57min

Functional Geekery Episode 21 - Andrea Magnorsky

In this episode I talk with Andrea Magnorsky. We talk about her introduction to Functional Programming, F#, and we end by talking about her user group Functional Kats. Our Guest, Andrea Magnorsky @silverspoon on Twitter http://www.roundcrisis.com/ batcatgames.com Onikira – Demon Killer Announcements Erlang User Conference will be taking place in Stockholm, Sweden on the 11th and 12th of June. The largest Erlang event in Europe will feature talks about Erlang/OTP and Elixir innovations, and much more. Visit http://www.erlang-factory.com/euc2015 to find out more and to register. And get a 10% discount on the two days of conference when using the code ‘FnGeekery10’. I will be giving an Introduction to Erlang workshop at LambdaConf 2015 in Boulder, Colorado. LambdaConf will be taking place the 22nd-24th of May, and has offered a 10% discount of registration with code LambdaConf-Functional-Geekery. For more information and to register go to http://www.degoesconsulting.com/lambdaconf-2015/. Sponsors This episode is sponsored by PurelyFunctional.tv. For high quality videos on Clojure, from an intro to Clojure to an in depth look at core.async, Eric Normand has you covered. Videos are downloadable allowing them to be viewed offline and at your leisure, and include exercises to help ensure your learning through interaction. Listeners get a 25% discount off everything with coupon code GEEK. Visit http://purelyfunctional.tv/geekery, and make sure to thank them for being a sponsor. Topics About Andrea How Andrea got interested in functional programming Phil Trelford CodeMesh 2013 Andrea’s CodeMesh 2014 presentation “I don’t think I’m ready for that” is the sign you really are Seven Languages in Seven Weeks The poor marketing of F# in the beginning of the language 26 effective Ways to introduce F# into your Organization FSCheck FSUnit Fake FSCheck and Property Testing Introducing F# into an existing project Interoperation between F# and the rest of .NET No technical reasons to not use F# instead of C# anymore, all are people reasons Moving code from C# to F# Andrea on Mostly Erlang podcast F# on Macs and Mono Rachel Reese tryfsharp.org F# Koans Going back to Haskell after learning F# Game Programming in Haskell by Elise Huard The power of Discriminated Union Types Pattern Matching in F# Active Patterns Active Patterns example Functional Composition Operators [0..10] |> List.map (fun x-> x*2) NULLs in F# Unit, None, and Option Types Functional Kats User Group @functionalkats on Twitter https://github.com/FunctionalKatas NDC Oslo FsReveal MBrace A giant Thank You to David Belcher for the logo design.
undefined
Mar 3, 2015 • 1h 1min

Functional Geekery Episode 20 - Eric B. Merritt

In this episode I talk with Eric Merritt. We talk about his background in Erlang, static typing and using OCaml, as well as micro kernels, and the importance operations plays in the developer role. Our Guest, Eric B. Merritt @ericbmerritt on Twitter http://blog.ericbmerritt.com/ ericbmerritt@gmail.com https://github.com/afiniate Announcements Erlang Factory San Fransisco is coming up on the 26th-27th of March. Guest speakers include Alan Kay, José Valim, Robert Virding, Joe Armstrong, Mike Williams, John Hughes, Bruce Tate and many more. Listeners get a 10% discount when you use the code FnGeekery. To find out more visit http://www.erlang-factory.com/sfbay2015/home I will be giving an Introduction to Erlang workshop at LambdaConf 2015 in Boulder, Colorado. LambdaConf will be taking place the 22nd-24th of May, and has offered a 10% discount of registration with code LambdaConf-Functional-Geekery. For more information and to register go to http://www.degoesconsulting.com/lambdaconf-2015/. Sponsors This episode is sponsored by PurelyFunctional.tv. For high quality videos on Clojure, from an intro to Clojure to an in depth look at core.async, Eric Normand has you covered. Videos are downloadable allowing them to be viewed offline and at your leisure, and include exercises to help ensure your learning through interaction. Listeners get a 25% discount off everything with coupon code GEEK. Visit http://purelyfunctional.tv/geekery, and make sure to thank them for being a sponsor. Topics Eric’s Background Erlang Camp Erlang and OTP in Action relx Eric’s adventures in looking at a number of different languages Martin Logan one of Eric’s co-authors on Erlang and OTP in Action Martin J. Logan was a guest on Episode 13 Greenspun’s tenth rule applied to OTP Erlang has a driver that is not about curiosity, but about scalability Using a ! in Erlang to send a message is equivalent to using Assembly in C Erlware Joxa “Erlang Runtime System is brilliant” Why build a LISP on the Erlang VM Core Erlang Eric doesn’t love the lack of typing Dialyzer and Success Typing Dialyzer is sadly not a replacement for static typing Static Typing is the next step from Garbage Collection for compliers Erlang is typed at it’s core Would love to write a language with static typing on the Erlang VM Distribution of work between dynamic languages and statically typed languages The importance of using -spec preprocessor in Erlang rebar3 Why Eric thinks static typing is extremely important Eric’s move to use OCaml for his side work Jane Street’s Async Using AWS to offset the cost of not having Erlang’s concurrency in OCaml The problems of lack of static typing as systems grow large The feeling of confidence when an OCaml program compiles and passes it’s tests Missing the idea of processes for modeling problem space in OCaml like Erlang has Microkernels Erlang on Xen and Mirage for OCaml Erlang on embedded hardware Running applications on bare hardware BSD Rump Kernels Amazon Machine Image Open Stack Docker The move away from multi-user systems Operations and Development are the same now The importance of automating from time to check in to deployment AWS Cloud Formation DevOps.com Chef Puppet Ansible Packer Resources for understanding the actor model Akka Mozart Oz AliceML Gambit Scheme Thinking of Actor Model and distributed concepts as microservices Eventual Consistency CAP Theorem Gossip Protocol Vector Clocks Bloom Concurrency is the future Look for other articles on DevOps.com Declarative approach to deployments Keep and eye on rebar3 for Erlang https://github.com/afiniate Beerly Functional Meetup A giant Thank You to David Belcher for the logo design.
undefined
Jan 20, 2015 • 1h 1min

Functional Geekery Episode 19 - Julie Moronuki and Chris Allen

In this episode I talk with Julie Moronuki and Chris Allen. In this episode we talk about learning Haskell as a non-programmer, and some of the lessons we can learn as we try and teach others. Our Guests, Julie Moronuki and Chris Allen Julie is @argumatronic on Twitter Julie’s blog Chris is @bitemyapp on Twitter Chris’ website http://bitemyapp.com/ Haskell Book Announcements Erlang Factory San Fransisco is coming up on the 26th-27th of March. Guest speakers include Alan Kay, José Valim, Robert Virding, Joe Armstrong, Mike Williams, John Hughes, Bruce Tate and many more. Listeners get a 10% discount when you use the code FnGeekery. To find out more visit http://www.erlang-factory.com/sfbay2015/home Sponsors This episode is sponsored by PurelyFunctional.tv. For high quality videos on Clojure, from an intro to Clojure to an in depth look at core.async, Eric Normand has you covered. Videos are downloadable allowing them to be viewed offline and at your leisure, and include exercises to help ensure your learning through interaction. Listeners get a 25% discount off everything with coupon code GEEK. Visit http://purelyfunctional.tv/geekery, and make sure to thank them for being a sponsor. Topics Julie’s blog post LEARNING HASKELL AS A NONPROGRAMMER How Julie got into learning Haskell from Chris Similarity between Haskell and Julie’s linguistic background Julie’s excitement of realizing she can make computer do something The initial hump of understanding static, runtime, compile time, and interacting with the computer Learn You a Haskell for Great Good!: A Beginner’s Guide No resources for someone completely new to programming Chris’ guide to learning Haskell CIS 194 from University of Pennsylvania NICTA course Haskell: The Craft of Functional Programming (3rd Edition) (International Computer Science Series) by Simpon Thompson Chris experience teaching people new to programming Chris’ surprise at Julie’s level of curiosity Confusion of Types for non-programmers and programmers alike Why Metaphors and Analogies are generally problematic in teaching Explaining folding to explaining recursion, and textual unrolling of recursion SUDDENLY, THE OPPOSITE HAPPENED and A FUNCTIONAL APPROACH TO TALKING ABOUT FEELINGS Some of the best posts, show how things work step-by-step Chris’ Monad Transformers talk Interactive teaching helps, but doesn’t scale as well as blog posts “Types give you a language for talking about the structure of things” Alternate between specifics and high-level generalizations when teaching Dialogs from the IRC channel Different options for putting together static content to teach someone Importance of directing readers to resources to fill in the gaps of what they may not know Would like to see something that takes a person from beginner to building a real application Oliver Charles’ 24 Days of GHC Extensions Oliver Charles on Twitter at @acid2 Gabriel Gonzalez’s blog Chris’ Christmas wish is more people writing/talking about the operational side of Haskell Erlang War Story Example Importance of setting expectations up front about learning Haskell Importance of getting to know your students and their background How to (Actually) Mentor Someone Chris would love to see more progression and series blog posts on intermediate material Haskell Book Chris’ How I Start post on Haskell A giant Thank You to David Belcher for the logo design.
undefined
Nov 18, 2014 • 52min

Functional Geekery Episode 18 - Eric Normand

In this episode I talk with Eric Normand. We cover Eric’s background in Clojure, his Clojure videos, core.async, teaching new topics to people, the Pre-Conj Prep for 2014, and his Clojure Gazette. Our Guest, Eric Normand @ericnormand on Twitter http://www.lispcast.com/ http://www.clojuregazette.com/ http://www.purelyfunctional.tv/ Announcements Seven More Languages in Seven Weeks by Bruce Tate is going to production. If you were wanting to find out more after Episode 15, make sure to check out the book. Topics How Eric got into Clojure Lisp 50 conference Eric’s Lisp background Clojure Blog space is lacking beginner info Dump everything you know into your blog Write a post about everything in the standard library People need to know the basics “I can solve any problem just by typing it into Google” Intro to Clojure videos Kickstarter as a way to test for an audience “I like teaching the basics” Teaching versus just writing what you know Kyle Kingsbury’s Intro to Clojure – Clojure from the ground up Web Development in Clojure core.async videos Helping a toy factory make their toys more concurrently The practical side of using core.async The process of making the core.async videos Figure out what concepts one needs to know to understand Pre-Conj Prep What he could guess as the background of the talk “I’ve watched every video from every conj” (not= DSL macros) video Asked all the speakers if they wanted to do an interview Clojure Gazette The history and influences of Clojure The ability to think at a higher level of abstraction in Clojure Caution against being the “Smug Lisp Weenie” What am I missing that others are being smug about Guy Steele on bringing C/C++ programmers halfway to Lisp Rich Hickey’s keynote at RailsConf Find those things in Clojure that you can’t do in other languages Continuation Style Passing in Go versus core.async Solution to Callback Hell – core.async in Browsers Java Concurrency in Practice Rich Hickey’s Reading List Import to get concurrency in from the beginning core.async gives you a local event loop core.async channels compared to the actor model A giant Thank You to David Belcher for the logo design.
undefined
Oct 28, 2014 • 55min

Functional Geekery Episode 17 - José Valim

In this episode I talk with José Valim. We cover what prompted him to create a new language, design decisions in Elixir, what is needed for a 1.0 release, and much, much more. Our Guest, José Valim @josevalim on Twitter @elixirlang on Twitter plataformatec Announcements Listeners of Functional Geekery get 10% off CodeMesh 2014 when you use offer code fngeekery10. Global Day of Coderettreat is November 15th. To find a Coderetreat in your area, or to organize one go to http://coderetreat.org/. Seven More Languages in Seven Weeks by Bruce Tate is going to production. If you were wanting to find out more after Episode 15, make sure to check out the book. Topics Why Elixir Making Rails Thread-safe The Free Lunch is Over “I want the next thing I write to be running on this [Erlang] Virtual Machine” Things missing from Erlang Inspirations and Influences for Elixir The focus on being a very welcoming place Protocols from Clojure for polymorphism nil from The Joy of Clojure The Forming of the Community around Elixir Introducing Elixir by Simon St. Laurent Programming Elixir by Dave Thomas ElixirConf Feedback from the Community 1.0 as A Solid Foundation for the Language Elixir kernel IEx ExUnit Mix EEx – embedded Elixir Logger – Format error messages nicely for Elixir Riak Lager from Basho Package Management Hex by Eric Meadows-Jönsson Integration story between Erlang and Elixir Starting over on Elixir Separated “What I wanted from how I wanted it” Getting to a very small core and build everything around it using macros Exercise in Patience and taking time to thing about solutions How Macros Work in Elixir A Week with Elixir by Joe Armstrong Ability to support version tagging Elixir code Robert Virding in #elixir-lang on IRC Issues shared between Elixir and Erlang Requirement of all functions need to be defined in a module for code reloading Ability for Hot Code Loading in Elixir Extending OTP Behaviors in Elixir Agents and Tasks for breaking apart a gen_server in Elixir Agents are about state and Tasks about behavior Thinking of gen_event as a stream of transformations Time for the Community and Ecosystem to Grow elixir-lang.org Elixir Sips ElixirConf and talks recorded by Confreaks ElixirConf in Europe StrangeLoop Conference and videos #elixir-lang elixir-lang-talk and elixir-lang-core mailing lists A giant Thank You to David Belcher for the logo design.
undefined
Sep 30, 2014 • 53min

Functional Geekery Episode 16 - Matthew Podwysocki

In this episode I talk with Matthew Podwysocki. We talk about Reactive Programming and Functional Reactive Programming, and the Reactive Extensions project. We also touch on Matt’s recent passion about hardware, and how that aligns with his interest in reactive programming. Our Guest, Matthew Podwysocki @mattpodwysocki on Twitter @reactivex on Twitter Reactive Extensions Portal Announcements Listeners of Functional Geekery get 10% off CodeMesh 2014 when you use offer code fngeekery10. The ErlangCamp organizers are giving listeners of Functional Geekery 15% off the price of tickets for ErlangCamp 2014 with offer code FNG15. This discount applies to tickets for dinner with the speakers as well. Global Day of Coderettreat is November 15th. To find a Coderetreat in your area, or to organize one go to http://coderetreat.org/. Topics Reactive Extensions and Microsoft Open Technologies Reactive Manifesto Microsoft Excel – One of the worlds largest reactive programming environments More event driven, register an interest in a piece of data Not pull based, but more pushed based if interested Cortana Responding to a Stimulus Functional Reactive Programming Conal Elliot and Paul Hudak Functional Reactive Animation Dynamic and Evolving Values, or values over time Continious notion of time Behaviors and Events Reactive Extensions has concept of virtural time Aggregation of events Stock ticker example Buffers and Windows Arbitrary queries over streaming data Reactive allows to take the data as it comes along and slice and dice in any number of ways “If you can do an operation in SQL you can do an operation on events.” “Not only is SQLServer whatever a database, but so is your mouse” Advantage is you can do things without external state hanging around. “It is simple enough you could have probably invted it youself” RxJava at Netflix ReactiveCocoa at Github RxPython and RxRuby Interesting things between langagues when porting reactive extensions to other langauges Reactive Extensions Portal Intro to Rx http://rxmarbles.com/ Intro to Reactive Programming by André Staltz Matt’s recent passion is hardware Chris Williams and JSConf Internet of Things Robots Conf “When everything you think about is a sensor, you can also think of as a database” A giant Thank You to David Belcher for the logo design.
undefined
Sep 9, 2014 • 51min

Functional Geekery Episode 15 - Bruce Tate

In this episode I talk with Bruce Tate. We talk about his books Seven Languages in Seven Weeks, and Seven More Languages in Seven Weeks, and cover what drove him to write the books, and what he thinks about the languages covered. We also touch on the other Seven in Seven books in the series, and what it takes if someone were to decide they wanted to write one. Our Guest, Bruce Tate @redrapids on Twitter Announcements Listeners of Functional Geekery get 10% off CodeMesh 2014 when you use offer code fngeekery10. The ErlangCamp organizers are giving listeners of Functional Geekery 15% off the price of tickets for ErlangCamp 2014 with offer code FNG15. This discount applies to tickets for dinner with the speakers as well. Global Day of Coderettreat is November 15th. To find a Coderetreat in your area, or to organize one go to http://coderetreat.org/. Topics Background of Seven Languages in Seven Weeks Fear driven learning “Prag” Dave Thomas Beyond Java Bruce’s intro to Ruby cognitect Prevailing attitude of “One true language” Learning for the sake of learning The Free Lunch is Over What languages would the next big language be? Seven Languages in Seven Weeks was the project to try to answer that question What is the story of where the industry is moving? Ruby Io Prolog Scala Erlang Haskell Joe Armstrong Book was about the process of learning the languages Mr Miyagi is the character for Factor Clojure originally described as Mary Poppins meets The Matrix Napoleon Dynamite as Perl Forrest Gump as Pascal The Griswolds as Visual Basic “Object Oriented Programmer tries Haskell” Dave Thomas’ ElixirConf talk Why Ruby is limited in the long haul Seven More Languages in Seven Weeks “I told myself I’d never do this again” Layering ideas on top of other languages Idris and dependent typing Elm for functional and reactive programming comping down to JavaScript Evan Czaplicki Thinking of functions of values across time Two big Ah-Ha moments with working with Idris Found himself thinking about the type system over code Compile error found a logic error The Seven More Languages: Lua, Factor, Elm, Elixir, Julia, miniKanren, and Idris Bruce’s Presentation at ElixirConf Elixir bring syntax, macro system, and concurrency model together José Valim Elixir is powerful and fast moving because of macro system Erlang and Elixir as a powerful combination Webmachine Mix Hex package management Why the Cool Kids Don’t Use Erlang by Garrett Smith Elixir Tooling: Exploring Beyond the Language by Eric Meadows-Jönsson Seven Web Frameworks in Seven Weeks Seven Concurrency Models in Seven Weeks Seven Databases in Seven Weeks “People want to know breadth” “We need to be generalists again” Paul Butcher Possibility of Seven Historical Languages book Gratification of A Seven in Seven book A giant Thank You to David Belcher for the logo design.
undefined
Aug 19, 2014 • 53min

Functional Geekery Episode 14 - Richard Minerich

In this episode I talk with Richard Minerich. We cover his intro to F#, benefits of using F#, the inter-op story with the rest of the .NET Framework, and the direction of growth for F#. Our Guest, Richard Minerich http://richardminerich.com/ @rickasaurus on Twitter rickasaurus on Vimeo rickasaurus on GitHub BayardRock on GitHub Announcements Listeners of Functional Geekery get 10% off CodeMesh 2014 when you use offer code fngeekery10. The ErlangCamp organizers are giving listeners of Functional Geekery 15% off the price of tickets for ErlangCamp 2014 with offer code FNG15. This discount applies to tickets for dinner with the speakers as well. Topics About Richard Minerich Bayard Rock How Rick got into F# Exposure to Clojure via attending Rich Hickey’s Ant Colony Simulation presentation Rick’s take on a F# ant colony simulation F# is a ML family language for the .NET runtime “Less code is more” Open sourcing of F# and tools Growing adoption of F# Bing Advertising system and Halo ranking system are built using F# Finance Companies picked up F# F# Type Providers F# adoption growing in a Alt.NET style Type Erasure in F# Properly encoded types, drastically reduces bug Expressions not statements F# is single pass, but leads to low dependencies C# vs F# dependencies in projects blog post “Put your functions in a data structure and call them after lookup” Good places to prove out usage of F# “All problems are better solved in F#” than C# Pattern Matching to help with complicated domain logic Great for testing C# code Simple Made Easy F# is simple, but with depth Interoperability between F# and C# Dependencies availability in F# Type Providers for calling into other languages F# expanding to OS X and Linux via Mono Why Rick has interest in Haskell Idris and dependent types F# Tutorials Presenting at CodeMesh 2014 Editor’s Note – After the call finished recording, Rick mentioned another good place for introducing F# is the build process, by using Fake A giant Thank You to David Belcher for the logo design.
undefined
Jul 29, 2014 • 1h 1min

Functional Geekery Episode 13 - Martin J. Logan

In this episode I talk with Martin J. Logan. We cover his experience with Erlang, why OTP, his book Erlang and OTP in Action, designing processes in an actor based system, Erlang Camp and more. Our Guest, Martin J. Logan http://blog.erlware.org @martinjlogan on Twitter @erlangcamp on Twitter @erlware on Twitter Topics Martin’s Background Why Threads are a Bad Idea by John Ousterhaut Erlware How was the adjustment to learning Erlang Why Object Oriented Programming never made sense as taught Erlang as an Object Oriented language Pattern matching, binary streams, and gen_fsm behavior How Martin was able to stay in Erlang since 1999 Learning Erlang through the mailing list How the Erlang community has evolved over time Erlang and OTP in Action Motivation of writing Erlang and OTP in Action Why they took the approach to Erlang and OTP in Action they did Martin and his co-authors as Mr. Miyagi teaching Erlang and OTP Reticular activation Practicality as the goal of the book Ability to distribute systems Location transparency in Erlang Aptness of metaphor of Erlang processes as “micro-services” How to determine right granularity of Erlang processes Library applications and active applications Designing for Actor Based Systems Processes modeled as truly concurrent activities Erlang Camp Chicago Erlang user group “At the end of this user group we are going to announce we are having a conference in the fall” Teach basics of Erlang and dive into Erlang in two intense days Repeat attendees help to coordinate the next Erlang Camps Chicago Erlang Conference Garrett Smith LambdaJam from Alex Miller and Dave Thomas Possibility of a second edition of Erlang and OTP in Action DevOps.com A giant Thank You to David Belcher for the logo design.
undefined
Jul 1, 2014 • 43min

Functional Geekery Episode 12 - Adi Bolboaca

In this episode I talk with Adi Bolboaca. I we talk about his experience of facilitating Coderetreats and some of the different things he has noticed in relation to functional languages being used during the sessions. Our Guest, Adi Bolboaca http://blog.adrianbolboaca.ro/ @adibolb on Twitter Topics What is Coderetreat How have functional languages shown up in Coderetreats Conway’s Game of Life in APL Conway’s Game of Life in Clojure from Clojure Programming The types of solutions seen from functional languages The tendency to not have good variable and functions names in functional languages The lack of stressing the importance of clean code in functional languages Single Responsibility Principle in functional languages The exchange of ideas between people with different language paradigms experience Challenges used to push people to a more functional style in object-oriented languages The one guy doing Haskell during a Coderetreat Interesting solutions seen from people using Erlang Unexpected languages seen in Coderetreats Pharo Smalltalk The uniqueness of Perl programmers’ solutions The regional distribution of functional languages showing up in Coderetreats Lack of resources for clean code in functional programming and design Importance of design and architecture in software CodeRetreat.org Global Day of Coderetreat Updated Tuesday, July 29 2014: Global Day of Code Retreat 2014 has been announced. A giant Thank You 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