Episode 61

061 JSJ Functional Reactive Programming with Juha Paananen and Joe Fiorini


May 31st, 2013

49 mins 30 secs

Your Hosts
Special Guests

About this Episode


Juha Paananen (twitter github blog)
Joe Fiorini (twitter github blog)
AJ O’Neal (twitter github blog)
Jamison Dance (twitter github blog)
Joe Eames (twitter github blog)
Merrick Christensen (twitter github)
Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

01:20 - Joe Fiorini Introduction

Interaction Developer at Designing Interactive in Cleveland, OH

01:42 - Juha Paananen Introduction

Software Developer at Reaktor in Helsinki, Finland

02:30 - Functional Reactive Programming (FRP) vs Functional Programming

057 JSJ Functional Programming with Zach Kessin

04:25 - Declarative Programming
05:55 - Map and Filter
07:05 - bacon.js


09:10 - Mapping and filtering event streams
10:40 - Asynchronicity and Promises
14:28 - Using FRP

Complex UIs
TodoMVC with Bacon.js, Backbone.js and Transparency.js by pyykiss

20:02 - Ember.js and FRP
22:04 - MVC frameworks and FRP

Juha Paananen: FRP, Bacon.js and stuff: Chicken, Egg and Bacon.js

24:35 - Learning FRP
25:49 - Where did FRP come from?

What is (functional) reactive programming? - Stack Overflow
Conal Elliott: Composing Reactive Animations
Reactive-banana - HaskellWiki

29:07 - Going beyond visual media


32:18 - Wrappers
33:31 - How to build things with FRP libraries

Juha Paananen @ MLOC.JS: Functional Reactive Programming in JavaScript using Bacon.js


SlideShare: Functional Reactive Programming in JavaScript (AJ)
Valve: The AI Systems of Left 4 Dead by Michael Booth (Jamison)
programming is terrible (Jamison)
Simple Made Easy: Rich Hickey (Jamison)
AngularJS Fundamentals (Joe's Pluralsight Course) (Joe)
Open Source Bridge (Joe)
That Conference (Joe)
Star Trek: Into Darkness (Joe)
ServerBear (AJ)
rainwave (AJ)
rwbackend (AJ)
Mesa Boogie Lone Star Guitar Amplifier (Merrick)
backburner.js (Merrick)
messageformat.js (Merrick)
Digital Ocean (Chuck)
Emacs (Chuck)
emacs_libs (Chuck)
Tmux (Chuck)
GitLab (Chuck)
Flight by Twitter (Joe F.)
Ember.js (Joe F.)
CodeMash (Joe F.)
fantasy-land (Juha)
The Bacon.js postings featuring Phil Roberts (Juha)
Iron Sky (Juha)
Reaktor Dev Day (Juha)

Next Week
Dojo with Dylan Schiemann
MERRICK:  How come nobody acknowledges when I talk? What about that?

JAMISON:  That’s a deeper problem than a microphone.

[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] 

[This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] 

CHUCK:  Hey everybody, and welcome to Episode 61 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal.

AJ:  Yo, yo, yo. Coming at you live from Iowa.

CHUCK:  Again?

AJ:  Oh, I guess I was there last time, huh? It’ll be New York soon.

CHUCK:  We have Jamison Dance.

JAMISON:  Howdy, guys.

CHUCK:  Joe Eames.

JOE E:  Hey there.

CHUCK:  Merrick Christensen.

MERRICK:  What’s up?

CHUCK:  I’m Charles Max Wood from DevChat.tv. This week, we have two special guests. We have Joe Fiorini.

JOE F:  Hello everyone.

CHUCK:  And Juha Paananen.

JUHA:  Yeah. Hi everybody. Juha Paananen.

CHUCK:  Thank you for straightening that up for me. We’re going to have you guys introduce yourself real quick, since you haven’t been on the show before. Joe, why don’t you start us off?

JOE F:  Sure. My name is Joe Fiorini and I am an Interaction Developer at Designing Interactive in Cleveland, Ohio. I do a decent amount of JavaScript development every week. I’ve discovered Functional Reactive Programming three or four months ago and it’s changed my world.

CHUCK:  Awesome. And Juha, do you want to introduce yourself as well?

JUHA:  Yeah, why not? I’m Juha. I’m from Finland. Helsinki.