Three Devs and a Maybe

Three Devs and a Maybe

By Michael Budd, Fraser Hart, Lewis Cains, Edd MannTechnologyEducation
Download on the App Store

Three Devs and a Maybe episodes

  • 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?!

    Show Links
    • Scott Wlaschin on Twitter
    • F# for fun and profit
    • Four Languages from Forty Years Ago
    • Four Languages From Forty Years Ago (Slides)
    • Seven Languages in Seven Weeks - The Pragmatic Bookshelf
    • Seven More Languages in Seven Weeks - The Pragmatic Bookshelf
    • Smalltalk - Wikipedia
    • ‘Epigrams in Programming’ by Alan J. Perlis
    • Sudoku Solver in Prolog
    • A Philosophy of Software Design - John Ousterhout
    • Garbage collection - Wikipedia
    • ‘Worse is Better’ by Richard Gabriel
    • Introvert and extrovert programming languages
    • ReasonML
    • 1 hr 11 min
    • 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.

      Show Links
      • Bamboo Continuous Integration and Deployment Build Server
      • Jenkins on AWS
      • Dredd - HTTP API Testing Framework
      • Running PHPUnit tests in parallel with Jenkins and Ant
      • Conductor - A return to monolith
      • The Grand Theory of Amazon
      • FANG Stocks
      • Babel with Henry Zhu
      • Building a Babel Plugin - Adding a Function Composition Operator and Auto-Curried Functions to JavaScript
      • Mince Pie Challenge - Adding Test Coverage using Jest and Travis CI
      • Travis CI
      • Serverless Offline
      • Alpine Docker GitHub Pages
      • Learn Go in 12 Minutes
      • Learn Docker in 12 Minutes
      • Building a 8-bit Computer
      • 49 min
      • 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.

        Show Links
        • CQRS
        • Event Sourcing
        • Planning Poker - An Agile Estimating and Planning Technique
        • What Are Story Points?
        • doctrine/dbal - Doctrine Database Abstraction Layer
        • Mince Pie Challenge - Building a Serverless RESTful API and React Client
        • eddmann/mince-pie-challenge-api-serverless - Serverless HAL API, using Webpack, Flow, Jest, DynamoDB, Cognito and Docker
        • eddmann/mince-pie-challenge-client - React Client, using create-react-app, Redux and Enzyme
        • eddmann/mince-pie-challenge-client-terraform - AWS S3/CloudFront deployment def. for the Frontend Client, using Terraform
        • eddmann/mince-pie-challenge-dapp - Truffle, Solidity, IPFS, Web3 and React
        • Truffle Suite - Your Ethereum Swiss Army Knife
        • IPFS is the Distributed Web
        • Solidity
        • AWS Lambda Adds Amazon Simple Queue Service to Supported Event Sources
        • Head First Design Patterns - O’Reilly Media
        • Secrets, Secrets, Are No Fun - PHP Roundtable
        • Vault by HashiCorp
        • AWS Secrets Manager - Rotate, Manage, Retrieve Secrets
        • git-secret
        • Using Libsodium in PHP Projects - Paragon Initiative Enterprises
        • 53 min
        • 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.

          Show Links
          • Alex Bilbie
          • Alex Bilbie on Twitter
          • Coding Solo Podcast
          • OAuth 2.0 Server - PHP, meet OAuth 2
          • The Go Programming Language
          • gofmt - The Go Programming Language
          • Amazon ECS - run containerized applications in production
          • Protocol Buffers - Google Developers
          • Alex Bilbie - OAuth 2 and API Security - Full Stack Radio
          • Open Source Guilt - Alex Bilbie
          • Amazon DynamoDB Global Tables
          • Amazon Aurora - Auto-Scaling Serverless Database Service
          • Amazon Web Services Solutions Architect Associate Certification - Alex Bilbie
          • Amazon S3 Transfer Acceleration
          • S3 Select and Glacier Select
          • Amazon Athena — Serverless Interactive Query Service
          • Laravel Live UK
          • Workspaces - Terraform by HashiCorp
          • cloudreach/sceptre - Build better AWS infrastructure
          • cloudtools/troposphere - Python library to create AWS CloudFormation descriptions
          • Can’t Eat That - An app for food allergy sufferers
          • 1 hr 1 min
          • 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.

            Show Links
            • Joe Watkins on Twitter
            • PHP allows for the design of X
            • krakjoe/jitfu - Creating native instructions in PHP since 2014
            • Preface to idbg
            • krakjoe/idbg - Inspector Debugger
            • krakjoe/inspector - Disassembler and Debug Kit for PHP 7
            • krakjoe/uopz - User Operations for Zend
            • krakjoe/componere - Complex Type Composition and Manipulation
            • PHP RD - Weak References
            • krakjoe/uref - weak refs, for the brave …
            • PHP RFC - Arrays starting with a negative index
            • HHVM - Typechecker
            • HHVM - Hh_server
            • An Introduction to CQL
            • 45 min
            • 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.

              Show Links
              • Scott Wlaschin on Twitter
              • Exploring 4 Languages - Chris Krycho
              • List of languages that compile to JS
              • The Non-Secret Formula for Writing Better Code
              • Designing with Capabilities
              • A functional approach to authorization
              • Constraining capabilities based on identity and role
              • Using types as access tokens
              • Structured programming - Wikipedia
              • The Design of Everyday Things
              • 1 hr 4 min
              • 148: Site Reliability Engineering with Niall Murphy

                In this week’s episode we are lucky to be joined by Niall Murphy to discuss the discipline of Site Reliability Engineering.

                We start off by speaking about how he got into computing, how the SRE role came to be and what drew him to it.
                From here, we highlight the position of an SRE within a company/group, what SLA’s are, the positives of having 50% operations work caps and blameless postmortems.
                This leads us to talk about the reasoning behind striving for 100% uptime is actually detrimental to the product, and the benefits of having an Error Budget.
                Finally, we discuss how the role has evolved since its inception, the Wheel of Misfortune and what drew him to contribute to the seminal SRE book.

                Show Links
                • Niall Murphy on Twitter
                • Fourth Doctor - Wikipedia
                • Niall Murphy - Research at Google
                • The History of the Irish Internet
                • Google - Site Reliability Engineering Book
                • How SRE relates to DevOps
                • Keys to SRE - YouTube
                • Hyrum’s Law
                • Prometheus - Monitoring system and time series database
                • 1 hr
                • 147: Proof of Everything with Jay Smith

                  In this week’s episode we are lucky to have Jay Smith back on the show to talk all things cryptocurrency.

                  We start off the podcast by briefly recapping what’s been happening within the space since we last spoke.
                  This leads us to discuss the Lighting Network running on the Bitcoin Mainnet, CryptoKitties, ERC-721 tokens and Ethereum Casper.
                  From here we chat about Proof of Work, the environmental impacts of the protocol and how Proof of Stake differs.
                  Finally, we chat about Web3, experiences using PIVX, Steemit and IPFS.

                  Show Links
                  • Jaynemesis
                  • Jay on Twitter
                  • CryptoKitties - Collect and breed digital cats!
                  • ERC-20
                  • The Anatomy of ERC721
                  • ERC-721
                  • Blockchain Podcasts - Software Engineering Daily
                  • Proof of Brain - Steemit
                  • Lightning Network
                  • Proof of work - Bitcoin Wiki
                  • Proof of Stake - ethereum/wiki
                  • PIVX
                  • Proof of Stake Experiment - YouTube
                  • eosio - Blockchain software architecture
                  • Sharding FAQ - ethereum/wiki
                  • ethereum/web3.js - Ethereum JavaScript API
                  • IPFS is the Distributed Web
                  • Steemit
                  • How Dropbox Tricks Us - An Illusion of Private Space
                  • 1 hr 6 min
                  • 146: EconoNAS and HTPC System Builds with Brian Moses

                    In this weeks episode we are joined again by Brian Moses to discuss several of his recent system builds.

                    We start off the show delving into his recent EconoNAS, highlighting the goals behind the build and how he goes about selecting the hardware parts.
                    We then discuss his experience using White-label HDD’s for the first time.
                    From here, we move on to discuss his HTPC - again highlighting the goals and the experience of live-streaming the build.
                    This leads us on to highlight the AMD Ryzen Threadripper/Intel Coffee Lake i9 series of CPU’s, Graphics card pricing and the Steam Link Box.
                    Finally, we look at what’s in store for his upcoming DIY NAS 2018 build, FreeNAS AMD support and the different available SSD connectors.

                    Show Links
                    • DIY NAS - EconoNAS 2017
                    • DIY NAS - EconoNAS 2016
                    • MemTest86
                    • Prime95
                    • Assembling Brian’s HTPC - YouTube
                    • AMD Ryzen 3, 5, and 7 Explained - YouTube
                    • Intel Core i9 Explained - YouTube
                    • DIY NAS - 2017 Edition
                    • My First Week with the Steam Link and Steam Controller - Patshead.com Blog
                    • Six Months with the Steam Link - Patshead.com Blog
                    • FreeNAS Storage Operating System
                    • My Thoughts after Upgrading to FreeNAS 11 - briancmoses.com
                    • PCPartPicker
                    • Bulletin board system
                    • Trade Wars 2002 - My First Gaming Addiction - briancmoses.com
                    • Choosing the right SSD - SATA, M.2, PCIe, and NVMe explained by JJ - YouTube
                    • 1 hr 4 min
                    • 145: The Power of Composition with Scott Wlaschin

                      In this weeks episode we are lucky to have Scott Wlaschin back on the show.

                      We start of discussion by highlighting his most recent talk on composition and some useful analogies to Lego, Brio and Unix.
                      From here we move on to investigate function and type composition, the difference between a paradigm shift compared to simply a syntax one and the advantages of an opinionated language.
                      This leads us on to mention how within application design pushing the side-effects to the edge and keeping the core domain pure is beneficial.
                      Finally, we touch upon testing in functional languages, experiences whilst consulting and Rich Hickey’s ‘Effective Programs’ talk.

                      Show Links
                      • Domain Modeling Made Functional
                      • The Power of Composition - F# for fun and profit
                      • The Power of Composition - Scott Wlaschin on Vimeo
                      • Algebraic data type
                      • The Scala Programming Language
                      • Suave.IO
                      • fsharpWorks - F# training and consulting
                      • Unix philosophy
                      • Effective Programs - Rich Hickey - YouTube
                      • Clojure
                      • Clojure - spec Guide
                      • Efficiency vs Effectiveness
                      • Crossing the Chasm: Marketing and Selling Technology Products to Mainstream Customers
                      • 1 hr 8 min

                      About Three Devs and a Maybe

                      From the publisher's feed

                      Join us each week as we discuss all things software development. Frequently joined by a far more intelligent guest on the show's topic, we by no means know everything, but love what we do. Topics…