Categories
Podcasts

Functional Geekery Episode 129 – Eric Normand

In this episode I talk with Eric Normand. We talk his podcast “Thoughts on Functional Programming”; his in-progress book “Grokking Simplicity“; Actions, Calculations, and Data; trying to bury mutation and side-effects; Property-Based testing; and more.

Our Guest, Eric Normand

@ericnormand on Twitter
PurelyFunctional.tv
LispCast.com
Thoughts on Functional Programming
Grokking Simplicity

Conference Announcements

Lambda Days 2020 will be on the 13th and 14th of February in Kraków, Poland. Visit https://www.lambdadays.org/lambdadays2020 to find out more and to register.

Code BEAM SF is taking place on March 6th and 6th. For more information visit: https://codesync.global/conferences/code-beam-sf/.

Elm in the Spring will be taking place May 1st. Check in at https://www.elminthespring.org/ to keep updated as more information gets announced.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Announcements

Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.

Topics [@2:32]

Welcome back Eric
What Eric has been up to since Episode 117
PurelyFunctional.tv
Grokking Simplicity
What prompted the Thoughts on Functional Programming podcast
Started from Eric’s talk at Lambdup 2017
Being told it is much easier to edit existing text than write new text
Trying to start a literature around functional programming
Figuring out the format/layout of the book
“Just imagine each page as a slide”
The target audience for the book
“Functional programming is programming without side effects”
Not being able to recommend any books on getting started with functional programming
Actions, Calculations, and Data
Actions (Impure “Function”) – Depend on when, or how many times, they are run
Side-effects also being the reason we write programs
Calculations (Pure “Functions”) – Same arguments, same answer no matter how many times you run it
Data – completely inert
Data can be interpreted in multiple ways
Other side of Data is that it requires at least some interpretation
How to help distinguish Actions from Calculations
Haskell‘s IO type containing all side-effects as brilliant
The illusion that we are not doing any mutability at the machine level
Blurry line between Actions and Calculations in some cases
Any conventions for later readers to hint at Actions vs Calculations
Selling the separation of Calculations from Actions
Spending time on showing how Actions “contaminate” Calculations
The idea that “You could abstract away the mutation”
Thinking you are going to bury and covering up the problem
“Can you construct a User from an ID without hitting the database”
Needing mocks as a possible signal of being an Action instead of a Calculation
PurelyFunctional.tv videos
Thoughts on Functional Programming podcast
Property-Based Testing videos
Beginning Property-Based Testing course
Intermediate Property-Based Testing course
Advanced Property-Based Testing course
Property-Based testing
QuickCheck
Next course likely building a web-app in Clojure
Bag of Tricks for Property-Based testing
Developing for Stateful Systems
Model-based Property testing
Taking a Stateful test to a Parallel test to a Distributed Test
TSSIMPLICITY discount code for 50% off

As always, a giant Thank You goes to David Belcher for the logo design.

Categories
Podcasts

Functional Geekery Episode 117 – Eric Normand

In this episode I talk with Eric Normand. We catch up with what he has been up to since last episode, talk re-frame in ClojureScript, his newsletter, Clojure SYNC, online community discussions, and more.

Our Guest, Eric Normand

@ericnormand on Twitter
http://www.lispcast.com/
http://www.clojuregazette.com/
http://www.purelyfunctional.tv/
Clojure SYNC

Conference Announcements

LambdUp, Prague’s biggest functional programming event of the year, will be taking place December 16th at MeetFactory in Prague. For more information and to register visit: https://www.lambdup.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/.

BOB 2018 is coming up in Berlin, Germany on February 23rd, 2018. For more information, and to register, visit http://bobkonf.de/.

:clojureD will be following BOB 2018 in Berlin, Germany on February 24th, 2018. For more information, and to register, visit http://clojured.de/.

Lambda Squared is a new conference taking place March 30th in Knoxville, Tennessee. For more information, and to register, visit https://www.lambda-squared.com/.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Announcements

Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.

Topics [@2:59]

Welcome back to Eric
Eric on Episode 18
Eric on Episode 41
http://www.purelyfunctional.tv/
re-frame
JQuery
Backbone.js
ClojureScript
React
Angular
Vue
Reagent
What re-frame gets you
Event architecture
“Your events and subscriptions become your bedrock”
Redux
The Elm Architecture
“Confidence that we are onto something” with similar ideas coming out
Centralizing the state management
Bringing the ideas to “non-functional programmers” with Redux in JavaScript
PurelyFunctional.tv Newsletter
Clojure
Looking at trends and threads across multiple disciplines
Clojure SYNC
The Craft of Programming theme
Zach Tellman
The Elements Of Clojure
George Kierstein
Emily Ashley
Career theme
Rebecca Kinsella
Elana Hashman
Leiningen
Baishampayan Ghose
HelpShift
Context theme
Gerald Jay Sussman
Will Byrd
David Nolen
Kim Crayton
Discount code of `geekery` for 10% off registration
What made Eric make the leap to put on a conference
Clojure/west and Clojure/Conj being combined
French Quarter
Putting together a food guide for the conference
Southern Food and Beverage Museum
The New Orleans Hotel Collection
Smaller more intimate time for after conference events
Online talk about Clojure community being in decline
Negative tone of discussions online
“People don’t complain about strengths that much”
Complaining being a sign of a healthy community
Gossip being the way to determine the mores of the group
“[The negatively talked about subject] is significant, […] that is the thing that is important”
Upcoming projects from Eric
Understanding Re-frame Video Course
Upcoming talk at LambdUp
Giving discounts for people where their country’s economy might not be as strong

As always, a giant Thank You goes to David Belcher for the logo design.

Categories
Podcasts

Functional Geekery Episode 41 – Eric Normand

In this episode I talk with Eric Normand. We talk about teaching ideas around functional programming, digging down into finding the motivations of why someone should care enough to want to learn something, and we end with some tips to keep in mind when teaching.

Our Guest, Eric Normand

@ericnormand on Twitter
http://www.lispcast.com/
http://www.clojuregazette.com/
http://www.purelyfunctional.tv/
http://www.lispcast.com/geekery
[email protected]

Announcements

Compose :: Conference will be taking place Thursday, Feb. 4th and Friday, Feb. 5 of 2016 in New York City. Compose is a conference for typed functional programmers, focused specifically on Haskell, OCaml, F#, SML, and related technologies. To find out more and to register, visit http://www.composeconference.org/

LambdaDays 2016 will be taking place on the 18th and 19th of February in Kraków, Poland. The CFP and registration has opened, so make sure to visit lambdadays.org to find out more. And make sure to use code FunkyGeekz4dWin to get 10% off registration.

:clojureD 2016 will be taking place on the 20th of February in Berlin, Germany. The CFP has opened, so make sure to visit www.clojured.de/ to find out more.

ElixirDaze will be taking place March 4th in St. Augustine, Florida. ElixirDaze is a one day conference with a nearly full day of talks and a Helping Hack session to close it out. Visit elixirdaze.com to find out more.

Erlang Factory San Fransisco will be taking place on the 10th and 11th of March, with training on the 7th through the 9th of March and the 14th through the 16th of March. The Call for Talks is now open through December 15th, and the Very Early Bird registration is open as well.

LambdaConf will be taking place May 26th – 29th in Boulder, Colorado. The CFP is currently open, and keep an eye on lambdaconf.us to find out more.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Topics

About Eric Normand
Eric’s previous appearance on Episode 18
Moving PurelyFunctional.tv to smaller more frequent videos
Ruby Tapas
Elixir Sips
Eric on Giant Robots Smashing into Other Giant Robots
Eric on Ruby Rogues
The move to shorter more frequent videos and getting feedback on teaching
You can never underestimate the level you should be teaching at
Eric’s process for determining how to teach something
Teaching map, filter, and reduce
reduce as macaroni art
Finding the motivation of “why” someone should care
Count the number of mutations and see how much state you are keeping around
Composability of functions
Joel Spolsky’s Can Your Programming Language Do This?
Abstractions in common Object Oriented languages and their communities
Data modeling Students enrolling in Classes
Modeling a ManyToMany class as an object
How to start to get a “Functional Mindset”
Refactoring and Design Patterns as hooks to functional programming
Style Guides and Metrics as a way to promote functional programming
Vision of PurelyFunctional.tv as interchange of functional languages
Call for interest in teaching other languages as part of PurelyFunctional.tv
Notes from Eric on http://www.lispcast.com/geekery
Tips on teaching
Write blog posts on questions from IRC or StackOverflow
Keep breaking it down further and relate it to experience
Make it practical
“The material and transfer of it to other people should be the focus”

As always, a giant Thank You goes to David Belcher for the logo design.

Categories
Podcasts

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.