158: Hexagonal Architecture (Ports and Adapters) with Matthias Noback

In this weeks episode we are lucky to have Matthias Noback on the show to discuss software architecture design. We start off the show by highlighting why we should invest time in the architecture of our software, and what is meant by ‘layers’ of an application. This leads us to discuss what Hexagonal Architecture (Ports and Adapters) actually is, Infrastructure vs. Core (Domain, Application) and the Dependency Inversion Principle. From here we mention the different responsibilities Ports and Adapters have, the different forms of testing you can do within this architecture and Use-cases/Command Buses. Finally, we touch upon the new book ‘Style Guide for Object Design’, which Matthias is currently in the process of writing.


157: The Symfony Ecosystem with Nicolas Grekas

In this week’s episode Edd and guest co-host Neal Brooks chat to Nicolas Grekas about all things Symfony. We start off discussion with how he got interested in programming, his introduction to Symfony, and his journey to now working on the code-base almost daily. This leads us on to talk about how he helped build the performance profiler Blackfire, and the importance of quantitative measurements whilst making performance improvements. From here we highlight managing pull requests, the social factors when leading open-source projects and Symfony’s continuous migration path. Finally, we touch upon the recently released Messenger component and upcoming Symfony Contracts initiative.


156: Running Symfony on AWS Lambda with Neal Brooks

In this weeks episode we are lucky to be joined by Neal Brooks, a fellow developer of Edd’s at MyBuilder. We start off by discussing how he got into programming, QBasic and video driver shenanigans. From here, we move on to introduce his SymfonyLive London talk ‘Running Symfony on AWS Lambda’. We highlight what drew him to Lambda, and the new tooling that is making it easier to run PHP and frameworks (such as Symfony) on it. This leads us to cover his demo application, and explore handling assets using S3, database migrations and AWS resources using CloudFormation. Finally, we debate using catch-all gateway endpoints vs. dedicated gateway endpoints and Lambda performance.


155: Bridging the Security Gap with Scott Arciszewski

In this weeks episode we are lucky to be joined by Scott Arciszewski to discuss all things Security. We start off by chatting about a recent talk he gave at DEF CON 25 and the importance of secure API design. From here we highlight Google Tink, misunderstandings of how PHP has changed over the years and what CVE’s are. This leads us on to delve into the tools and processes used within the reconnaissance phase of a security engagement. Finally, we briefly mention Quantum Computing and its impact on cryptography - followed by best practises for securely managing secrets within web applications.


154: Why all the Curly Braces? with Scott Wlaschin

In this weeks episode we are lucky to have Scott Wlaschin back on the show to discuss his most recent talk ‘Four Languages from Forty Years Ago’. We start off by talking about why the 1970’s was such an influential decade for language design. This leads us on to highlight what a programming language fundamentally is, and explain the many different paradigms that are present. From here, we explain the issue with throwing out the design phase completely when building software, and the interesting points made in Richard Gabriel’s ‘Worse is Better’ essay. Finally, we try to make sense of why all popular programming languages today follow a very similar style, and what is with all the curly braces?!


153: The Mouse in the House

In this weeks episode we start off discussion around testing in a Continuous Integration pipeline, and setting up a personal Bamboo CI system. We then move on to separating domain logic from the delivery, and how a Package-Bridge-Delivery split works. After a small mouse related intermission, we touch upon experiences building custom Babel plugins and testing using Jest, Travis CI and Docker. Finally, we highlight creating small CLI applications with Go, Serverless Offline and Logic-Gates/8-bit computers.


152: New Jobs, Engagements and Marathons

In this weeks episode Mick and Edd have a long overdue catchup! We start off the show by discussing Mick’s new job, the new stack he is using, and the benefits of working in a team. From here we highlight how his company uses Scrum (Sprints, Planning Poker and Story Points), handling event-sourced models with the introduction of GDPR, and logic within annotations. Finally, we touch upon Edd’s recent engagement and marathon, a new Serverless/React blog series he is working on, developing applications for the Ethereum blockchain, and how to manage application secrets.


151: AWS, Golang and iOS Development with Alex Bilbie

In this weeks episode we are lucky to be joined by Alex Bilbie to discuss all things AWS, Golang and iOS development. We start off the show by exploring how he got into programming, the stack he currently uses, and moving from a Monolith Laravel application to Golang microservices (deployed using ECS). From here, we move on to highlight his time developing the popular PHP OAuth 2.0 Server package, and how he first got interested in the AWS platform. We then discuss the power of composing services offered by AWS together, the concept of being ‘cloud-proof’ and the AWS certification system. Finally, we talk about his upcoming S3 master-class video series, use of Terraform for IaC and experiences building/shipping an iOS application.


150: PHP was not designed for that?! with Joe Watkins

In this weeks episode we catch-up with Joe Watkins. We start off discussion with a recent blog post he wrote about the unhelpful ‘just because you can, doesn’t mean you should’ response he sees surrounding some of his PHP extensions. From here we move on to highlight a debugger you can ‘composer require’, reasons behind creating such a tool and how it works. This leads us on to mention some updates to uopz for PHP 7 support, a weak references RFC he has recently published and future plans for PHP. Finally, we wrap up by talking about a CommonMark extension he has published, and how CQL provides the ability to efficiently traverse a document.


149: Software Design with Scott Wlaschin

In this weeks episode we are lucky to have Scott Wlaschin back on the show to discuss design within software. We start off by highlighting leaky abstractions, adopted tool-chains and transpiling languages into JavaScript. From here we move on to talk about what makes ‘good code’, and how evaluating this is heavily reliant on the requirements and context you are in. Finally, we discuss how OO and FP software architectures differ, advantages of being explicit over implicit and information-hiding at API boundaries.