Tags
The importance of good unit tests and test reviews
Learn how to write good unit tests in .NET.
Visual Studio Snippets for Unit Test Methods
Use Visual Studio code snippets to quickly scaffold your unit test methods.
Presentations for Programmers
Tools and tips how to create great presentations for programmers.
Sitecore Introduction for Developers
A beginner-friendly introduction to Sitecore for developers, sharing a TechTalk presentation built with reveal.js that explains what the Sitecore CMS is.
Visual Studio Snippet for Extension Methods
A reusable Visual Studio code snippet for quickly generating C# extension methods, helping .NET developers cut down on repetitive boilerplate code.
Lazy Programmers User Code Snippets
How lazy programmers stay efficient by mastering Visual Studio code snippets, with a handy list of built-in C# shortcuts and tips for writing your own.
Sitecore MVP Summit, Dev Podcasts and Newsletter
Notes from the first global Sitecore MVP Summit in Miami, plus recommended .NET development podcasts and Sitecore newsletters worth following.
Sitecore Symposium 2014 - Keynote Session (photo impression)
A photo impression of the Sitecore Symposium 2014 keynote in Barcelona, where CEO Michael Seifert showcased Sitecore 8 and the power of digital experiences.
Sitecore MVP Summit Cocktail Workshop (photo impression)
A photo impression of the Sitecore MVP Summit in Barcelona, featuring a cocktail making workshop at Dry Martini The Academy and dinner at Speakeasy.
Isolating calls to Sitecore.Context for improved unit testability - Part I: ItemProvider, Moq and FakeDb
Part 1 of a guide to writing testable Sitecore code by isolating Sitecore.Context calls behind an ItemProvider and unit testing with Moq and Sitecore.FakeDb.
Isolating calls to Sitecore.Context for improved unit testability - Part II: ItemAdapter
Part 2 of isolating Sitecore.Context calls, using an ItemAdapter to wrap Sitecore items for leaner, faster unit tests with Moq and dependency injection.
Moving my blog - I ❤️ Github & Markdown
How I moved my blog to GitHub Pages using Jekyll, Liquid templates, Markdown and Skeleton for a simple, version-controlled blogging workflow.
Choosing communication tools for distributed teams
Comparing communication tools for distributed teams, including Slack, Yammer, Skype, Office365 and Google Hangouts, to pick the right one per task.
Ruling the continuous integration seas with Sitecore.Ship - Part 1
An introduction to Sitecore.Ship, a lightweight module for installing Sitecore packages over HTTP to automate item deployment in continuous integration.
Ruling the continuous integration seas with Sitecore.Ship - Part 2: fileupload
Automating Sitecore package deployment with Sitecore.Ship, using Postman, cURL and PowerShell to upload and install packages in continuous integration.
Sitecore investigation: Errors installing a content package with item buckets
Investigating a Sitecore index error when installing content packages with item buckets, and how enabling the RemoveEmptyBucketFolders agent fixes it.
Workflow Management SPE Module
A custom Sitecore PowerShell Extensions module that bulk updates the workflow and workflow state fields on existing content items in Sitecore.
Improving unit test readability: helper methods & named arguments
Improving C# unit test readability with helper methods and named arguments, using xUnit, AutoFixture, FakeItEasy and FluentAssertions for leaner tests.
Blog upgrade: Post excerpts, microformats and improving performance
Upgrading a Jekyll blog with post excerpts, BlogPosting schema.org microformats and a CloudFlare CDN to improve content structure, SEO and performance.
Hands-on with Sitecore Helix: Using PowerShell to add a new module
Automating Sitecore Helix module creation with a PowerShell script that uses Visual Studio DTE and the NuGet Package Manager Console to add projects.
Hands-on with Sitecore Helix: Anatomy of the Add-HelixModule.ps1 PowerShell script
A detailed walkthrough of the Add-HelixModule PowerShell script, explaining how it scaffolds Sitecore Helix Feature and Foundation modules using DTE.
Hands-on with Sitecore Helix: Setting up automated build and packaging for continuous delivery
Set up automated build and packaging for a Sitecore Helix solution using Bamboo, OctoPack and NuGet to enable continuous delivery with Octopus Deploy.
Hands-on with Sitecore Helix: Continuous Delivery with Octopus Deploy
Configure automated deployment of a Sitecore Helix project with Octopus Deploy, covering deployment processes, PowerShell steps, releases and NuGet packaging.
Installing the Python Azure SDK on a Raspberry Pi Zero
Install the Python Azure SDK on a Raspberry Pi Zero running Raspbian, including fixing common pip errors with missing libffi and libssl dependencies.
Getting started with Serverless Architectures using Azure Functions
Get started with serverless architectures using Azure Functions, with slides and a queue-triggered demo from a TechDays 2017 conference session.
Azure Durable Functions - Stateful function orchestrations (part 1)
An introduction to Azure Durable Functions for building stateful, long-running orchestrations, covering the orchestration client, context and getting set up in C#.
Azure Durable Functions - Stateful function orchestrations (part 2)
A walkthrough of running Azure Durable Functions locally, triggering the HttpStart and HelloWorld orchestrations with Postman and inspecting state in Azure Storage.
Durable Functions on YouTube (part 1)
A video introduction to Azure Durable Functions with a basic Hello World example showing how to use the OrchestrationClient and DurableOrchestrationContext.
Azure Functions Tips: Grouping Functions into Function Apps
Guidelines for grouping Azure Functions into Function Apps, weighing single responsibility, workload distribution, DevOps and resilience for serverless design.
Durable Functions on YouTube (part 2) - Eternal orchestrations & external events
Part two of the Azure Durable Functions video series, explaining eternal function orchestrations and how to handle external events in a stateful workflow.
Durable Functions on YouTube (part 3) - The Function Chaining Pattern
Part 3 of the Durable Functions video series explains the function chaining pattern for building sequential serverless workflows in Azure Functions.
Durable Functions - The Anatomy of Function Naming
Two type-safe ways to name Azure Durable Functions without magic strings, using static constant classes or the C# nameof expression for safer refactoring.
Discovering the Durable Functions API - Starting orchestrations (DurableOrchestrationClient part 1)
Discover the Durable Functions API by exploring DurableOrchestrationClient methods to start new Azure Functions orchestrations and wait for their completion.
Discovering the Durable Functions API - Retrieving the orchestration status (DurableOrchestrationClient part 2)
Part 2 of the Durable Functions API series covers DurableOrchestrationClient methods for retrieving the status of single and multiple Azure orchestration instances.
Creating the Azure Functions Updates Twitterbot
How to build a Twitterbot with Azure Durable Functions that tracks new Azure Functions releases via the GitHub API and posts updates using Table Storage and Tweetinvi.
Discovering the Durable Functions API - Purge & Terminate Orchestrations (DurableOrchestrationClient part 3)
Part 3 of the Durable Functions API series explains how to purge orchestration instance history from table storage and terminate running Azure orchestrations.
My learnings from running the Azure Functions Updates Twitterbot for half a year
Lessons from running an Azure Durable Functions Twitterbot for six months, covering resiliency and retries, monitoring and alerts, performance, and cost analysis.
Discovering the Durable Functions API - Human Interaction (DurableOrchestrationClient part 4)
Part 4 of the Durable Functions API series covers the Human Interaction pattern, showing how to raise events from the client and wait for them in the orchestrator.
Live streaming the meetups and conference for ServerlessDays Amsterdam - Part 1
How we set up live streaming for ServerlessDays Amsterdam using OBS, an Azure GPU virtual machine, NVENC hardware encoding, and an Elgato Stream Deck.
ServerlessDays Amsterdam, a personal post-mortem
A personal post-mortem of running the technical streaming setup for the virtual ServerlessDays Amsterdam conference, with lessons learned from OBS, Skype, and NDI.
My MSBuild 2020 experience: serverless, community & creativity
A recap of my MSBuild 2020 experience, from a serverless APIs panel and community session to creative contributions like 8-bit pixel art and a MakeCode retro game.
Durable Functions API - Writing Safe Orchestrations
Part 5 of the Durable Functions API series explores the Durable Task Analyzer, a Roslyn analyzer that helps you write deterministic, replay-safe orchestrator code.
Azure Functions University - HTTP Lesson (.NET Core)
An Azure Functions University lesson teaching how to use the HTTP trigger in Azure Functions with .NET Core 3.1, including GET and POST requests and custom routes.
Azure Functions University - Blob Lesson (.NET Core)
An Azure Functions University lesson on using Blob triggers and input and output bindings in Azure Functions with .NET Core 3.1, plus the Azure Storage Explorer.
How I Got Started With Creative Coding
My journey into creative coding, from fractals and photography to Processing sketches, PICO-8 retro game development, and hand-drawn 8-bit pixel avatars.
Azure Functions University - Queue Lesson (.NET Core)
An Azure Functions University lesson on using Queue triggers and input and output bindings in Azure Functions with .NET Core 3.1, plus the Azure Storage Explorer.
Azure Functions University - Deployment Lesson (.NET Core)
An Azure Functions University lesson on deploying Azure Functions built with .NET Core 3.1, using VSCode, the Azure CLI, the Functions CLI, and GitHub Actions.
Azure Functions University - Table Lesson (.NET Core)
Learn how to use Azure Table storage output and input bindings in Azure Functions with .NET Core, covering TableEntity, IAsyncCollector and CloudTable.
Azure Functions University - CosmosDB Lesson (.NET Core)
Learn how to use Azure Cosmos DB triggers and bindings in .NET Core Azure Functions, including the emulator, Key Vault and dependency injection.
Azure Functions University - Durable Functions Introduction & Chaining (TypeScript)
Get started with Durable Functions in TypeScript Azure Functions, learning function chaining, orchestrations, retries and the circuit breaker pattern.
Azure Functions University - Configuration Lesson (.NET Core)
Learn how to manage configuration and app settings in .NET Core Azure Functions, using the Azure CLI and the App Configuration service.
Azure Functions University - HTTP Lesson (TypeScript)
Learn how to build HTTP triggered Azure Functions in TypeScript, handling GET and POST requests and creating new functions from scratch.
Creating Azure Functions University, an open source educational project
The story behind Azure Functions University, a free open source project teaching serverless Azure Functions through GitHub lessons and YouTube videos.
Azure Functions University - HTTP Lesson (PowerShell)
Learn how to build HTTP triggered Azure Functions in PowerShell, handling GET and POST requests, custom routes and request parameters.
Azure Functions University - Lesson Tips
Tips for getting started with Azure Functions University, covering the YouTube playlists, GitHub repo, VSCode workspaces and CodeTour.
Azure Functions University - Blob Lesson (TypeScript)
Learn how to use Azure Blob storage triggers and bindings in TypeScript Azure Functions, including binding expressions and the Blob storage SDK.
Azure Functions University - HTTP Lesson (PowerShell via Portal)
Learn how to build HTTP triggered PowerShell Azure Functions directly in the Azure Portal, handling GET and POST requests and custom routes.
Azure Functions University - HTTP Lesson (Python)
Learn how to build HTTP triggered Azure Functions in Python, handling GET and POST requests and creating new functions from scratch.
Azure Functions University - HTTP Lesson (.NET 6)
Learn to build HTTP-triggered Azure Functions in .NET 6, handling GET and POST requests with string and JSON data, custom routes, and responses.
Azure Functions University - Calling third-party REST APIs (.NET 6)
Learn how to call third-party REST APIs from Azure Functions in .NET 6 using Refit, defining typed API clients and adding custom parameters.
Azure Functions University - Durable Functions Advanced Patterns (TypeScript)
Explore advanced Durable Functions patterns in TypeScript, including fan-out/fan-in, sub-orchestration, and external events for human interaction.
Azure Functions University - Deployment Lesson (.NET 6)
Learn how to deploy Azure Functions in .NET 6 using VSCode, the Azure CLI, the Functions CLI, and GitHub Actions, plus the Azure resources involved.
One year at Ably as a Developer Advocate
Reflections after one year as a Developer Advocate at Ably, covering real-time demos, developer tooling, conference talks, roadmaps, and DevRel lessons.
Be ready for failure on stage: introducing the Speaker Buddy System
Be prepared for technical failures on stage with the Speaker Buddy System, plus tips on backup laptops, cloud storage, and cloud coding environments.
Cloud Native Weekly Episode 5: Dapr
Recap of guesting on Cloud Native Weekly Episode 5, a YouTube live show, discussing Dapr, the Distributed Application Runtime, and cloud native trends.
Live stream with Gregor Suttie
A live stream with Azure MVP Gregor Suttie demonstrating Dapr, including the State Management API, resiliency, and Dapr Workflow in action.
Attending DevRelCon London 2023
Reflections on attending DevRelCon London 2023, designing the conference logo, and connecting with the Developer Relations community.
Speaking at the Tweakers Developers Summit 2023
A recap of speaking at the Tweakers Developers Summit 2023 in Utrecht, covering how Dapr speeds up distributed systems development with building block APIs.
MC-ing at MSBuild The Netherlands
Behind the scenes of MC-ing at MSBuild Netherlands, Microsoft's local flagship developer conference featuring Azure, GitHub, AI, and Security sessions.
Speaking at DotNetFriday about Dapr Workflow
A recap of speaking at DotNetFriday about orchestrating business logic with Dapr Workflow, including demos, slides, and a GitHub repo.
Sponsoring Techorama NL and (re-)connecting with the community ❤️
Sponsoring Techorama NL 2023 for Diagrid, talking to developers about Dapr, and building a giant Lego microservices application at the booth.
Speaking at 4CEE Tech Talk about Dapr
A recap of giving a Dapr intro tech talk at the 4CEE meetup in Ede, demonstrating service invocation, pub/sub messaging, and state management.
Stop adding business value and become an artist with your IT skills
An ignite talk at DevOpsDays Eindhoven on creative coding, exploring how to use your IT skills as an artist with tools like P5js and The Coding Train.
Speaking at NDC Porto about Dapr workflow
A recap of speaking at NDC Porto 2023 about orchestrating business logic reliably with Dapr Workflow as code, plus slides and demo source on GitHub.
Speaking at Swetugg Göteborg
A recap of speaking at Swetugg Goteborg 2023, giving two Dapr sessions on building block APIs and orchestrating business logic with workflow as code.
Speaking at BuildStuff 2023
A recap of speaking at BuildStuff 2023 in Vilnius about orchestrating business logic reliably with Dapr Workflow as code, with slides and demos.
Speaking at Cloudbrew 2023
A recap of speaking at Cloudbrew 2023 in Mechelen about building distributed applications with Dapr Actors, including slides and demos on GitHub.
Participating in Festive Tech Calendar 2023
Participating in Festive Tech Calendar 2023 with a Christmas-themed session on how Santa orchestrates the elves using Dapr Workflow patterns in .NET.
Azure Community Enthusiasts: Dapr
Recap of my guest session on Dapr, the Distributed Application Runtime, at the Azure Community Enthusiasts live YouTube show, with a video recording.
Speaking at Swetugg Stockholm 2024
My Swetugg Stockholm 2024 session on serverless Dapr, covering Dapr deployment models and a demo of Diagrid Catalyst for communication, data, and workflow.
Organizing Dapr Day 2024
Recap of organizing and MC-ing Dapr Day 2024, an online conference on the Dapr APIs for building distributed applications and running them in production.
KubeCon Paris 2024
My experience at KubeCon Europe 2024 in Paris, including my first KubeCon lightning talk on Dapr and running the Diagrid booth with a retro Dapr game.
Creating the Dapr game
How I built a retro Dapr game in Pico8 to teach newcomers about Dapr, first shown at KubeCon Paris and now playable online at itch.io.
Speaking at FutureTech 2024 about Dapr Actors
My FutureTech 2024 session in Utrecht on Dapr Actors, building distributed and concurrent applications with the Actor Model using the Dapr APIs.
Speaking at dotnet2024 about Dapr Resiliency & Durable Execution
My dotnet2024 session in Madrid on Dapr resiliency and durable execution, presented entirely from VSCode using the CodeTour extension for slides and demos.
MC-ing at Azure & AI Lowlands 2024
My experience MC-ing the 80s-themed Azure and AI Lowlands 2024 conference in Utrecht, sharing what makes hosting a tech conference room so enjoyable.
Speaking at Copenhagen Developers Festival 2024
My Copenhagen Developers Festival 2024 session on durable execution with Dapr, demonstrating Dapr Workflow patterns and resiliency policies.
Speaking at ContainerDays 2024
My ContainerDays 2024 session introducing the Dapr OSS project, with demos of service invocation, state management, pub/sub, and built-in resiliency.
Sponsoring Techorama NL 2024
Recap of Diagrid sponsoring the fun fair themed Techorama Netherlands 2024, featuring a pixelart Dapr sidecar photo booth and the retro Dapr game.
Organizing and co-hosting Dapr Day - Dapr's 5th anniversary
Behind the scenes of organizing and co-hosting Dapr Day for the Dapr projects 5th anniversary with the CNCF, plus links to all session recordings.
Event sponsor checklist
A practical checklist for sponsoring a tech conference booth, covering everything to do before, during, and after the event, plus a Know Before You Go doc.
Speaking at CloudBrew 2024
My CloudBrew 2024 session in Belgium on durable execution with Dapr, presented using the DemoTime VSCode extension to drive slides, code, and demos.
Changing my website tech stack (again)
Why I rebuilt my website on Eleventy with the Eleventy Excellent template, plus lessons on choosing a static site generator and migrating content.
Speaking at the .NET Amsterdam Meetup
Recap of a Dapr-themed .NET Amsterdam Meetup at JetBrains, with a Dapr introduction, building blocks, resiliency demos, and .NET Aspire integration.
Speaking at Bitbash 2025
Speaking at Bitbash 2025 in the Netherlands about durable execution with Dapr Workflow, presented from VSCode using the DemoTime extension.
Speaking at FutureTech 2025
Recap of speaking at FutureTech 2025 in the Netherlands about durable execution with Dapr Workflow, with live demos run from VSCode using DemoTime.
Speaking at KubeCon Europe 2025
Recap of KubeCon Europe 2025 in London: running the Dapr project kiosk and giving two sessions on durable execution with Dapr Workflow.
Giving a Dapr Agents workshop at Pyladies Amsterdam
Recap of a hands-on Dapr Agents workshop for the PyLadies Amsterdam community, hosted at JetBrains, building AI agents with the Dapr Agents quickstarts.
Supercharge your technical presentations with DemoTime
How to deliver stress-free technical presentations from inside VSCode with DemoTime, mixing markdown slides, code, and scripted live demos.
Speaking at NDC Copenhagen 2025
Recap of NDC Copenhagen 2025, with an async messaging deep dive into Dapr pub/sub, presented from VSCode using DemoTime and audience polls via EngageTime.
Giving a workshop at PyData Amsterdam 2025
Recap of a Dapr Agents workshop at PyData Amsterdam 2025, building AI applications with the Dapr Agents quickstarts and lessons learned for large groups.
Speaking at the .NET Copenhagen Meetup 2025
Recap of a Dapr-focused .NET Copenhagen Meetup, with a session on Dapr Workflow and resiliency presented from VSCode using DemoTime and EngageTime polls.
Speaking at HeapCon 2025
Recap of speaking at HeapCon 2025 in Belgrade about building distributed applications with ease using Dapr building block APIs.
Speaking at NDC London 2026
Recap of NDC London 2026, exploring why reliable agentic systems need durable execution, using Dapr Workflow, the Dapr Conversation API, and Ollama.
Speaking at Container Days London 2026
Recap of Container Days London 2026, on decoupling application code from infrastructure with Dapr, including Dapr Workflow and the Diagrid Dev Dashboard.
Speaking at FutureTech 2026
Recap of FutureTech 2026, orchestrating microservices with Dapr Workflow to sequence live synthesizer music via Web MIDI in a durable execution demo.
Managing the Dapr Project Kiosk at KubeCon Europe 2026
Recap of managing the Dapr project kiosk at KubeCon Europe 2026, with strong community interest, the Dapr Agents GA, and many great conversations.
Speaking at Techorama Belgium 2026
Recap of Techorama Belgium 2026, performing live hardware synthesizer music sequenced by Dapr Workflow to show how it orchestrates microservices.
Speaking at Update Conference Krakow 2026
Recap of Update Conference Krakow 2026, building reliable agentic AI systems with Dapr Workflow and the LLM Conversation API using durable execution.
Speaking at DevSum 2026
Recap of DevSum 2026 in Stockholm, comparing open-source workflow-as-code platforms Cadence, Temporal, Conductor, Dapr Workflow, and Restate.
What is publiccode.yml?
Exploring the publiccode.yml standard that helps public administrations make their software discoverable and reusable.
