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

  • 84: Keeping it Lean into 2016

    In this years first episode we start off the show with discussion on Lew’s newly updated website, Bowling Game Code Katas and PostgreSQL.

    We then move on to talk about React-Router, ‘shrinkwrapping’ NPM dependences and Edd’s introduction to the world of Lisp by way of Clojure.
    Other coding katas are then mentioned (FizzBuzz), along with an interesting project good friend of the show Jimmy Burrell has recently released.
    Finally, we wrap up the show with ideas on the technologies and languages each of us wishes to explore this year, along with some interesting podcast episodes we have recently listened to.

    Show Links
    • Lewis Cains - Website Developer
    • The Bowling Game Kata
    • PostgreSQL
    • rackt/react-router - GitHub
    • shrinkwrap - npm Documentation
    • The Joy of Clojure
    • FizzBuzz in Clojure
    • Infix Calculator in Clojure
    • Browsersync
    • Color Loving Functional Style - Concocted Logic
    • JavaScript Air
    • Choosing an HTTP Status Code
    • Wave Invoice
    • Fizz Buzz Test
    • Fizz buzz - Wikipedia
    • Getting Started with Redux
    • The Laracasts Snippet
    • Full Stack Radio - Building Basecamp 3 like a Porsche 911
    • Functional Geekery - David Nolen
    • clojure/clojurescript - GitHub
    • omcljs/om - GitHub
    • 52 min
    • 83: Kong, the API/Microservice Management Layer with Ahmad Nassri

      This week we are very lucky to have Ahmad Nassri on the show to discuss the world of API’s and how Kong (the API/Microservice management layer) fits into the picture.

      We start of discussion with how he got into programming and garnered an entrepreneurial spirit in his homeland of Syria, before moving to Canada in his late teens.
      Following this we chat about his current companies (Mashape) approach to development, picking the right stack and language for the job at hand.
      Throughout these experiences and their central ‘Marketplace’ product Kong has been developed, helping unify similar API requirements such as logging, authentication and request transformations.
      As the word ‘microservices’ has been brought up, discussion then centers around his definition of the term and the three pillars (modularization, componentisation, services) he sees there being.
      We then move on to the decisions behind using Nginx and Lua as the base for Kong’s development, along with a look into the Lua ecosystem and Mashape’s many contributions.
      Finally, we chat about Kong’s plugin architecture and the vibrant community/projects that have been created since its initial inception.

      Show Links
      • Ahmad Nassri
      • Ahmad Nassri on GitHub
      • Ahmad Nassri on Twitter
      • Mashape - Powering API Driven Software
      • Kong, APIs, and Microservices with Ahmad Nassri - The Changelog
      • The Story So Far: My Journey (Part 1) - Ahmad Nassri
      • The Story So Far: My Journey (Part 2) - Ahmad Nassri
      • ahmadnassri/restful-zend-framework - GitHub
      • ahmadnassri/restconsole - GitHub
      • Unirest - Simplified, lightweight HTTP request client libraries in multiple languages
      • Galileo - Build and Deliver Better APIs
      • Gelato.io - Super-Sweet Developer Portals
      • Mashape - Free API Management Platform & Marketplace
      • LuaRocks - The Lua package manager
      • Lua
      • OpenResty - a fast web app server by extending nginx
      • OASIS
      • Web-service specifications - Wikipedia
      • Java The Hutt - WS-Deathstar and the complexity tradeoff
      • What is meant by WS-*?
      • Reporting for duty on WS-Deathstar
      • WS-DeathStar - Flickr
      • mybuilder/kongfig - GitHub
      • 1 hr 11 min
      • 82: Delving into HTTP/2 with Mattias Geniar

        On this week’s show we are joined by Mattias Geniar to discuss all things HTTP2.

        We start of the show with discussion on how he got into programming, moving into a DevsOps role as his career has progressed.
        From here we briefly discuss the term DevOps and how he uses a lot of Puppet in his current role.
        This leads us into chat about a host of topics revolved around HTTP, the history, TCP, the OSI model and ‘best practices’ in regard to HTTP 1.1 usage.
        We then move on to discuss the HTTP2 protocol, the changes that have been made, how easy it is to adopt and how our typical tooling works with the new standard.
        Finally, we wrap up the show with discussion on TLS and how/why it has almost become a ‘de-facto’ standard for the HTTP2 protocol, along with the different servers that have appeared since its inception.

        Show Links
        • @mattiasgeniar on Twitter
        • ma.ttias.be
        • HTTP/2: The Next Version of the Internet
        • Puppet
        • Ansible
        • Chef
        • Best Practices for HTTP1.1 Becoming Bad Practices for HTTP/2
        • DevOps
        • OSI model
        • HTTP/2
        • Caddy - The HTTP/2 Web Server with Fully Managed SSL
        • H2O - the optimized HTTP/2 server
        • Varnish
        • varnish/hitch - GitHub
        • 1 hr 1 min
        • 81: Wibble, wobble, wubble...

          On this week’s ramble podcast we are joined by the Macintosh Speech Synthesis Manager!?

          We start of the show with discussion on dedicated full-text indexing search solutions, followed by conversation on random domains that we may have purchased in the past.
          We then move on to chat about blogging solutions, the small refactoring cycles vs. full rewrites decision and what a design pattern truly is.
          Edd then goes off on a tangent about the ‘curse’ of the DRY principle, followed by the use of traits over conventional OOP concepts.
          Finally, we wrap up the show touching upon HTTP and how it is favourable to try and put off caching until it is justifiably needed.

          Show Links
          • Making your Mac talk with “say”
          • say(1) - Mac OS X Manual Page
          • Sphinx
          • Elastic (formally Elasticsearch)
          • Algolia
          • Apache Lucene
          • Lew’s Snippets Site
          • Mince Pie Challenge 2015
          • Jekyll
          • Raspberry Pi Zero
          • “Here’s the @Raspberry_Pi Zero, free with a magazine - alongside the 2012 original. Moore’s Law in action https://t.co/QJqcj2q2Or”
          • 1 hr 4 min
          • 80: 'Hardcore' Functional Programming using Ramda with Andrew D'Amelio

            In this week’s show we are lucky to be joined by Andrew D’Amelio, to discuss all things Ramda and ‘Hardcore’ Functional Programming.

            We start off discussion with how he got into programming, growing up with lecturers telling him that JavaScript was just a flash in the pan.
            Leading on from this we delve into how he quit his previous job to take 6 months off, investing time into learning AngularJS due to its heavy job demand.
            Throughout this time he was able to learn a lot from the Frontend Masters courses, with aid from AngularJS’s opinionated approach.
            We then move on to discuss the philosophy behind Ramda, introduced to him within the Hardcore Functional Programming course provided by Frontend Masters - and how it promotes code reuse by way of composition.
            This interest into the library brought him to introduce it to colleagues in a lunch n’ learn, paving the way for deployment into production.
            Andrew then highlights how it performed in production, along with his experiences debugging code written with it.
            Finally, we finish off the show touching upon type transformations and how his current workplace are using TypeScript and Flow to harness typing.
            We then conclude on how Ramda is a great gateway into many advanced functional concepts, using a language that feels ‘safe’ as opposed to taking an even bigger dive into Haskell and Lisp dialects.

            Show Links
            • andrewdamel.io
            • andydrew (@andrewdamelio) on Twitter
            • andrewdamelio (Andrew D’Amelio) - GitHub
            • Practical Functional JavaScript with Ramda
            • Ramda
            • Rangle.io
            • Frontend Masters
            • Hardcore Functional Programming in JavaScript Video Course - Frontend Masters
            • Brian Lonsdorf (@drboolean) on Twitter
            • loop/recur
            • DrBoolean (Brian Lonsdorf) - GitHub
            • TypeScript
            • AngularJS
            • Flow
            • Immutable.js
            • 59 min
            • 79: Foo, bar, baz...

              In this week’s show we start off discussion with Lew’s upgraded audio and Mick’s side-project ‘Smuddle’ which hopes to help fill a void in the shopping comparison site area.

              We then move on to touch upon third-party email delivery solutions, task scheduling abstractions and queuing implementations.
              API’s and the tooling around them is next on the list along with how the JavaScript stack can be quite intimidating when you first delve into it.
              Finally, we chat briefly about Hypermedia API’s and look into developing and deploying web applications outside of the PHP ecosystem.

              Show Links
              • Breaking the Magician’s Code
              • smuddle.com - Shopping Price Comparison Search Engine
              • Smuddle on Twitter
              • SendGrid
              • Mailgun
              • Mandrill
              • Task Scheduling - Laravel
              • Queues - Laravel
              • RabbitMQ
              • Laravel Homestead - Laravel
              • Kong - Open-Source API Management and Microservice Management
              • Postman
              • RAML
              • API Blueprint
              • Swagger
              • ScreenFlow
              • Jsoup
              • Architectural Styles and the Design of Network-based Software Architectures
              • Puppet
              • 53 min
              • 78: PHP Internals catch-up with Joe Watkins

                On this weeks show we are lucky to be joined by recurring guest and friend of the show Joe Watkins.

                We start of discussion with the upcoming PHP 7 release, reasoning behind why it has been postponed, the bright future of adoption to the release compared to previous versions and how the release gets packaged up for different distributions.
                We then move on to touch upon uopz (User Operations for Zend), how it helps aid getting code ‘under-test’ and the progress made to make it compatible with PHP 7.
                The pthreads polyfill and work on a new project called ‘inspector’ are next on the list, with the history behind how inspector started from the concept of serialising functions/closures.
                Finally, we chat about the recent APCu events and additions, highlighting different forms of locking in the process - followed by what interesting topics he wishes to explore in the future.

                Show Links
                • PHP 7 RTM Date
                • Joe Watkins on Twitter: “Coming to a PHP manual near you soon, along with the rest of the documentation for APCu…”
                • Joe Watkins on Twitter: “So… I f’d up, read about it”
                • Musings, ninja ones - APC and Me
                • krakjoe/apcu - GitHub
                • krakjoe/pthreads-polyfill - GitHub
                • krakjoe/uopz - GitHub
                • krakjoe/inspector - GitHub
                • Thread carefully :: madewithlove
                • Hack and HHVM - Async
                • File locking
                • Mutual exclusion
                • Readers–writer lock
                • Spinlock
                • Amp
                • icicleio/icicle - GitHub
                • 1 hr 2 min
                • 77: The History of React and Flux with Dan Abramov

                  On this weeks episode we are lucky to be joined by Dan Abramov, creator of Redux and React Hot Loader (React Transform).

                  We start off the show with his upcoming move to work at Facebook in London, and touch upon how he became interested in programming from a young-age.
                  Following this we discuss his transition from VBA, to C# and then JavaScript - by-way of CoffeeScript and a BackboneJS application he was working on.
                  Issues with the complexity of asynchronous logic and hard-to-reproduce bugs lead him to invest time in exploring React.
                  We then talk about the problem React solves and how its’ pragmatic approach (including escape-hatches) can easily propagate up your code-tree.
                  Successful use of React was followed by exploring Flux and we highlight how it forces data-mutations to follow a strict-cycle.
                  We discuss the history of different Flux implementations and how he went about eventually making his own (Redux) for a recent talk he gave.
                  Finally, we wrap up the show highlighting his work with React Hot Loader and its successor React Transform, along with recommended resources for beginners looking to explore these subjects in more detail.

                  Show Links
                  • Dan Abramov - Twitter
                  • gaearon (Dan Abramov) - GitHub
                  • gaearon/react-hot-loader - GitHub
                  • gaearon/react-transform-boilerplate - GitHub
                  • rackt/redux - GitHub
                  • Dan Abramov - Live React: Hot Reloading with Time Travel - YouTube
                  • Xamarin
                  • Visual Basic for Applications
                  • getify/You-Dont-Know-JS - GitHub
                  • You Don’t Know JS (book series) by Kyle Simpson
                  • C Sharp
                  • Backbone.js
                  • React
                  • rackt/react-router - GitHub
                  • sebmarkbage (Sebastian Markbage) - GitHub
                  • React Native
                  • reactjs/react-art - GitHub
                  • Yomguithereal/react-blessed - GitHub
                  • Flux
                  • CQRS
                  • yahoo/fluxible - GitHub
                  • reflux/refluxjs - GitHub
                  • Flummox
                  • Alt
                  • NuclearJS
                  • Elm
                  • React Fundamentals - EggHead
                  • React: Flux Architecture - EggHead
                  • Thinking in React
                  • My React List
                  • 1 hr 33 min
                  • 76: Let's TalkTalk about Security

                    This week we are very lucky to have Lewis back on the show after his recent move.

                    We discuss what he has been getting up to in his absence and how he is balancing work/life whilst being remote.
                    Following this, we touch upon a reinvigorated passion for software architecture, moving to a framework from bespoke solutions and the middleware pattern.
                    Discussion then turns towards moving from AngularJS to React/Flux and resources Edd has written and found useful whilst learning the subject.
                    Security is the next hot-topic with the recent TalkTalk security breach in question, an interesting pseudo-random number seed issue and SSL/TLS/HTTPS all explained.
                    Finally, we conclude with an update on Mick’s final year project and his work with decision trees.

                    Show Links
                    • HTTP Middleware - Laravel
                    • vue.js
                    • React
                    • Flux
                    • Asynchronous Calls within Flux
                    • mybuilder/task-app - GitHub
                    • React Fundamental Answers - Software Engineering Daily
                    • ReactEurope - YouTube
                    • Dan Abramov - Live React - Hot Reloading with Time Travel
                    • Flow - A static type checker for JavaScript
                    • Add support for oauth2 plugin X-Forwarded-Proto HTTPS override by CyExy - Mashape/kong - GitHub
                    • An example of a decision tree - Does Joanie love Chachi
                    • A guy bought ‘Google.com’ for a minute - Tech Insider
                    • SSL Certificates - Serving secure web content over HTTPS
                    • How HTTPS Secures Connections
                    • Pseudorandom number generator
                    • ircmaxell/RandomLib - GitHub
                    • paragonie/random_compat - GitHub
                    • 56 min
                    • 75: The Shownote Heavy Podcast

                      On this weeks show we start off proceedings with Edd’s experience developing and deploying a JavaScript centric application - mentioning an example application he is currently working on to document use of Flux, React, Webpack and Karma.

                      We then move on to highlight the sites hosting switch to Jekyll and S3, and how we have been able to get download statistics back thanks to S3Stat.
                      Following on from this we discuss configuration formats, how Mick was able to get disconnected by his ISP due to his finial year project and Fraser’s exploration into Ionic.
                      Finally, we wrap up the show touching upon the Natural Computation book Edd is currently reading and a couple of interesting developer related shows available on BBC Radio 4.

                      Show Links
                      • eddmann/task-app - GitHub
                      • Cartesian Product in JavaScript - Edd Mann
                      • Analytics for CloudFront & Amazon S3 - S3stat
                      • The Cheap Bastard Plan - S3stat
                      • Clean Coders
                      • Kong - Open-Source API Management and Microservice Management
                      • Maven
                      • yasserg/crawler4j - GitHub
                      • Gradle
                      • Are you a robot? Introducing “No CAPTCHA reCAPTCHA”
                      • Douglas Crockford - Go To There and Back Again
                      • JanVanRyswyck/awesome-talks - GitHub
                      • The Groovy programming language
                      • sbt - The interactive build tool
                      • Sandi Metz
                      • Sandi Metz - Madam Sandi Tells Your Future
                      • Sandi Metz - Nothing is Something
                      • Sandi Metz - Grit & Determination
                      • Sandi Metz - The Magic Tricks of Testing
                      • Sandi Metz - SOLID Object-Oriented Design
                      • Introducing the Accelerated Mobile Pages Project, for a faster, open mobile web
                      • Accelerated Mobile Pages Project
                      • Ionic - Advanced HTML5 Hybrid Mobile App Framework
                      • Understanding Computation
                      • Functional Geekery Episode 28 - Tom Stuart
                      • CS Book Club
                      • PHP 7 Release Timetable
                      • BBC Radio 4 - Computing Britain
                      • Finding Ada
                      • BBC Four - Calculating Ada: The Countess of Computing
                      • BBC Radio 4 - Codes that Changed the World
                      • 53 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…