¡ÚLTIMAS HORAS! Disfruta todo 1 año de Premium al 25% de dto ¡LO QUIERO!

Functional Geekery Episode 141 - Shriram Krishnamurthi
Episode in
Functional Geekery
In this episode, I talk with Shriram Krishnamurthi. We cover his introduction to functional programming, Racket and #lang, Static vs Dynamic Typing, Bootstrap and Pyret, How to Design Programs, and much, much, more.
Our Guest, Shriram Krishnamurthi
ShriramKMurthi on Twitter
shriram on Github
cs.brown.edu/~sk/ Shriram’s University of Brown Page
parentheticallyspeaking.org Shriram’s Blog/Essays
blog.brownplt.org Brown PLT Blog
Announcements
Strange Loop 2022 is taking place September 23rd and 24th in St. Louis, Missouri. Visit thestrangeloop.com to keep up to date and to register.
RacketCon is back in person for its 12th year. Hosted at Brown University in Providence, Rhode Island, RacketCon will be October 28th-30th. Visit https://con.racket-lang.org/ for more information.
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
Topics [@1:31]
Welcome Shriram
Brown University
PLT Scheme Family
How To Design Program
Bootstrap
Pyret
How Shriram got into programming
MIT
Structure and Interpretation of Computer Programs
“From then, it was just like unicorns, and I’ve been in the future ever since.”
Dan Friedman story
Rice University
Matthias Felleisen
Matthew Flatt
Robby Findler
Why Shriram didn’t work with Matthias in Grad School
Bob Harper
Practical Foundations of Programming Languages
Daniel Jackson
Alloy
Moshe Vardi
Dynamic vs. Static Typing and Shriram’s view on Types
Pyret as an optional typing experience
Haskell
Perspectives from a Programmer versus a Verification Person at heart
TeJaS: Retrofitting Type Systems for JavaScript
Gradual Soundness: Lessons from Static Python
“We do not fully understand programmer thought processes.”
“What would happen if we tried to crowd-source language design?”
“Give people the language they want.”
#lang
typed/racket
Plait language
PLAI
Retrofitting types systems onto existing dynamic languages
Rust
Pyret built with types in mind from the beginning
“We want you to live in a rich world of expression, not an impoverished world […] of data types you can count on one hand.”
How To Design Programs
Little Schemer
SICP as a magic trick
“It’s almost like the dual of SICP.”
“Go ahead and type. Let’s see what you can do.”
Making traceability as central as possible
Kathi Fisler
Data-Centric Introduction to Computing
Bootstrap
Emmanuel Schanzer
Trying to introduce computing to school
Using exiting teachers to teach computing in existing disciplines
Teaching students by them creating a video game as a way to teach math
Kathi Fisler’s presentation at LambdaDays 2021
All of Bootstrap’s programming is purely functional
Pyret as a no-research language
Focus on the user experience
“There are teachers that have built up a pedagogy around the use of error messages.”
“I’m left-handed, and I sometimes joke it’s [parenthetical syntaxes] the same sort of thing.”
Building as a language that runs in the browser for zero hassle
WeScheme
Tool and Language Building’s relation to Racket
“If you were deeply conservative, you wouldn’t be using Racket.”
Scribble
LaTeX
“These are the same people who, if their programming language didn’t give them separate compilation, they would just be up in arms.”
Mystery Languages
The Curse of Lisp
The Bipolar Lisp Programmer
“We have lost track of this very foundational fact, that programming is a kind of super-power. It’s the ability to make worlds and to sort-of bend things to our will, that is almost scary.”
Roman Numbers #lang
Racket is a language as a service
FrTime
Translated FrTime to JavaScript, resulting in Flapjax
“Everything is a language.”
RacketCon 2022
Making a pitch for “our ignorance.”
As always, a giant Thank You goes to David Belcher for the logo design.
01:19:56
Functional Geekery Episode 140 - Katja Mordaunt and Adam Warski
Episode in
Functional Geekery
In this episode I talk with Katja Mordaunt and Adam Warski. We talk Katja’s and Adam’s introduction to software, being on the LambdaDays 2022 Programme Committee, a peek what being on the Programme Committee looks like, introducing new people to functional programming, and more.
Our Guests, Katja Mordaunt and Adam Warksi
Katja Mordaunt
katjam on:
Elm Lang Slack
elmcraft.org
Incremental Elm
Adam Warski
adamwarski on Twitter
adamw on Github
Announcements
ElixirConf EU is taking place the 9th and 10th of June, with training running the 6th-8th. For more information and to get your tickets visit https://www.elixirconf.eu/.
:clojureD is taking place June 11th in Berlin, Germany. Visit https://clojured.de/ for more information and to submit your proposal.
Code BEAM Lite A Coruña is taking place in A Coruña, Spain on the 11th of June. Visit https://www.codebeamcorunha.es to register, or to find out more.
Lambda Days 2022 has been moved to the 28th and 29th of July in Krakow, Poland. Visit lambdadays.org to keep up to date.
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
Topics [@2:51]
About Katja
About Adam
How Katja got into software development and Elm
Basic
Logo
Pascal
Java
Elm
How did Katja get into Elm
PHP
F#
Elm as a beginner friendly language
Felienne Hermans
Code Reading Club
React
How Adam got into software development and Scala
Pascal
Scheme
OCaml
Java
JBoss/RedHat
SoftwareMill
Scala
Why Scala
Groovy
Kotlin
Clojure
Immutable collections by default
Coq
Having done Masters Thesis in Category Theory
You don’t need any background in category theory to be productive in Scala
Jane Street
Being on Lambda Days 2022 Programme Committee
Covid making things difficult on scheduling
The Programme Committee process
Reading through submissions
Getting a coverage of different languages and experience levels
Futhark
Nix
Rust
Balancing the theoretical with practical and fun talks
Lambda Days as a hybrid track plans
“Meeting John Hughes was pretty cool”
Bringing in new people
Cats library
“Embracing everything is an expression”
“Go for tickets that are just about copy”
“It’s all about confidence”
Eric Normand’s 5 step strategy from Grokking Simplicity
Don’t give the names for things to understand what someone understands
Where to find Katja
Katjam on Elm Slack and Elm discords
Elm Lang Slack
elmcraft.org
Incremental Elm
Code Reading Club
Where to find Adam
adamwarski on Twitter
Tapir
shelly.dev
As always, a giant Thank You goes to David Belcher for the logo design.
01:02:19
Functional Geekery Episode 139 - Laura M. Castro
Episode in
Functional Geekery
In this episode I talk with Laura M. Castro. We talk her introduction to Erlang, Final Project and Ph.D. around Erlang, Research and Teaching using Erlang and Elixir, the Erlang Ecosystem Foundation, Code Beam Lite, Erlang Workshops and more.
Our Guest, Laura M. Castro.
@lauramcastro on Twitter
lauramcastro on Github
https://lauramcastro.github.io/
Announcements
ElixirConf EU is taking place the 9th and 10th of June, with training running the 6th-8th. For more information and to get your tickets visit https://www.elixirconf.eu/.
:clojureD is taking place June 11th in Berlin, Germany. Visit https://clojured.de/ for more information and to submit your proposal.
Code BEAM Lite A Coruña is taking place in A Coruña, Spain on the 11th of June. Visit https://www.codebeamcorunha.es to register, or to find out more.
Lambda Days 2022 has been moved to the 28th and 29th of July in Krakow, Poland. Visit lambdadays.org to keep up to date.
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
Topics [@2:51]
About Laura
Universidade da Coruña
Erlang during University
OCaml
Java
C
Prolog
OCaml being completely different, even in second year of University
Contact with computers as typewriters
Basic
Studying Computer Engineering as good profession career track
Course on Functional Programming in 4th year
First Exposure to Erlang
“I was a Lego Kid”
“It will do the things I tell it to do”
End of Degree Project
Writing a Risk Management system in Erlang
Modeling policies as processes
Pattern Matching
Doing Research in the Computer Engineering world
Ph.D. on what Functional Programming helped put on the table
Dialyzer
Seeing what it would be like to work in academia and the research world
Delphi
“What did functional programming bring to the table?”
State in Processes
Pattern Matching
Recursions
“[…] they seem straight forward 20 years later”
Matthew Flatt – A Racket Perspective on Research, Education, and Production
Keeping research close to industry
Teaching Erlang in her Software Architecture course
“They’ve never seen really distributed architectures”
Automatic Validation and Testing
“You specify what you want to test”
Proper
Designing for Scalability with Erlang and OTP
WhatsApp
Suffering from the Secrecy of Using Erlang
Erlang Ecosystem Foundation
Overview of the Erlang Ecosystem Foundation
Education Working Group
OTP Behaviors
Ecto
University of Kent Erlang Master Classes; Class 1; Class 2; Class 3
exercism
Erlang Camp
Erlang and OTP in Action
Code BEAM Lite A Coruña
Code BEAM Twitter Account
Code BEAM A Coruña Twitter Account
Sponsorships for Code BEAM Lite
Erlang Workshops
Brujo Benavides
Erlang Workshop with Laura and Brujo
Hank
Rebar 3
Property Based Testing Training Workshop coming soon
Telegram
As always, a giant Thank You goes to David Belcher for the logo design.
01:03:33
Functional Geekery Episode 138 - Aleksander Lisiecki
Episode in
Functional Geekery
In this episode I talk with Aleksander Lisiecki. We talk his introduction to Erlang, non-standard use cases for Erlang and Elixir, Erlang and Elixir School, and more.
Our Guest, Aleksander Lisiecki.
@AlekLisiecki on Twitter
aleklisi on Github
Aleksander’s Email at Erlang Solutions
Announcements
ElixirConf EU is taking place the 9th and 10th of June, with training running the 6th-8th. For more information and to get your tickets visit https://www.elixirconf.eu/.
:clojureD is taking place June 11th in Berlin, Germany. Visit https://clojured.de/ for more information and to submit your proposal.
Lambda Days 2022 has been moved to the 28th and 29th of July in Krakow, Poland. Visit lambdadays.org to keep up to date.
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:44]
About Aleksander
Lambda Days
Erlang
Elixir
Haskell
Software background coming into University
Java
C++
Taking a class on Ada and Erlang
Piotr Matyasik
Ariane 5
Getting an Internship in Erlang
Erlang Solutions
School of Erlang
Michal Slaski
Peer Stritzinger
GRiSP boards
Aleksander’s School of Erlang repos on Github
Fall of 2020
Fall of 2019
April 2022
Things appealing about Erlang
Tooling for inspecting and observing the system
Kubernetes
Erlang Application
Concurrency and Parallelism in Erlang
Common Roadblocks to Understanding Erlang and Elixir
Prolog like syntax
Tooling
Rebar3
Gradualizer
Gradient
Processes in the BEAM
Spawnfest
Aleksander’s post on Spawnfest
Neo4j
Other interesting projects in Erlang and Elixir Aleksander has done
The Sound of Erlang
Undertone
Duncan McGreggor’s presentation on Undertone
Raspberry Pi Zero W
Building a coal stove refill monitor application
Firebase
Murphy’s Law
Aleksander’s upcoming talk at Lambda Days
Lambda Days 2022
Joanna Wrona
Slightly non-standard use cases for Erlang
Web Scraping
Monte Carlo Simulations
ElixirConf EU 2022
As always, a giant Thank You goes to David Belcher for the logo design.
53:01
Functional Geekery Episode 137 - Renzo Borgatti
Episode in
Functional Geekery
In this episode I talk with Renzo Borgatti. We talk his introduction to Clojure, learning the extended vocabulary of Clojure, his book Clojure: The Essential Reference, gems in the Clojure language, side projects, and much more.
Our Guest, Renzo Borgatti.
@reborg on Twitter
reborg on Github
https://reborg.net/
Clojure: The Essential Reference from Manning
Announcements
ElixirConf EU is taking place the 9th and 10th of June, with training running the 6th-8th. For more information and to get your tickets visit https://www.elixirconf.eu/.
:clojureD is taking place June 11th in Berlin, Germany. Visit https://clojured.de/ for more information and to submit your proposal.
Lambda Days 2022 has been moved to the 28th and 29th of July in Krakow, Poland. Visit lambdadays.org to keep up to date.
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.
Discount Code
Use code podgeekery20 to save 40% off your order at Manning.com
Topics [@2:44]
Welcome Renzo
About Renzo
Java
Fermilab
Ruby on Rails
Objective C
Clojure
InfoQ
Clojure Koans
What kind of foundation looking at Ruby from Java set for Clojure
Landing on Clojure too late to chat freely with Rich Hickey on IRC
Components as a way for dependency injection
Common Functional ideas Renzo wound up adopting before leaving Java
Understanding the idioms of Clojure and the effect they have on code
Learning how to organize larger codebases
Limitations of working with a restricted vocabulary
“Being curious about what else was there and I was not using”
Reading Clojure source code
Refreshing one-self by looking at Clojure source code
Clojure: The Essential Reference from Manning
What Hidden Gems found when writing the book
fnil
juxt
Combinators
Swap combinator
Scheme
“Understanding what does it mean to be a Lisp”
Actor Model
Continuations
Project Loom
Project Loom Proposal
Other insights from working on the book
Software Transaction Memory
“It made me realize how deep, and how thought out, the implementation in Clojure is”
Clojure for the Brave and the True
Clojure Programming
Other things Renzo is involved with
parallel
Wishing for an “Audible for [Technical] Papers”
Out of the Tar Pit
Papers We Love presentations
re:Clojure
Takeaways from re:Clojure
Clojurians Podcast
Virtual conference benefits
Hybrid conferences as an interesting experiment to give best of both worlds
Lambda Days
Elixir Conf EU
Erlang Solutions
Code Sync
Code Mesh
Tower of Interpreters
Stratified Design
JUXT
The new Clojure “iteration” function blog post
Prolog
Datalog
Expert Systems
As always, a giant Thank You goes to David Belcher for the logo design.
01:05:08
Episode 136 - Yehonathan Sharvit
Episode in
Functional Geekery
In this episode I talk with Yehonathan Sharvit. We talk his upcoming book Data Oriented Programming, what Data Oriented Programming is, how it differs from Functional Programming, how DOP fits with typed languages, and more.
Our Guest, Yehonathan Sharvit
@viebel on Twitter
viebel on Github
https://blog.klipse.tech/
Data Oriented Programming from Manning
Announcements
The Big Elixir is taking place March 24th and 25th in New Orleans. Save 20% on tickets you use the code FUNCTIONALGEEKERY2022. Visit https://thebigelixir.com/ to register.
ElixirConf EU is taking place the 9th and 10th of June, with training running the 6th-8th. For more information and to get your tickets visit https://www.elixirconf.eu/.
:clojureD is taking place June 11th in Berlin, Germany. Visit https://clojured.de/ for more information and to submit your proposal.
Lambda Days 2022 has been moved to the 28th and 29th of July in Krakow, Poland. Visit lambdadays.org to keep up to date.
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]
Welcome Yehonathan
About Yehonathan
How Yehonathan discovered Clojure
C++
Java
JavaScript
Russell’s Paradox
Lisp as an implementation of Lambda Calculus
SICP lectures
Seeing a colleague writing Clojure
Stack Overflow
Starting to work in Clojure
Working on a web scraper
Using Clojure for a start-up
Ruby on Rails for back-end and ClojureScript for front-end
Clojure being very straightforward for junior developers
How Clojure influenced their approach to Ruby on Rails
Trying to find out the JavaScript code ClojureScript emitted
Klipse
Inventing/discovering theories of programming
“[Clojure] It’s a language that teaches itself”
Knowing when theories are true
Why the book was written as a discussion.
Insights from reading Clojure language source
What Data Oriented Programming is
Data Oriented Programming from Manning
The Joy of Clojure
“How we represent information”
Why generic maps are better than strong static types for when the code runs
Names compile away
“That is a tragedy.”
Elm
TypeScript
“My hope is that people stay in their programming language and find the best way to work”
Malli
clojure.spec
Haskell
JSON Schema
Christoph Grand
Conway’s Game of Life in Clojure
Principles of Data Oriented Programming:
Data is a first class citizen
Separate Data from Code
Use Generic Data Structures
Keep Data Immutable
“How can you do state management [with immutable data]?”
“Immutable data is the best way to manage state!”
Grokking Simplicity
Data Driven Programming vs Data Oriented Programming
Data that exists before you write your program
Distinction between three data related programming paradigms
Swagger
“It is better to have 100 functions operate on one data structure than to have 10 functions operate on 10 data structures.”
GraphQL
Star Wars GraphQL queries
Rigidity of types in GraphQL
“What do we do in terms of tooling?”
Daughter going into National Service and looking for a place to volunteer
Open Source project is like volunteering
“Somehow it gets back to you”
Grit
Shared Humanity
A refresh of Klipse
Sharing snippets of code
Available for Training on Data Oriented Programming
As always, a giant Thank You goes to David Belcher for the logo design.
01:13:36
Episode 135 - Jordan Miller
Episode in
Functional Geekery
In this episode I talk with Jordan Miller. We talk her breaking into to software development, activity in the Clojure community, redefining open source contributions, mentoring, and much more.
Our Guest, Jordan Miller.
Jordan Miller
Announcements
The Big Elixir is taking place March 24th and 25th in New Orleans. Save 20% on tickets you use the code FUNCTIONALGEEKERY2022. Visit https://thebigelixir.com/ to register.
ElixirConf EU is taking place the 9th and 10th of June, with training running the 6th-8th. For more information and to get your tickets visit https://www.elixirconf.eu/.
:clojureD is taking place June 11th in Berlin, Germany. The Call for Presentations is open through March 4th. Visit https://clojured.de/ for more information and to submit your proposal.
Lambda Days 2022 has been moved to the 28th and 29th of July in Krakow, Poland. Visit lambdadays.org to keep up to date.
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:58]
Welcome Jordan
Clojurians Slack
Jordan on the Cognicast
About Jordan
Starting on WordPress
Learning Lambda Calculus as an introduction to programming
Scheme
DrRacket
Python
Clojure Conj
ClojureScript
re-frame
Building a WordPress site for a restaurant website
Using Dog Tags to visualize linked lists
Falling in love with the Clojure Community
Sean Corfield
Learning Scheme
Structure and Interpretation of Computer Programs
LightTable
5 different ways to show a function
Starting with immutable data
Why so many senior devs seem to come to Clojure
MIT Open Courseware
Original Sussman and Ableson Lectures
Dr. Ana Bell
What about Clojure that put it on her radar
Dave Beasley
Jordan’s experience in Python
Coursera courses
“I struggled with for loops because I learned recursion first”
Having your personal webpage
Diving right into ClojureScript for first job
Self teaching and breaking into software development with a full-time job
Daniel Higginbotham
Vouch
Mike Fikes
David Nolen
JavaScript
React Native
Storybook
How Jordan started her media presence
“I am a performer by nature”
“WTF is Clojure?” video on YouTube
Being a Sponsored open Source developer
Bring the flavor of your
Encourage people to redefine what an open source contribution is
ClojureBridge
What prompted her podcast
Borkdude
Emergent Works
Her mentee Jordan Jay on Github Website
Next Chapter
Alex Miller
“I’ll Fire Spin for a free ticket”
Jordan’s LinkTree
As always, a giant Thank You goes to David Belcher for the logo design.
01:03:15
Episode 134 - Claude Rubinson
Episode in
Functional Geekery
In this episode I talk with Claude Rubinson. We talk his experience learning and using functional programming as a sociologist, organizing software user groups, and more.
Our Guest, Claude Rubinson.
Claude Rubinson
Houston Functional Programmers website
Houston Functional Programmers on Twitter
OCaml Café on Twitter
Announcements
:clojureD is taking place June 11th in Berlin, Germany. The Call for Presentations is open through March 4th. Visit https://clojured.de/ for more information and to submit your proposal.
Lambda Days 2022 has been moved to the 28th and 29th of July in Krakow, Poland. Visit lambdadays.org to keep up to date.
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:01]
Welcome Claude
About Claude
Being a Sociology Professor and being on a functional programming podcast
How Claude got interested in Functional Programming
Unix
Python
Lisp
Larry Wall
“Learn a functional programming language for good measure”
Reading books and listening to podcast
Trying to understand the philosophy of functional programming
Houston Functional Programming User Group
Claude’s previous background with software
University of Georgia
Compensation Survey going full-in on the internet
Active Server Pages
SQL
The Dot-Com bust
Linux
Berkeley Unix Users Group
O’Reilly Press
“sed & awk” book
LaTeX
[R]()https://www.r-project.org/
University of Arizona
Charles Ragin
Qualitative Comparative Analysis
Boolean Algebra and Set Theory
Tuscon Free Unix Group
Having to write own version of software for Linux
University of Houston Downtown
Houston Python Meetup
What made Functional Programming attractive for next re-write
“You don’t really understand recursion”
Modeling Data in a SQL Database
Using Programming Language to impose rigor on thinking
Algebraic Data Types
Immutable Data
Gene Kim’s “Love Letter to Clojure”
The Biggest Problem in Functional Programming
Having to pick things up really quickly
Was lucky to be able to take the time to absorb ideas
OCaml
Getting Up and Running with an OCaml project
“This is hard, it is going to take some time, and that is okay.”
Eric Normand’s perspective on explaining as “Data, Calculation, and Actions”
Elm
Telling a story of the problem before selling the solution
Functional Programming for taming complexity and scalability
Picking a “Functional Forward” or “Functional First” language
JavaScript
What Claude appreciated the Functional Programming community
Haskell
Qt
High Signal to Noise ratio
Generous and kind community
Members know a number of languages, so can provide comparisons between languages
How Claude uses Type Systems
Tcl/Tk
Ousterhout’s Dichotomy
Using the type system to think through reasoning
“How to do QCA well”
Using Type Signatures (without code) to map the process
“Understanding the Ontology of Measurement”
Writing good clean functions that stand on their own
“Working in OCaml to understand how to do QCA and how to do it well”
Houston Functional Programming User Group
Likely sticking to Hybrid Format
Always looking for speakers
“Introduction to” gets more people showing up
Encourage people to give presentations (even if short ones)
OCaml Café
Call for stability from Programming Language Designers and Library maintainers
As always, a giant Thank You goes to David Belcher for the logo design.
01:12:50
Functional Geekery Episode 133 - James Stelly
Episode in
Functional Geekery
In this episode I talk with James Stelly. We talk his explorations of programming languages and how that led to his book Racket Programming the Fun Way.\r\n\n\n\n\nOur Guest, James Stelly.\n\n\n\nAnnouncements\n\n\n\nNo Starch Press has offered listeners a 30% discount on Racket Programming the Fun Way until the end of the year with discount code GEEKERY30.\r\n\n\n\n\nSome of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.\r\n\n\n\n\nIf that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.\r\n\n\n\n\nTopics [@1:10]\n\n\n\nWelcome James\r\nAbout James\r\nFortran\r\nC++\r\nMVS (Multiple Virtual Storage)\r\nFOCUS\r\nNOMAD\r\nAccess\r\nSql Server\r\nForth\r\nPython\r\nJ\r\nC#\r\nJavaScript\r\nScheme\r\nRacket\r\nLaTeX\r\nJames’ first exposure to a functional programming language\r\nF#\r\nPipeline operator (|>)\r\nStill having access to the rest of .NET ecosystem\r\nHaskell\r\nJames’ takeaways from playing with Haskell\r\nTyped Racket\r\nWhat drew James to Racket\r\nBroad tool changes\r\nInteractivity of Racket\r\nRacket Programming the Fun Way\r\nWriting the book as a way to learn Racket\r\nRacket being a “Swiss Army Knife”\r\nProlog and Logic Programming\r\nPossibility of expanding Automata Theory using macros\r\nRelationship to Racket\r\nBuilding a CNC machine\r\nG-Code\r\nGrbl\r\nArduino\r\nHow has playing with different language feed back into “day work”\r\nVisual Basic\r\nWhat was exciting about using Racket for the problems in the book\r\nLogic Programming\r\nSearch Algorithms\r\nWhy Racket\r\n“Most mileage out of and can do a lot of different things”\r\nDr. Racket environment\r\nHover over variable and see arrows showing usage\r\nWhat is the target audience of the book\r\nMatthew Flatt as the technical reviewer\r\n“Given everything in the book, that is just the tip of the iceberg of what you can do with Racket”\r\n\n\n\n\nAs always, a giant Thank You goes to David Belcher for the logo design.\r\n\n
42:43
Functional Geekery Episode 132 - Duncan McGreggor
Episode in
Functional Geekery
In this episode I talk with Duncan McGreggor. We talk his introduction to functional programming; Erlang; Lisp Flavoured Erlang; Lisps, Lisps, and more Lisps; and much, much, more.
Our Guest, Duncan McGreggor
@oubiwann on Twitter
Conference Announcements
Code Mesh is going virtual! Taking place November 5th and 6th, will run virtually across US and European time zones. Find out more and register at https://codemesh.io.
Lambda Days 2021 will be a virtual event spread over several days in February 2021. Visit https://www.lambdadays.org/lambdadays2021 to keep up to date as more information is 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:03]
Welcome Duncan
About Duncan
CPM Kaypro II
Rewriting BASIC games
Duncan’s first exposure to functional programming
Conflation of State and Behavior in Object Oriented Programming
Deeply nested for loops
Python
LISP
Common LISP
Distributed Computing
Twisted Python
Erlang
YAWS exposé on Slashdot
Lisp Flavoured Erlang
Robert Virding
Learning Erlang through LFE
Getting started in LFE
“Common LISP had a much worse story than Erlang ever did”
Common LISP HyperSpec
Ruby
Rust
“Treating Erlang like LISP’s original M-Expressions“
What are Core
SBCL
Chez Scheme
Clojure
LFE Joys – Small, lightweight chunks of functionality that are distributed across arbitrary computing resources.
Not super picky about tech in the job anymore
Enjoy the projects after work to aspire to craftsmanship level
Going Away Card software project for CTO
Go
How functional programming folds in to Duncan’s mentoring junior co-workers
Haskell
Having the clarity of thought that comes with functional programming
“At some level we are all working with distributed systems”
Teaching basics of Erlang: supervision trees, restart strategies, monitoring/linking processes
Reid Draper of Functional Geekery
“Last Write Wins conflict strategy”
Enterprise Integration Patterns
Designing for Scalability with Erlang/OTP
How does LISP come in when mentoring team-mates
“I love parenthesis” and the order of operations
Low utilization of Macros
Write them all the time when learning though
ltest
ITA Software using LISP
Reader Macros
Muddle
Casting SPELs in LFE
Casting SPELs in LISP
Language Laboratory level
Racket
LFE Machine Manual
Treasures lost in time from looking at other LISP Machine Manuals
The People working to preserve the history
Kent Pittman
CADR machine
MACLISP
ARPA
MIT, Stanford, and Berkeley
Maxima
Zeta Lisp
Xerox PARC
Integrating LFE and Clojure
clojang
jiface
Some other projects on Duncan’s radar
Porting The Sound of Erlang to LFE
Clojure Overtone
SuperCollider
“LFE Chineual”
Having a bare metal install of LFE on a Raspberry Pi
Looking at different boards to run the BEAM on
X11 and XORG
tv
Actively testing LFE 2.0
lfe.io
LFE on Slack
“Follow your bliss”
As always, a giant Thank You goes to David Belcher for the logo design.
01:03:43
Functional Geekery Episode 131 – Martin J. Logan
Episode in
Functional Geekery
In this episode I talk with Martin J. Logan. We talk his experience in CTO roles guiding organizations through functional programming transformations, from lessons learned, tips, tools, strategies, how the grassroots level can help, and much more.
Our Guest, Martin J. Logan
@martinjlogan on Twitter
Discount Code from Manning
Reminder that as part of last episode Manning has offered listeners of the podcast a permanent 40% discount code, good for any of their products, in all formats.
Use code podgeekery20 for your 40% discount.
Conference Announcements
Elm Conf is going virtual! Taking place July 15th-17th in your home. The Call for Talks is open and early bird registration has started. Find out more at https://2020.elm-conf.com.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Announcements
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
Topics [@1:40]
Welcome Martin
Erlware
Martin on Episode 13
Erlang Camp
Lambda Jam 2014 – Design and architecture for actors
[Designing for Actor Based Systems blog post)[http://blog.erlware.org/designing-for-actor-based-systems/]
Being a CTO and bringing functional programming into organizations
Guaranteed Rate
William Hill
A first attempt on .NET with F#
Next attempt using Clojure
“My bet was that there are more smart and talented individuals that want to learn functional programming then there are companies smart or brave enough to give it a try”
Opening up the organization to be more polyglot
Wanting at least one Anchor to teach and mentor the group
Why Clojure was good
Being on the JVM.
“We’re doing Java […] its basically Java, it runs with Java, it interoperates with Java”
Lessons learned from the F# going into Clojure
Commitment of investing through the slowdown to get faster
What helps at at the grassroots to help with a transformation
Participation, Mentoring, Someone willing to help work through exercises with people
Real projects to work on
How to think about limiting the talent pool on the bet for being a functional programming shop
How big of a community are you really looking to build
Being exciting enough to get people from Cognitect working who worked on Clojure
Training and seeding teams
Having the light bulb go off and not wanting to leave and have to go back to other languages
Small team (4-6 people) with single anchor for about 6 months to build a team
Allowing those team members to go out to seed new teams
The fear moves away and people want to learn Clojure
ClojureScript being pulled into the front-end browser flows
Clojure University
Importance of the Install Party to get a high quality development environment setup
Clojure Essentials
Functional Programming patterns similar to Object Oriented Patterns
Doing it again at William Hill with Scala
Avoiding the same bad habits in Java
Scala community being steeped in Category Theory
“Scala will expose you everything you get out of Haskell on the JVM”
Streams in Scala
Helping to make the ground more fertile for a functional transformation
Pointing at other successful organizations
Languages on the JVM help
Helping find an anchor
Working to make it really successful
Focus on the business value and minimize the risks
“Don’t make it just a learning project but a delivery project as well”
As always, a giant Thank You goes to David Belcher for the logo design.
41:56
Functional Geekery Episode 130 – Ivan ?uki?
Episode in
Functional Geekery
In this episode I talk with Ivan ?uki?. We talk his introduction to functional programming, adopting Scala, his book “Functional Programming in C++”, the C++ communities adoption of functional programming, and much more.
Our Guest, Ivan ?uki?
@ivan_cukic on Twitter
https://cukic.co/
Functional Programming in C++
Ivan’s Projects
Discount Code from Manning
As part of this episode Manning has offered listeners of the podcast a permanent 40% discount code, good for any of their products, in all formats.
Use code podgeekery20 for your 40% discount.
Conference Announcements
Elm Conf is going virtual! Taking place July 15th-17th in your home. The Call for Talks is open and early bird registration has started. Find out more at https://2020.elm-conf.com.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Announcements
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
Topics [@1:40]
About Ivan
Functional Programming in C++
How Ivan was first exposed to Functional Programming
Being taught LISP
Working in Java
Being a big event when Java introduced forEach
Haskell
“Multi-threaded and shorter to write”
Seeing annotations of a Java program on what would be equivalent in Haskell
Haskell as the background noise in his life
Picking Scala when going back to the JVM
Adopting Scala
Transitioning from a “better Java” to a “worse Haskell”
Akka
Erlang
Akka and influence to any OOP style that might have still existed
C++
Ranges library
What it means to be a Functional Programming Language
STL
“C++ has always been a functional language”
Eric Normand’s Clojure Mid-Cities User Group presentation
Timing of the C++ community’s evolution to functional programming with Ivan’s use of functional C++
Cute
Giving a talk about asynchronous programming with Monads
Sean Parent – C++ Seasoning
Deciding to write a book on functional programming in C++
The target audience of Functional Programming in C++
“I don’t see what functional programming in here, it’s just common sense”
Strengths of C++ with functional programming
Lambdas in C++
Having control over everything
Simulating Linear Types in C++ easily vs needing compiler support in Haskell
Where the sane defaults in C++ fit with Functional Programming
immer library for immutable data structures
Clojure
Topics in the book for people not familiar with C++
“Like all Monad tutorials I claim that mine works and none of the others do”
IO Monad being useless in C++
Ivan’s view of Rust as a C++ Developer
D
“All the serious projects use the unsafe features of the language”
What Ivan would love to see the C++ community adopt
What is exciting Ivan currently
Bitmap Vector Trie or Ideal Hash Trees
General Recommendations
“Stay Safe”
“Investigate the beautiful world of open source and free software”
As always, a giant Thank You goes to David Belcher for the logo design.
54:38
Functional Geekery Episode 129 – Eric Normand
Episode in
Functional Geekery
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’stalk 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.
57:37
Functional Geekery Episode 128 – Gene Kim
Episode in
Functional Geekery
In this episode I talk with Gene Kim. We talk his introduction to Clojure and functional programming, The Phoenix Project and The Unicorn Project, Functional Architecture, lessons learned, his Love Letter to Clojure, and much, much, more.
Our Guest, Gene Kim
@realgenekim on Twitter
realgenekim on LinkedIn
Conference Announcements
Lambda Days 2020 will be on the 13th and 14th of February in Kraków, Poland. Visit https://www.lambdadays.org/lambdadays2020 to find out more and to register.
Code BEAM SF is taking place on March 6th and 6th. For more information visit: https://codesync.global/conferences/code-beam-sf/.
Elm in the Spring will be taking place May 1st. Check in at https://www.elminthespring.org/ to keep updated as more information gets announced.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Announcements
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
Topics [@2:51]
About Gene
Tripwire
State of DevOps Report
The Phoenix Project
The DevOps Handbook
The Unicorn Project
Clojure
Love Letter to Clojure (Part 1)
Ops being where the saves were made
Gene Spafford
Morris worm
90% of his errors go away when using Clojure
What put Clojure on his list to pick up
Ruby Reference Manual
How Ruby strings aren’t immutable
Reading a Clojure book and bolting upright in bed finding out that Ruby’s << operator modifies the right hand side array
Java Concurrency in Practice
Eiffel
Object Oriented Software Construction
Smalltalk
Immutability and Value Object in Object Oriented style
Working in the REPL in Clojure
Writing a vacation notifier for Gmail
Rewrites note taking and tweeting app a number of times
Objective C
TypeScript and React
Clojure and re-frame
Data is immutable, but the program is very mutable
Flow by Mihaly Csikszentmihalyi
Flow, the secret to happiness Ted Talk
Peak by Anders Ericsson
Deliberate Practice
Grit by Angela Duckworth
Have a coach; Do practice
Podcasts
David Koontz on Functional Geekery
LambdaCast
Functional Design in Clojure podcast
JavaScript tooling environment
Cats library
Haskell
How has Clojure refreshed Gene’s thinking when going back to older programs
Maxine in The Unicorn Project
Micheal Nygard
How did the scenes resonate to Proctor
RamdaJs
Brian Lonsdorf on Functional Geekery
David Chambers covering Ramda on Functional Geekery
Seeing the shape of the data
Some form of a combination of map, filter, reduce
“Is it good to think with”
Sapir-Whorf hypothesis: Language affects worldview of the speakers
Eric Normand on thinking in types based off experience in Haskell
Grokking Simplicity
Actions, Calculation, Data
Simon Peyton Jones on Functional Geekery
Dr. John Launchbury
Creating Word-Cloud from bibliography and replacing “Ibid.” problem
“What are the types of input and output?”
“What is the correct answer when you have just one element ‘Ibid.’?”
clojure.spec
How much did Functional Programming and data-focus opting to write The Unicorn Project
Studying Rich Hickey videos
Rich Hickey’s 2015 JavaOne presentation
Lunch Factor: How many people do we need to take out to lunch to get something done?
“How do you get data where it resides […] to where developers can use it in their daily work”
Kafka
Event Sourcing
Self Identifying as a Developer after 25 years
Gene’s current view on Functional Architecture
Scott Havens (of Jet.com and Walmart.com) presentation on turning 23 API calls to 2 API calls
Scott Havens’ talk about rebuilding Kafka servers
F#
The 5 Ideals:
Locality and Simplicity
Focus, Flow, and Joy
Improvement of daily work
Psychological Safety
Customer Focus
Project Oxygen at Google
Core vs Context
Excepts of the first 60% of The Unicorn Project
First 8 chapters as Audiobook format
Fernando Cornago – Adidas talk on data availability across the organization
Clojure Conj
Gene’s presentation at Clojure Conj
As always, a giant Thank You goes to David Belcher for the logo design.
54:00
Functional Geekery Episode 127 – Katie Hughes
Episode in
Functional Geekery
In this episode I talk with Katie Hughes. We talk her introduction to software development, exposure to functional programming, orienting herself in a new codebase, “learning to trust again”, and much more.
Our Guest, Katie Hughes
@glitteringkatie on Twitter
http://glitteringkatie.com/
Conference Announcements
Summer BOB 2019 is taking place August 21st in Berlin, Germany. Visit https://bobkonf.de/2019-summer/ for registration and more information.
elm-conf 2019 is September 12th in St. Louis, Missouri. Visit https://2019.elm-conf.com/ to find out more and to register.
OPEN FSHARP 2019 is taking place in the heart of San Francisco, on the 25th – 27th of September. Visit https://www.openfsharp.org/ to register and find out more.
Lambda Days 2020 just announced their CFP! Go to their website and submit a talk for a chance to present your work on their stage in February. https://www.lambdadays.org/lambdadays2020#call-for-papers
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Announcements
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
Topics [@2:50]
About Katie
NoRedInk
React
AppNexus
Elm
Pascal
Oregon State
Exposure to functional programming via Internship
Lodash
Programming Language Fundamentals class
Haskell
Prolog
Katie’s Introduction to Elm
Redux
Learning Elm and Haskell as part of 20% time
Learn You A Haskell for Great Good
Going through the book in both Haskell and JavaScript
Being exposed to some functional programming before the college course
How Haskell and Elm in 20% time feed back into React and Redux usage
Redux-Saga
Currying
Taking 20% learnings back to the team
Working with people that were interested in functional programming
Learning the paradigm
Moving to work at NoRedInk
Ruby
Ruby on Rails
Elm in the Spring
Katie’s Minor in Cognitive Psychology
Cognitive Maps
Where the Elm Am I
“What Can I Break?”
Learning how to trust again using Elm
Reading the import statements in Elm
Using the Elm compiler to help build a mental map by seeing what breaks
Katie’s experience picking up Elixir
GenServers
Understanding how data flows through the Elixir Services
Starting an Elixir Book Club at work
Little Elixir and OTP Guide Book
Refining strategy of how to break things in Elixir
Upcoming talk at elm-conf
Working on project to connect characters in Marvel Universe
SquirrelGirl
Look into Elm Conferences for first time talkers
Tips for writing a good CFP
Breaking down the outline early
Learning Objectives for the audience
Get Programming with Haskell
Elm Lang tutorial
Elm tutorial as good guide for understanding React and Redux
As always, a giant Thank You goes to David Belcher for the logo design.
55:58
Functional Geekery Episode 126 – Andy Hunt and Dave Thomas
Episode in
Functional Geekery
In this episode I talk with Andy Hunt and Dave Thomas. We talk about their upcoming 20th Anniversary Edition of The Pragmatic Programmer, what prompted a 20th Anniversary Edition, what has changed and what has stayed the same in the 20 years since, where they see things going based off what they have seen, and much, much more.
Our Guests, Andy Hunt and Dave Thomas
@PragmaticAndy on Twitter
https://toolshed.com/
Andy’s Now Page
@pragdave on Twitter
https://pragdave.me/
Conference Announcements
Lambda Days 2020 just announced their CFP! Go to their website and submit a talk for a chance to present your work on their stage in February. https://www.lambdadays.org/lambdadays2020#call-for-papers
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Announcements
Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.
Topics [@1:14]
Welcome Andy and Dave
The Pragmatic Programmer
The Pragmatic Programmer 20th Anniversary Edition
What prompted a 20th Anniversary Update/Re-write
Han Shoots First
DRY – Don’t Repeat Yourself
Updating the level between the last two sections of the book
Book-ending the 20th Anniversary edition with call to responsibility
Pragmatic Bookshelf
Addison Wesley / Pearson
Being rooted in agility
Disconnect between source and primary artifact
Harry Potter
Applying principles from software to working in publishing
Going with Easiest Way vs Investing in Conscience
The Pragmatic Programmer standing the test of time
“Brush your teeth kind of advise”
Common Sense and deliberately trying new things
“Don’t really trust yourself either”
“Take small steps and try stuff
Finding “Trust but verify” origin
Following the Seed of Curiosity
The 5 Whys
Asking “What are the appropriate practices?” instead of “What are the best practices?”
What trends look to be more sticky going forward
Picking languages to use and reference in the book
How to choose a language to learn
“If you don’t understand it, if it confuses you, if it makes you uncomfortable, then that’s the language you should learn.”
Haskell
“Every language has its little unique additions to the world”
“You should always have at least three different ways of implementing it try to get some clarity”
What things Dave and Andy thought should have been paid more attention to
Unit Testing – Don’t write your own framework today
Blackboard Systems
How Functional Programming plays in with what they have experienced over the last 20 years
“Making State Transformation Explicit”
Logo/Turtle Graphics
“There is no one right way of doing things”
Ruby
“It would be a big, big mistake for any of your listeners to consider themselves a Functional Programmer”
“Your Role is Problem Solver”
“How could this code be used against me, against the company, against the user”
Responsibility for moral implications and how the Nuremberg defense isn’t and excuse
Reducing your dependencies libraries and frameworks
The Pragmatic Programmer 20th Anniversary Edition
Beta currently available
Hardcover in fall
Southern Methodist University
As always, a giant Thank You goes to David Belcher for the logo design.
01:05:42
Functional Geekery Episode 125 – Verónica López
Episode in
Functional Geekery
In this episode I talk with Verónica López. We talk her background, exposure to Go and Elixir, working with CoreOS and Kubernetes, being a bridge between Kubernetes and the BEAM communities, and more.
Our Guest, Verónica López
@maria_fibonacci on Twitter
Conference Announcements
International Conference on Functional Programming 2018 will be taking place September 23 – 29th in St. Louis, MO. For more information, and to register visit: https://icfp18.sigplan.org/
StrangeLoop 2018 will be taking place September 27th and 28th, with a pre-conference day on the 26th in St. Louis, MO. To keep updated as details become announced you can find out more at: https://www.thestrangeloop.com/
(eighth RacketCon) will take place September 27th and 28th in St. Louis, Missouri, along side ICFP and Strange Loop. For more information, and to register visit https://con.racket-lang.org/.
The Big Elixir Conference will be on November 8th and 9th in New Orleans. Visit https://www.thebigelixir.com for more information and to register.
Code Mesh LDN will be taking place on November 8th and 9th in London. Visit https://codesync.global/conferences/code-mesh-2018/ for more information and to register.
Lambda Days 2019 will be taking place February 21st and 22nc in Kraków, Poland. For more information and to register visit http://www.lambdadays.org/.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Announcements
Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.
Topics [@3:26]
About Verónica
Red Hat
CoreOS
Go
Java
Elixir
Python
Background as a physicist
Translating software from Fortran to Python
Working on Android applications
Building back-end services and doing UI design as a mobile developer
Moving into more back-end development
Transition to Go and Elixir
Getting creative on limited infrastructure
ElixirConf 2017 – My Journey from Go to Elixir
Why originally picking Go over Elixir for concurrency
Norberto Ortigoza
Further exposure to Elixir
Translating Elixir and BEAM concepts to Go
Phoenix Framework
Kubernetes
Learning how to fail better
CoreOS
etcd
OpenShift
Comparing Elixir and the BEAM to Kubernetes
Learning from other languages and toolkits approaches to distributed systems
Operator SDK
Operators in Kubernetes
Being able to use Elixir in an organization as a luxury currently
Being a bridge between Kubernetes and Elixir
Languages live or die by promotion
Importance of having people to learn from
As always, a giant Thank You goes to David Belcher for the logo design.
01:12:09
Functional Geekery Episode 124 – Sam Guyer and Caleb Helbling
Episode in
Functional Geekery
In this episode I talk with Sam Guyer and Caleb Helbling. We talk about Juniper, a functional reactive programming language for Arduino programming.
Our Guests, Sam Guyer and Caleb Helbling
Sam Guyer
http://www.calebh.io/
@CalebHelbling on Twitter
Conference Announcements
Monadic Party, a 5 day Haskell Summer School, will be taking place in Pozna?, Poland the 11th-15th of June. Visit https://monadic.party/ for more information and to register.
The 2018 Racket Summer School will run July 9th – 13th at the University of Utah, in Salt Lake City, Utah. For more information, and to apply visit https://summer-school.racket-lang.org/2018/.
BusConf will take place for the second time from August 2nd to August 4th in Germany, close to Frankfurt. For more information and to register visit: http://www.bus-conf.org/.
Compose::Melbourne will be taking place Monday August 27th. Visit http://www.composeconference.org/ to keep updated as more details are announced.
International Conference on Functional Programming 2018 will be taking place September 23 – 29th in St. Louis, MO. For more information, and to register visit: https://icfp18.sigplan.org/
StrangeLoop 2018 will be taking place September 27th and 28th, with a pre-conference day on the 26th in St. Louis, MO. To keep updated as details become announced you can find out more at: https://www.thestrangeloop.com/
(eighth RacketCon) will take place September 27th and 28th in St. Louis, Missouri, along side ICFP and Strange Loop. For more information, and to register visit https://con.racket-lang.org/.
The Big Elixir Conference will be on November 8th and 9th in New Orleans. Visit https://www.thebigelixir.com for more information and to register.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Announcements
Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.
Topics [@5:12]
About Sam and Caleb
Tufts University
Juniper
Arduino
How Sam and Caleb got into working with Arduinos
Juniper Paper
Addressable RGB LED strips
“There’s smoking coming out if it. Now it’s garbage.”
Pain of programming on an Arduino for those not familiar with C++
FastLED library
Concurrency and discrete event simulator
Signals
Going from feeling the pain to creating Juniper
Representing a Signal Graph
Elm Architecture
Maybe Types to represent Signal values
Reactive Programming model
Data Flow Model
Functional Reactive Programming
Using polling based model under the covers
Signal Graph as a mental model
Importance of Higher Order Functions on Signals
Writing Signal generation functions in C++
Ability to have multiple Signals propagating at the same time
Debouncing button press
Where Juniper fits today with an interrupt model
Writing Juniper in F#
Haskell
OCaml
Standard ML
fparsec
Workflow from writing code to loading on an Arduino
C++ Templates
Debugging hardware vs software
Where Juniper is today
Problem with closures in embedded software with limited memory
How to get started with Juniper
Juniper Google Group
Blockspell
FastLED Google+
As always, a giant Thank You goes to David Belcher for the logo design.
01:03:57
Functional Geekery Episode 123 – Zach Tellman
Episode in
Functional Geekery
In this episode I talk with Zach Tellman. We talk his introduction to Clojure, how he has noticed Clojure change over the past 10 years, his book Elements of Clojure, and more.
Our Guest, Zach Tellman
Zach’s website
@ztellman on Twitter
http://elementsofclojure.com/
Conference Announcements
CodeBEAM STO, formerly Erlang User Conference, celebrates the 20th Anniversary of Erlang being made Open Sourced, and will be taking place May 31st and June 1st. For more information and to register visit https://codesync.global.
Monadic Party, a 5 day Haskell Summer School, will be taking place in Pozna?, Poland the 11th-15th of June. Visit https://monadic.party/ for more information and to register.
The 2018 Racket Summer School will run July 9th – 13th at the University of Utah, in Salt Lake City, Utah. For more information, and to apply visit https://summer-school.racket-lang.org/2018/.
BusConf will take place for the second time from August 2nd to August 4th in Germany, close to Frankfurt. For more information and to register visit: http://www.bus-conf.org/.
Compose::Melbourne will be taking place Monday August 27th. Visit http://www.composeconference.org/ to keep updated as more details are announced.
International Conference on Functional Programming 2018 will be taking place September 23 – 29th in St. Louis, MO. For more information, and to register visit: https://icfp18.sigplan.org/
StrangeLoop 2018 will be taking place September 27th and 28th, with a pre-conference day on the 26th in St. Louis, MO. To keep updated as details become announced you can find out more at: https://www.thestrangeloop.com/
(eighth RacketCon) will take place September 27th and 28th in St. Louis, Missouri, along side ICFP and Strange Loop. For more information, and to register visit https://con.racket-lang.org/.
The Big Elixir Conference will be on November 8th and 9th in New Orleans. Visit https://www.thebigelixir.com for more information and to register.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Announcements
Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.
Topics [@5:25]
About Zach
Elements of Clojure
C++
OpenGL
C#
Ruby
OCaml
Scheme
Clojure
clojure.pprint
LINQ
C# Delegates
Java
F#
C++ STL Library
Jane Street
Early days of Clojure and how it has evolved
cake
Leiningen
Ability to plant a flag in the Clojure eco-system
Ring
aleph
Lessons from when to wrap something in Clojure vs just inter-op with the Java library
“Clojure as the connective tissue”
The Joy of Clojure
Programming Clojure
Clojure Programming
Wizard hat and special incantations
Zach’s overview of Elements of Clojure
Strunk and White’s The Element of Style
Being stymied when trying to answer “Why is your way better than mine?”
First Chapter on Naming
Russell
Quine
Frege
“Clojure being used as a lens to understand the fundamental questions of software”
Elements of Software
What it means to think about thinking about software
Proof of Correctness of Data Representations by C A R Hoare
“Have we created a representation of a problem that is valuable given what we are trying to do”
Haskell
Idris
Church Numerals
Cons-Cells
As always, a giant Thank You goes to David Belcher for the logo design.
01:03:07
Functional Geekery Episode 122 – Brian Troutwine
Episode in
Functional Geekery
In this episode I talk with Brian Troutwine. We catch up with his work in Erlang, working in Rust, applying functional programming techniques to Rust, learning Erlang compared to Rust, his book “Concurrent Rust” that is in the works, and much more.
Our Guest, Brian Troutwine
https://blog.troutwine.us/
@bltroutwine on Twitter
Conference Announcements
CodeBEAM STO, formerly Erlang User Conference, celebrates the 20th Anniversary of Erlang being made Open Sourced, and will be taking place May 31st and June 1st. For more information and to register visit https://codesync.global.
Monadic Party, a 5 day Haskell Summer School, will be taking place in Pozna?, Poland the 11th-15th of June. Visit https://monadic.party/ for more information and to register.
International Conference on Functional Programming 2018 will be taking place September 23 – 29th in St. Louis, MO. For more information, and to register visit: https://icfp18.sigplan.org/
StrangeLoop 2018 will be taking place September 27th and 28th, with a pre-conference day on the 26th in St. Louis, MO. To keep updated as details become announced you can find out more at: https://www.thestrangeloop.com/
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Announcements
Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.
If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.
Topics [@3:15]
About Brian
What Brian has been up to in the past few years
Mostly Erlang
Erlang
Rust
The Charming Genius of the Apollo Guidance Computer
AdRoll
Postmates
C++
Cernen
Hopper
Quantiles
If Brian was spoiled by working on a system with 1M TPS
Knight Capital Group Cautionary Tale
Property Testing
Beginner’s Luck
RackSpace
Software being able to inspect itself
SmallCheck
Chaos Engineering
How Brian was introduced to Erlang
Joe Armstrong’s thesis paper
Prolog
OpenMP
SML
Constructivist approach to programming
Idris
Agda
Coq
Working in Erlang professionally at RackSpace
Bringing others up to speed with Erlang
Mochi
Elixir
Programming Erlang
Erlang and OTP in Action
Learn You Some Erlang
Difference in Erlang/Elixir approachability since Brian started learning it
“I’ve never known an easier time to learn Erlang [and Elixir] than we have right now”
Similarity in Brian’s learning Erlang to learning Rust
Rust The Book
Tokio
The ML family typed inspire side of Rust
How much does functional ideas fit into Rust in practice
Thinking in Erlang as sequential inside of a process which is concurrent
Applying a similar approach in Rust
What is meant by “Safety” in Rust
Using C++ at AdRoll vs how Brian uses Rust today
Traits in Rust
Working on a book on Concurrency in Rust
Rust Concurrency
Andrew Stone on Actor System in Rust at CodeMesh
How Rust approaches concurrency at a language level
What does saying “Rust is Memory Safe” mean?
Atomic Reference Counter (ARC)
Crates.io
Rayon
Crossbeam
CodeMesh 2018 in London
Designing for Scalability with Erlang/OTP
Programming Rust from O’Reilly
Rust in Action from Manning
ripgrep
quickcheck
Rust in WebAssembly
D
Andrew Stone’s work at VMWare
As always, a giant Thank You goes to David Belcher for the logo design.
01:11:33
You may also like View more
Mamarazzis
Laura Fa y Lorena Vázquez son las pioneras del pódcast de corazón en España y Mamarazzis es su última propuesta, en la que repasan todos los miércoles la información que llevan las portadas de las revistas rosa y añaden historias y detalles que sólo tienen ellas, como muestra la serie de noticias exclusivas que dieron hace unos meses sobre la separación de Piqué y Shakira. Media hora semanal de entretenimiento en el que se habla de todo lo relevante en el mundo del corazón, con buen humor y sin censura.
Todas las noticias de las Mamarazzis Updated
El Llamador
El programa El Llamador de Canal Sur Radio se acerca como cada año a la Semana Santa con su habitual cita semanal. Bajo la dirección de Francisco José López de Paz, este espacio pretende seguir cultivando la línea con la que ha conseguido la confianza de los oyentes en estas casi tres décadas de historia. Una hora para el análisis y repaso a la actualidad que generan las hermandades sevillanas. Todo en el tono que acostumbra este programa, con importantes novedades y diferentes canales de comunicación que se ofrecerán al oyente. Colaboran Javier Blanco, Manuel Luna, Juanmi Vega y José Antonio Rodríguez. Canal Sur Radio Sevilla | De lunes a viernes, desde las 22:00 h. Updated



