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.

114: Episode 2.0 with Joe Watkins

In this weeks episode we are joined by good friend of the show Joe Watkins. We start off discussion with the successful release of PHP 7.1 and what is in store for Joe now as release manager for that version. Following this, we chat about the libui and Yubico PHP wrappers he as been working on and development of a better Raspberry Pi OS. Finally, we highlight progress made towards incorporating a JiT compiler within PHP and some interesting things you can do with Zero-width joiner’s and Emoji’s in Unicode.

113: Macro vs. Micro Vision

In this weeks episode we start off by congratulating Mick on handing in his masters dissertation. We then move on to discuss decision trees, ordinal regression and genetic algorithms. Edd then mentions managing large tables in Postgres, MVCC, Fill factors and Vacuuming a table. From here we highlight an interesting JavaScript Unicode/New-Line length issue that occurred recently. Finally, we touch upon testing time-dependent processes in isolation, dreaded CRM integration and sign-up processes.

Corrections: Couple of mistakes by Edd; its’ MVCC not MVVC, and any character that can’t be represented using 8 bits in PHP will have a strlen > 1.

112: The Mafia Effect

In this weeks second in-person episode, we start off by congratulating Fraser on his recent engagement. We then move on to chat about setting up Kong, rate-limiting APIs and monitoring the health of an application system. From here we discuss the final stages of Mick’s masters dissertation, highlighting the PageRank paper and the Matthew (not Mafia) effect. Finally, we mention Edd’s trip to Silicon Milkroundabout and blog posts that he has recently had the chance to publish.

111: Let it Crash

In this weeks episode Mick and Edd start off discussion with an update on Mick’s masters dissertation. We then move on to highlight the value of getting an MVP released, and the old adage that hindsight is 20/20. Edd then brings up how he has had the chance to revisit MyBuilder’s logging and monitoring infrastructure recently, re-accessing Severity levels along the way (embarrassingly missing out Critical in the podcast). He also mentions how background processes used within the application have changed overtime - discussing the difference between Time-dependent and Continuous processes. Finally, we chat about successfully introducing Supervisor into the stack and Erlang’s ‘Let it Crash’ philosophy.

110: Getting Started using Composer with Jonathan Klein

In this weeks episode we are joined by Jonathan Klein to discuss his recently released Composer Pluralsight course. We start off by discussing the problem Composer is trying to solve, followed by past attempts at trying to solve it in the PHP landscape. Following this, we move on to discuss how the composer.json and composer.lock files work, the importance of versioning, the Semantic Versioning standard and how autoloading works. Finally, we delve into a couple of lesser-known Composer features, such as the event life-cycle, scripts and the plugin architecture that is present.