GitHub Actions with Enrico Campidoglio
GitHub's CI/CD solution and how it compares to Azure Pipelines, the role of CI in the era of DevOps — and the philosophical differences between cars and carpets.
Going out and meeting the developer community while giving technical talks is something I truly enjoy. Whether it be at a big conference, a user group or at a client, I love sharing knowledge. And the best part is, it goes both ways: with every presentation, I teach something and learn something new myself.
Shows I've been a guest on.
GitHub's CI/CD solution and how it compares to Azure Pipelines, the role of CI in the era of DevOps — and the philosophical differences between cars and carpets.
With Dave Rael on what keeps me going as a programmer and teacher: how I got into teaching, the move from Italy to Sweden, true vs. clean history in Git, and my old Olivetti M24.
Geeking out with Madeleine and Sofia about Git and keyboards: Git's origin story, the Unix philosophy, choosing a workflow that fits your team, and my top three Git tips.
Listen ↗Recorded at NDC London 2014 with Carl and Richard: including relational databases in the Continuous Delivery process — plus a few words about vintage computers.
Listen ↗A panel recorded live at NDC London 2014 on the DevOps culture among .NET developers, with Ben Hall, Peter Mounce and Jeff French.
Listen ↗A selection of my most popular talks from recent years. Where a talk was recorded, there's a link to the video; slides and demo material where available.
How to write DRY tests by leveraging an open source library called AutoFixture. By not repeating the same boilerplate setup code everywhere, your tests will have minimal coupling to your production code — a safety net that still leaves you free to refactor.
What I've learned from working with people who are really good at being productive with Git: the things you can do to make Git more pleasant to work with and improve the way you collaborate with the rest of your team.
How Git works from the ground up: the fundamental concepts and how they're implemented in the object model, then up to the user-facing commands and how to craft a beautiful history without compromising on your workflow.
Using Cake (C# Make) to automate the build of an ASP.NET Core app from start to finish — compile, test, version, package and deploy, all in C#, cross-platform: written on macOS, run on Linux CI, deployed to Azure.
Exactly what Git can do for you that none of the GUI tools ever tell you about: moving chunks of commits between branches in a single command, custom history visualisations and data recovery — all 100% from the command line.
Does creating automated tests inhibit good design? A look at the trade-offs of making code testable, at BDD and Specification by Example, and at the balance between unit, integration and end-to-end tests.
The challenges of continuously deploying a SQL database: packaging and versioning, handling schema changes, migrating data and recovery. What tools do we have, and what strategies stop us banging our heads against the wall?
The social and practical reasons why code reviews aren't as widely adopted as they should be, and the concrete tools and techniques teams can put in place to overcome the most common road blocks.
Applying the Behaviour Driven Development cycle to a feature from top to bottom in a .NET web application, producing tests that read like specifications by focusing on what the system does rather than how it's implemented.
Some of the feedback I've received from people who attended one of my talks.
‘The things Git can do that none of the GUIs ever told you about’ with Enrico was easily the best Techorama session yet!
Really great talk from Enrico at NDC Oslo on Git. First time I've actually understood “low level” git-stuff.
Enrico's Git talks are always brilliant. Highly recommend you check him out.
Want me to speak at your event? I'd love to hear from you.