124: The Tale of State and Behaviour, Part 2 with Scott Wlaschin

In this weeks show we follow on from our previous episode’s discussion with Scott Wlaschin. We delve into separating out the client from the behaviour and state, initially highlighting the Batch Command approach. From here, we move on to discuss the Actor Modal, Event Sourcing and Functional Reactive Programming solutions. Finally we touch upon handling the behavioural dependencies, followed by creating an Interpreter and Capability-based implementations.


123: The Tale of State and Behaviour, Part 1 with Scott Wlaschin

In this weeks episode we are lucky to be joined by Scott Wlaschin again, to discuss his recent ‘Thirteen ways of looking at a turtle’ talk. We start off discussion highlighting the value of solving a known problem in many different ways and the inspiration behind the talk. This leads us on to chat about the Object-oriented and Abstract Mutable/Immutable Data Model solutions, mentioning each ones merits as a way to solve the problem. We then move on to highlight the State, Either and Async Monad solutions, and how they aid in function composition of different ‘shapes’. Finally, we mention how good code should be boring, the balance of the abstract vs. concrete and transparency in code.


122: Carry on Coding

In this weeks episode we start off discussion with experiences handling online payments, CRM export integration and highlight how PHPStorm can be a great SQL editor. We then move on to mention a service that allows you to easily manage browser polyfills, and Edd chats about his experience currently making a Nokia ringtone composer web application. Finally, we touch upon handling transactional email, depending on third-party services and using Continuation-passing style within JavaScript.


121: Developing Zencastr with Josh Nielsen

In this weeks episode we are joined by the creator of Zencastr, Josh Nielsen. We start off discussion with how he got into programming and being hired as a ‘webmaster’ at the University he attended. From here, we move on to highlight the problem Zencastr is trying to solve, delving into some of the technical aspects and corners that were cut to focus on the primary solution. Finally, we mention the testing strategy in place, how it is changing as the product stabilises and what features are next in the pipeline.


120: Contributing to PHP with Joe Watkins

In this weeks episode we chat to good friend of the show Joe Watkins. We start off discussion with his recent work on creating a compute-node, dual WAN setup and accepted PHP Serbia talk on contributing to PHP without being a ‘C wizard’. From here we move on to mention some of the areas (bug tracking system and QA) that could be improved with the help of new contributors within the PHP internals ecosystem. Finally, we highlight several recently proposed RFCs, his opinions on them and some work he is doing on a future RFC.


119: Aha! Moments with Steven Proctor

In this weeks episode we are lucky to have Steven Proctor back on the show. We start off discussion by congratulating him on 82 episodes of Functional Geekery, and the commitment it takes to do a podcast and not just ‘podfade’. From here we move on to highlight any commonalities he notices with people getting into FP, how he stays on-top of the latest advancements and how he finds the guests he wishes to speak to. This leads us on to compare learning functional concepts within a language you already know vs. in a totally different lanaguge which is rooted in the principles. Finally, we chat about interesting projects that are on his radar and advice that he has for people who wish to begin exploring FP.


118: API Ramblings with Phil Sturgeon

In this weeks show we are joined by Phil Sturgeon to discuss all things API development. We start off by mentioning Phil’s new job at WeWork, Startup life/culture and switching between different development philosophies. We move on to highlight how he got into API development, the reasons behind writing the book “Build APIs You Won’t Hate” and a future video-series he has in the pipeline. This leads on to discuss common misconceptions of REST and RPC, API tooling available and the different data-formats present. Finally, we mention the importance of good error-handling within an API (no 200 responses!) and some of the bad-stories he has heard/encountered on the topic.


117: Managing Concurrency in Postgres with Bruce Momjian

Following on from our previous look at the Query planner - we are joined again by Bruce Momjian to extend this exploration into looking how Postgres manages concurrency. We start off by discussing some of the challenges and workarounds used in the past to handle concurrent access, particularly in the eyes of a database administrator. We then highlight the concept of MVCC, how it works from a high-level, how Postgres implements it and the clean-up considerations that are present. Finally, we mention how Postgres stores data in page-form, how projects such as pg_compact work to regain space and what the fill-factor is.


116: Programming Like Functions Matter with Jimmy Burrell and Scott Wlaschin

In this weeks episode we are joined by Jimmy Burrell and Scott Wlaschin to discuss all things functional. We start off the show highlighting how Scott got into programming, the reasons why he is a big fan of Smalltalk, what he means by ‘Enterprise OO’ and being a Humanistic programmer. From here we discuss how he got into FP, how the paradigm came to being, what FP is to Scott and why you should consider it. Finally, we mention the differences between types in FP over langauges such as C, the railway track metaphor he uses to help explain FP concepts and architectural patterns that are more or less suited to FP.


115: Checking in with Lew and hearing about Blue n’ Vue

In this weeks episode we have a long overdue catch-up with Lew. We start off by discussing what he has been upto, and a certain four-legged addition to his family. From here we move on to chat about working on a product vs. working in an agency setting, picking your battles when refactoring and not being scared to make mistakes. Finally, we highlight how Edd has recently used personal Homebrew taps, using Android simulators for testing and Lew’s experience with Vue.js.