Categories
Podcasts

Functional Geekery Episode 121 – Claudia Doppioslash

In this episode I talk with Claudia Doppioslash. We catch up with what she has been doing since Episode 42, which includes PureScript and Elm, GRiSP, applying functional ideas to game programming, and more.

Our Guest, Claudia Doppioslash

http://doppioslash.com/
@doppioslash on Twitter
@lambda_cat on Twitter
@shadercat on Twitter
LambdaCat
ShaderCat

Conference Announcements

Midlands Graduate School (MGS) is going to be held in Nottingham, UK, 9–13 April, hosted by the School of Computer Science, the University of Nottingham. For more information and to register visit: https://www.functionalgeekery.com/MGS2018

Detroit Day of Functional will be taking place Saturday, April 14th in Pontiac Michigan, just outside of Detroit. For more information and to register, visit https://www.functionalgeekery.com/detroitfp2018

ElixirConf EU will be taking place April 16th and 17th in Warsaw, Poland. For more information, and to register, visit: http://www.elixirconf.eu/.

BuzzConf will take place the Thursday 26th of April, with workshops on Friday April 27th, in Buenos Aires, Argentina. For more information, and to register, visit: http://buzzconf.org/.

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 [@5:08]

About Claudia
Claudia’s past appearance on Episode 42
Claudia’s talk on PureScript and Elm at LambdaDays 2017
What Claudia has been up to in the past 2 years
Elm
Elm 0.17 and the move from Functional Reactive Programming
Erlang
GRiSP
PureScript
Halogen
Claudia’s LambdaDays presentation Visualizing Home Automation with GRiSP
Writing a book on Shader Programming
PluralSight course Developing Custom Shaders in Unity
Difference in working in Elm and PureScript
When she might pick Elm and when PureScript
Programming model difference between Elm and Halogen in PureScript
purescript-spork
Halogen guide
GRiSP
Applying Functional Programming to writing games
Rust
AreWeGameYet
Clojure in Unity with Arcadia
F# in Unity
Places where functional ideas fit in with game programming
Function Reactive Libraries for game programming
Robert Virding – Synchronizing Game Components
Erlang
Things that are interesting Claudia today
Rust
Entity Component Systems
Caitie McCaffrey on Hanselminutes
Idris
Ray tracing support in GPUs
Vulkan
What about Idris seems appealing
Upcoming conference talk ideas
Rhino 3D modeling
Physically Based Shader Development for Unity 2017

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

Categories
Podcasts

Functional Geekery Episode 120 – Lisa Passing

In this episode I talk with Lisa Passing. We talk her introduction to Clojure and functional programming, her intro to Rust, how Rust fits in the functional programming world, and more.

Our Guest, Lisa Passing

lislis on Github

Conference Announcements

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/.

Comcast Labs Connect Functional Programming conference will be taking place Friday March 9th in Philadelphia, PA. For more information and to register visit: https://comcastlabsconnectfp.comcast.com/

Micheal Nygard will be hosting a 5-day workshop “Monolith to Microservices” on March 12th-16th in Fort Walton Beach, Florida. For more information, and to register, visit: https://n6consulting.com/workshop/monolith-to-microservices/

CodeBeamSF will be taking place March 15th and 16th, with training taking on the 12th-14th and 19th-21st of March. For more information, and to register, visit: https://codesync.global/conferences/code-beam-sf-2018.

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/.

Midlands Graduate School (MGS) is going to be held in Nottingham, UK, 9–13 April, hosted by the School of Computer Science, the University of Nottingham. For more information and to register visit: https://www.functionalgeekery.com/MGS2018

ElixirConf EU will be taking place April 16th and 17th in Warsaw, Poland. For more information, and to register, visit: http://www.elixirconf.eu/.

BuzzConf will take place the Thursday 26th of April, with workshops on Friday April 27th, in Buenos Aires, Argentina. For more information, and to register, visit: http://buzzconf.org/.

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.

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 [@6:15]

About Lisa
PHP
WordPress
Clojure
Rust
How Lisa first got exposed to Clojure
Node.js
Ruby
ClojureBridge
ClojureScript
The help/hindrance of exposure to other languages
Lua
Writing little games to learn a language
What was the convincing needed to look at Clojure
Grasping what “Code as Data” means
Principles picked up from learning Clojure
How Rust was put on Lisa’s radar
Hesitancy at working with a systems language
RustFest
“You can try and it doesn’t matter if you fail”
Crates
Hearing of the idea of a web-framework in Rust
Working with a statically typed language
Haskell
Rust Programming Language Book
Pattern Matching
How Clojure inspired ways of working in Rust
Traits
Functions vs Closures in Rust
Overview of Lisa’s upcoming talk at LambdaDays
Where Lisa sees Rust fitting in the programming languages ecosystem
When Clojure vs Rust
LambdaDays
:clojureD
RustFest
ClojureBridge
ClojureBridge Berlin

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

Categories
Podcasts

Functional Geekery Episode 119 – Jared Forsyth

In this episode I talk with Jared Forsyth. We talk his exploration of programming languages, his exposure to programming languages, work in the Reason community, Reason Town, and more.

Our Guest, Jared Forsyth

@jaredforsyth on Twitter
jaredly on Github
https://jaredforsyth.com/
Reason Town
@ReasonTownFM on Twitter

Conference Announcements

PyCon Colombia 2018 will be taking place February 9th, 10th & 11th in Medellin, Colombia. For more information, and to register, visit https://www.pycon.co/.

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/.

Micheal Nygard will be hosting a 5-day workshop “Monolith to Microservices” on March 12th-16th in Fort Walton Beach, Florida. For more information, and to register, visit: https://n6consulting.com/workshop/monolith-to-microservices/

CodeBeamSF will be taking place March 15th and 16th, with training taking on the 12th-14th and 19th-21st of March. For more information, and to register, visit: https://codesync.global/conferences/code-beam-sf-2018.

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/.

ElixirConf EU will be taking place April 16th and 17th in Warsaw, Poland. For more information, and to register, visit: http://www.elixirconf.eu/.

BuzzConf will take place the Thursday 26th of April, with workshops on Friday April 27th, in Buenos Aires, Argentina. For more information, and to register, visit: http://buzzconf.org/.

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.

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:46]

About Jared
Kahn Academy
How Jared got into programming
Game-Maker
Python
Java
C++
C#
Racket
JavaScript
CoffeeScript
ClojureScript
Flow
Go
Rust
Reason
What languages were Jared using consistently
Languages bleeding in between each other
Things Jared ran into in the different languages
core.typed
WebAssembly
What were the things Jared was looking for in a language
What put Reason on Jared’s radar
The current state of Reason for adoption
Current state of integration with JavaScript
OCaml
BuckleScript
ReasonReact
Reason React Native
Where the Reason adoption is primarily taking place at this point
pack.re
Targeting native devices on iOS and Android with Reason
Jared’s work in Reason
Blogging Reason experiments
Making a cross-platform mobile game in Reason/OCaml
Reason Town
“Languages live or die by their community”
Format of Reason Town
First Reason Conference in Vienna
Geographic distribution of Reason
Where to stay up to date with Reason
Reason Website
Reason Discord Channel
Reason Articles on Reason website
What excites Jared in the Reason community
Reason React compiled to native iOS without JavaScript bridge
esy package manager
Places to contribute to Reason
Reason on Twitter
ReasonML Hub on Twitter

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

Categories
Podcasts

Functional Geekery Episode 118 – Scott Nimrod

In this episode I talk with Scott Nimrod. We catch up with what he has been up to since he was last on, using F# for profit, Nikeza, Elm, and more.

Our Guest, Scott Nimrod

@bizmonger on Twitter
https://bizmonger.wordpress.com/
bizmonger on Github
Scott’s YouTube Channel

Conference Announcements

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/.

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/

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.

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

Announcements

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

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

Topics [@4:01]

Welcome back to Scott
Scott on Episode 53
F#
Using F# at work beyond just learning on the side
Sagas
Functional And Reactive Domain Modeling by Debasish Ghosh
Lessons learned from moving from using F# for just fun, to using F# for profit
Using `` around function names in tests to allow test names to read as sentences
Event Driven Architecture and Sagas
Eric Normand on Episode 41 talking about how most things can be reduced to a `map`, `filter`, or `reduce`.
Ody Mbegbu on Episode 81
LambdaCartel
Nikeza
LambdaCartel video streams
Lessons learned from working on Nikeza
.NET Core
Giraffe
Working with F# on .NET Core
Docker
Visual Studio Code
Visual Studio Code and Ionide
Visual Studio 2017 version 15.6 – Preview Release
Elm
Domain Modeling Made Functional by Scott Wlaschin
The Book of F#
Branching Out With Elm
Differences Scott found between working with F# and working with Elm
F# Advent Calendar
Scott’s F# Advent Calendar contribution
Attending NDC Minnesota
Scott talking with Scott Wlaschin

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 116 – Radu Popescu

In this episode I talk with Radu Popescu. We talk his introduction to software development, high performance C++, where functional ideas fit in with high performance C++, CernVM File System, Erlang, an overview of where Rust fits between functional languages and C++, and more.

Our Guest, Radu Popescu

radupopescu on Github
@iradupopescu on Twitter
https://radupopescu.net/

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 [@3:00]

About Radu
Cern
CernVM File System
How Radu came into software development
C++
Functional Programming Principles in Scala by Martin Odersky on Coursera
High Performance computing with C++
Fortran
TensorFlow
What standards of C++ Radu was writing against
Lambdas and Higher Order Functions being introduced into C++
How some of the functional ideas fit into high performance C++
C++ Template Language as a purely functional language
CernVM File System
Linux FUSE (Filesystem in Userspace)
Terabytes of new software every day at CERN
Content Addressed Storage
Field-programmable Gate Array
Using Erlang for a publication system
Moving from Command Line based to Server based
“Let it Crash” approach in Erlang
What the Erlang based Repository Gateway solves
The different roles the Repository Gateway fulfills
Key takeaways from using Erlang for the Repository Gateway
C++ Inter-op story
Statically-typed C++ versus Dynamic Erlang
Dialyzer
OTP
Functional Composition and Immutable Values for ease of debugging
Erlang QuickCheck
John Hughes
Quviq
RapidCheck
Rust
Where Rust fits in between C++ and the functional family of languages
RAII
Algebraic Data Types
Why one might pick Rust over Haskell, OCaml, or other similar languages
Wrapping C libraries with Rust, and wrapping Rust libraries with C
CodeMesh
Radu’s Talk page at CodeMesh
CernVM Documentation
CernVM 10th Anniversary Workshop

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

Categories
Podcasts

Functional Geekery Episode 115 – Sam Williams

In this episode I talk with Sam Williams. We talk his introduction to programming, moving to web-development with Erlang, the HydrOS project, the Archain project, and more.

Our Guest, Sam Williams

samcamwilliams on Github
@ArchainTeam on Twitter

Conference Announcements

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:25]

About Sam
The University of Kent
How Sam was introduced to programming
Visual Basic
PHP
Writing a Meta-News analysis site
How Sam first came across Erlang
Exposure to Lisp and Scheme
Getting started in Erlang
Learn You Some Erlang for Great Good by Fred Herbert
Programming Erlang (2nd Edition) by Joe Armstrong
“If you want to really learn a language, you have to have some sufficiently difficult task, to make you engage with it properly”
Getting a deeper understanding of the nuances of Erlang
Building a web technology company on Erlang
Yaws
ehtml
Moving to write Erlang to run on Unikernerl as a final project
Unikernels
Xen
How a final project works
Richard Mortier
Migrating the Erlang Virtual Machine to run on bare metal
HydrOS
Distributed Operating System
What is the goal of the HydrOS project
Idea of process mobility across devices
Archain
What is a block-chain
What is Archain
How block-chain differs from Git or CRDTs
Proof-of-work
How Archain works to incentivize distribution of archive data
What kinds of information does Archain hope to Archive
Preventing the “Orwellian Memory Hole”
Internet Archive
Some of the limitations of the Internet Archive
How Erlang fits with building a block-chain
Simulating large networks
Archain as a platform for writing distributed applications
Sam’s talk at CodeMesh 2017
Code BEAM STO 2018

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

Categories
Podcasts

Functional Geekery Episode 114 – Fred Herbert

In this episode I talk with Fred Herbert. We talk his introduction to Erlang, making languages accessible to the community, productionization as a phase of software, property testing, we wrap up with a tease of how “Everything is Terrible”, and much more.

Our Guest, Fred Herbert

@mononcqc on Twitter
https://ferd.ca/

Conference Announcements

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/.

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:06]

About Fred
Learn You Some Erlang For Great Good
Erlang in Anger
How Fred got introduced Erlang
Writing “Learn You Some Erlang” as he was learning Erlang
Python
Structure and Interpretation of Computer Programs
Structure of Erlang programs
“The idea that there is no main function”
OTP
Go
Links and Monitors in Erlang
Erlang and OTP in Action
“Difference in trying to prevent the errors compared to trying to deal with them”
Making languages approachable and health of the community
Fred’s Keynote at Erlang User Conference 2016
Getting interaction with newcomers to remove hurdles to getting started in a language
Thinking about the Productionization Phase of your software
“A lot of the work you do is not writing it the first time, its really keeping the thing going after that”
Smalltalk
dtrace
Importance of thinking about your people as a part of your system
Conway’s Law
Haskell
Racket
House M.D.
Seeing your code as a piece of writing
The importance of predictable code
Programming in the Large and Programming in the Small
Programming Paradigms for Dummies by Peter Van Roy
Lasp
Property Testing
PropEr Testing.com
“Most of the errors in the system are mistakes that I didn’t see coming”
Haskell QuickCheck
Erlang QuickCheck
Hypothesis in Python
PropEr
Quviq
Upcoming talk at CodeMesh
Everything is Terrible
SpawnFest
This Week in Erlang

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

Categories
Podcasts

Functional Geekery Episode 113 – Oskar Wickström

In this episode I talk with Oskar Wickström. We talk his introduction to software development, journey to functional programming, tooling, state machines and static typing, and more.

Our Guest, Oskar Wickström

@owickstrom on Twitter
owickstrom on Github
https://wickstrom.tech/

Conference Announcements

CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/.

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.org/.

BOB 2018 is coming up in Berlin, Germany on February 23rd, 2018. For more informationa, 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/.

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:35]

About Oskar
How Oskar moved from music to programming
PHP for a band website
What made software become more interesting to move into development
WordPress
What made to move to looking into other languages
Object-Oriented Programming in PHP
C# and .NET
Java
Scala
Haskell
“Absorbing every advice from people that I respected”
How Oskar was exposed to Haskell
Learn You A Haskell
Programming Scala as Java, but with a better syntax
What were the “Ah-Ha” moments when starting to learn Haskell
Static-Dispatch in Haskell vs Dynamic-Dispatch in Java
Implementing an Event Store
Event Sourcing
Making the move from Haskell in side projects to working in Haskell
Functional JavaScript
React
Reactive Programming
Implementing functional ideas from Haskell to JavaScript
Giving mini-trainings on functional programming concepts
Dual Feedback loop between play projects and applying to work problems
First work project in Haskell
Oden
Go language
PureScript
Using a language to deliver small tooling for yourself
Trying to use the best tooling
How Oskar thinks about picking tooling
The Unix Philosophy of “doing one thing and one thing well”
Documentation
Sphinx
reStructuredText
Hyper
PureScript middleware like Express and Connect in Node.js
Representing middleware as a state-machine verified by a type system
Why run PureScript in a Node.js environment?
“That’s a question I always get asked when people ask me about Hyper”
Row Polymorphism
Migrating an existing Node.js app to PureScript
purerl
Cowboy
Hardy Jones mentioning purerl on Magic Read Along
servant
Overview of upcoming talk “Finite State Machines – Your Compiler Wants In”
Idris
“This is a very nice hammer, but you don’t want to apply it everywhere”
CodeMesh
Haskell eXchange 2018

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

Categories
Podcasts

Functional Geekery Episode 112 – Micheal Sperber

In this episode I talk with Micheal Sperber. We talk his introduction to programming and functional programming languages, important commonalities across languages, power of syntactic abstraction, teaching programming to beginners and experienced programmers, Concurrent ML, and more.

Our Guest, Micheal Sperber

@sperbsen on Twitter
http://www.deinprogramm.de/sperber/

Conference Announcements

CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/.

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.org/.

BOB 2018 is coming up in Berlin, Germany on February 23rd, 2018. For more informationa, 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/.

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:03]

About Micheal
How Micheal got into software
How Micheal’s interest in teaching related to his interest in software
Micheal journey of learning different languages
BASIC
C
Germany’s National Competition of Programmers for high school students
Finding a community of people to learn from
How Micheal came across functional programming
LISP
Structure and Interpretation of Computer Programs
Scheme
Hope
Miranda
Haskell
ML
OCaml
Clojure
Erlang
F#
Scala
Elixir
What is the core that Micheal finds across functional languages
Immutability
Type Based Design (regardless of static or dynamic typed)
Macros as the “feature wish” for all languages
Hygienic Macros
Power of a common, well known, syntactic abstraction
What Micheal has found about teaching functional languages
“Your students are different than you”
“You have to put some distance between what you teach and what you love”
Racket
“You need to have languages designed for teaching, and tooling designed for teaching”
Dr. Racket
Commonality of teaching beginning programmers and teaching experienced professionals
Common principles for teaching as starting points
“Keep excitement out of it”
Program by Design
How to Design Programs
Design Recipe
Using types about your data to match information in your problem statement
Lessons from taking the teachers’ excitement out of the curriculum
“Here’s this thing, we don’t care if you love it or not, just do your thing”
Letting the students get excited for themselves.
Difference in thinking in types between dynamically and statically typed languages
Concurrent ML
Overview of similarity and differences in concurrency across functional programming languages
Messages and immutable data
Erlang process model for concurrency
Overview of Concurrent ML
Rendezvous
Algebra of Rendezvous
“It’s like Christmas when you pull it out of the box”
Composition of Rendezvous across different concurrent mechanisms
Wittgenstein “The limits of your language are the limits of your world”
Going back to other concurrency mechanisms after knowing about Concurrent ML
core.async
Concurrent ML as a way of thinking
Standard ML of New Jersey
Extracting Concurrent ML concepts as a library
Star
Concurrent Programming in ML
Concurrent ML as the best book on concurrent programming
John Reppy Ph.D. thesis
Concurrent ML book on covers multiple paradigms
Mike’s upcoming CodeMesh presentation
International Conference on Functional Programming
Funktionale Programmierung
BOB Konf

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