2026
SaturdayMP Show 104: picoCTF (Small Trouble & Droids 4)
June 23, 2026
SaturdayMP Show 103: HTTP Server in C (Part 1 - Listen is Working)
June 16, 2026
SaturdayMP Show 102: PostCast (Part 15 – Slack Channel Selection)
June 9, 2026
SaturdayMP Show 101: Solved picoCTF No Padding, No Problem Challenge
June 2, 2026
SaturdayMP Show 100: PostCast Part 15 (LinkedIn Company Setup)
May 26, 2026
SaturdayMP Show 99: Custom Ping Client - Part 2
May 26, 2026
SaturdayMP Show #97: PostCast Part 14 (Slack Integration Working)
May 12, 2026
SaturdayMP Show #98: Custom Ping Client
May 12, 2026
SaturdayMP Show 96: PostCast Part 13 (Save Slack Token Using TDD)
May 12, 2026
SaturdayMP Show 95: Passkeys Primer w/ Aaron Yong
April 29, 2026
SaturdayMP Show #94: Debugging Git HTTP 400 curl 22 Error
April 22, 2026
SaturdayMP Show 93: PostCast (Part 12 - Start on Slack API)
April 15, 2026
SaturdayMP Show #92: Local LLM w/ Ollama
April 8, 2026
SaturdayMP Show 91: PostCast (Part 11 - Saving LinkedIn Token)
April 1, 2026
SaturdayMP Show #90: Claude Code Plugin Marketplace
March 25, 2026
SaturdayMP Show 89: PostCast (Part 10 – Integration Tests and Keyring Saving)
March 18, 2026
SaturdayMP Show 88: Getting Started with Consulting
March 11, 2026
SaturdayMP Show 87: Creating PostCast (Part 9 – Figuring Out Testing in Go)
March 4, 2026
SaturdayMP Show 86: Creating PostCast (Part 8 – Investigate Keyring Libraries)
February 26, 2026
SaturdayMP Show 85: Creating PostCast (Part 7 – Prompt for LinkedIn Credentials)
February 18, 2026
SaturdayMP Show 84: Creating PostCast (Part 6 – Create Fyne Main Screen)
February 11, 2026
SaturdayMP Show 83: Creating PostCast (Part 5 – Go PoC for LinkedIn API)
February 4, 2026
SaturdayMP Show 82: Creating PostCast (Part 4 – Figuring out LinkedIn API)
January 28, 2026
SaturdayMP Show 81: Creating PostCast (Part 3 – Creating GitHub Action)
January 21, 2026
SaturdayMP Show 80: Creating PostCast (Part 2 – Testing Fyne Packaging)
January 14, 2026
SaturdayMP Show 79: Creating PostCast (Part 1 – Setting up Go Environment)
January 7, 2026
2025
SaturdayMP Show 78: Advent of Code 2025 (Day 1 - Part 2: Success)
December 18, 2025
Weekly Dev Chat IRL: Advent of Code/Cyber
December 12, 2025
SaturdayMP Show 77: Advent of Code 2025 (Day 1 - Part 2: Failure)
December 10, 2025
SaturdayMP Show 76: Hack the Box - Lock (Part 2 - Both Flags)
December 3, 2025
XPlugins.iOS.BEMCheckBox version 8, 9, and 10 released!
December 1, 2025
SaturdayMP Show 75: Hack the Box - Lock (Part 1, Almost Captured the User Flag)
November 26, 2025
SaturdayMP Show 74: Migrate From Rails to Jekyll (Part 7 or 7)
November 19, 2025
BEMCheckBox v2.2.0 Released!
November 13, 2025
SaturdayMP Show 72: Migrate From Rails to Jekyll (Part 5)
November 5, 2025
SaturdayMP Show 73: Migrate From Rails to Jekyll (Part 6)
November 5, 2025
SaturdayMP Show 71: Migrate From Rails to Jekyll (Part 4)
October 23, 2025
BEMCheckBox v2.1.0 Released!
October 17, 2025
SaturdayMP Show 70: Migrate From Rails to Jekyll Part 3
October 17, 2025
SaturdayMP Show 69: Migrate From Rails to Jekyll (Part 2)
October 8, 2025
SaturdayMP Show 68: Migrate Website From Rails to Jekyll (Part 1)
October 7, 2025
SaturdayMP Show 67: picoCTF (Forbidden Paths & Login)
April 9, 2025
SaturdayMP Show 66: picoCTF Format String 2 (Solved in One Long Video)
February 19, 2025
SaturdayMP Show 65: Something's Rotten at the Gilded Rose: A Python Refactoring Tale
February 5, 2025
SaturdayMP Show 64: picoCTF Format String 3 (Part 1 - Watch me Fail)
January 29, 2025
SaturdayMP Show 63: Advent of Code 2024 Day 12 (Part 3 - Solved!)
January 22, 2025
SaturdayMP Show 62: Advent of Code 2024 Day 12 (Part 2 - Area Calculated)
January 17, 2025
SaturdayMP Show 61: Advent of Code 2024 Day 12 (Part 1 - Python Import Difficulties)
January 8, 2025
2024
SaturdayMP Show 60: Advent of Code 2024 (Day 2)
December 13, 2024
SaturdayMP Show 59: Customize Office Ribbon
December 4, 2024
SaturdayMP Show 58: Human Resource Machine (Duplicate Machine Size Challenge)
November 27, 2024
SaturdayMP Show 57: Something's Rotten at the Gilded Rose: A Refactoring Tale
November 22, 2024
SaturdayMP Show 56: Kali on WSL
November 13, 2024
SaturdayMP Show 55: Migrating from VMWare to Hyper-V
November 8, 2024
SaturdayMP Show 53: Human Resource Machine (Inventory Report)
October 23, 2024
SaturdayMP Show 52: Human Resource Machine (Strings)
October 9, 2024
SaturdayMP Show 51: Cyber Insecurity in the Wild
October 2, 2024
SaturdayMP Show 50: Hack the Box Sherlock (Brutus)
September 25, 2024
SaturdayMP Show 49: picoCTF Gym (Trickster & Cookies)
September 18, 2024
SaturdayMP Show 48: picoCTF Gym (Verify and Getting Stuck on Trickster)
September 11, 2024
SaturdayMP Show 36: picoCTF Gym
March 13, 2024
SaturdayMP Show 35: GitVersion Lighting Talk for EDMUG
March 6, 2024
SaturdayMP Show 34: Upgrade Website from Rails 6 1 to 7 0 Part 6 (Merging & Wrap Up)
February 28, 2024
SaturdayMP Show #33: Upgrading Website from Rails 6.1 to 7.0 Part 5 (Removing Webpack CI Fixes)
February 21, 2024
SaturdayMP Show #32: Upgrading Website from Rails 6.1 to 7.0 Part 4 (Removing Webpack)
February 14, 2024
SaturdayMP Show #31: Human Resource Machine Fibonacci and Three Sort
February 7, 2024
SaturdayMP Show #30: Upgrading Website from Rails 6.1 to 7.0 Part 3 (Testing & Merging)
January 31, 2024
SaturdayMP Show #29: Upgrading Website from Rails 6.1 to 7.0 Part 2: Upgrading Rails
January 24, 2024
SaturdayMP Show #28: Upgrading Website from Rails 6.1 to 7.0 Part 1 - Preparation
January 17, 2024
SaturdayMP Show #27: Chromebook EOL and Human Resource Fibonacci Challenge Attempt 2
January 10, 2024
SaturdayMP Show #26: Human Resource Machine
January 3, 2024
2023
SaturdayMP Show #25: TPS Report Uploader CFT Walkthrough (Vulnerable Blazor Application)
December 27, 2023
SaturdayMP Show #24: Can you use Docker Compose Watch without a Dockerfile?
December 20, 2023
Happy Holidays!
December 19, 2023
SaturdayMP Show #23: Adding Basic Auth to NGINX Passenger Docker (Part 3)
December 15, 2023
SaturdayMP Show #22: Adding Basic Auth to NGINX Passenger Docker (Part 2)
December 4, 2023
SaturdayMP Show #21: Adding Basic Auth to NGINX Passenger Docker (Part 1)
November 29, 2023
SaturdayMP Show #20: Hack the Box - Busqueda Part 3 (Root Flag)
November 22, 2023
Saturday MP Show #19: Comparing Docker Volumes to Docker Compose Watch
November 15, 2023
SaturdayMP Show #18: Hack the Box - Busqueda Part 2 (Reverse Shell)
November 8, 2023
Don't Commit Sensitive Information to the Repository
November 6, 2023
Saturday MP Show #17: Hack the Box - Busqueda (User Flag)
November 2, 2023
Do you Really Need Custom Software?
October 30, 2023
Saturday MP Show #16: Trying out Docker Compose Watch
October 25, 2023
My Takeaway from Talking to Strangers by Malcolm Gladwell
October 23, 2023
Saturday MP Show #15: PR Created for Standard Ruby Linter Bug
October 19, 2023
XPlugins.iOS.BEMCheckBox v3.0.1 Released (.NET 6.0+ Support)!
October 17, 2023
Saturday MP Show #14: Rate Limiting with NGINX and Fail2Ban
October 11, 2023
Saturday MP Show #13: Merge Conflict when trying to create a PR for the Standard Ruby Linter Bug
September 22, 2023
See you at BSides Edmonton 2023
September 22, 2023
Saturday MP Show #12: Refactoring of a System Test While Fixing the Standard Ruby Linter ToDo Bug
September 15, 2023
SaturdayMP Show #11: Refactoring System Tests for the Standard Ruby Linter Todo Bug
August 21, 2023
Saturday MP Show #10: Finally get the System Test Working for the Standard Ruby Linter ToDo Bug
August 17, 2023
XPlugins.iOS.BEMCheckBox v2.0.0 Released!
August 17, 2023
Saturday MP Show #9: Add 1.9 (e.g. almost 2) System Tests for the Standard Ruby Linter ToDo Bug
August 9, 2023
BEMCheckBox v2.0.0 Released!
August 4, 2023
Saturday MP Show #8: Another Failure at Adding System Test for the Standard Ruby Linter ToDo Bug Fix
August 2, 2023
Happy System Administrator Appreciation Day!
July 28, 2023
Saturday MP Show #7: Trying to Add a System Test for the Standard Ruby Linter ToDo Bug Fix
July 26, 2023
NConstraints v1.1.1 Released Now Targets .NET Standard 2.0
July 19, 2023
Saturday MP Show #6: Adding Unit Tests for the Standard Ruby Linter ToDo Bug Fix
July 18, 2023
Saturday MP Show #5: Fixing the Standard (Ruby Linter) Existing ToDo List Bug
July 13, 2023
Saturday MP Show #4: Duplicating the Standard (Ruby Linter) Existing ToDo List Bug
July 7, 2023
Saturday MP Show #3: Filling out the JetBrains Developer Ecosystem Survey 2023
July 2, 2023
Saturday MP Show 2: Struggling to get the RubyMine Debugger Working
June 24, 2023
Saturday MP Show #1: Creating a Docker Development Environment for Standard (Ruby Linter)
June 21, 2023
Today I Learned about Gobuster
April 12, 2023
2022
2021
Back and Forth #7: Secure React Page
September 17, 2021
Back and Forth #6: Add Google Authentication to React App Using Firebase
August 13, 2021
Back and Forth #5: Add a Button to a React App
July 31, 2021
Back and Forth #4: Hosting a React App on Firebase
July 7, 2021
Back and Forth #3: Docker Image for Node React Application
July 1, 2021
Back and Forth #1: Fix a React Bug
June 25, 2021
Back and Forth #2: Vimium
June 25, 2021
SMALL BUSINESS AND THE THREE CONTRACTORS
January 8, 2021
2020
A Ruby-Type Talk featuring Sorbet
October 10, 2020
Today I Learned how to Secure the Delayed Job Page with Spree Users
September 4, 2020
My Takeaway from Reading David and Goliath
August 7, 2020
Generate a Todo List in Standard (Rubocop)
May 11, 2020
A Pleasant Development Environment featuring Docker and Rails
April 3, 2020
A Rails 6 Template and Then Some
January 24, 2020
Today I Learned Altering a SQL Column Removes it's Default Value
January 12, 2020
2019
My Takeaway from Reading Sometimes you Win, Sometimes you Learn
November 29, 2019
Today I Learned About GitHub's Dependabot
June 24, 2019
Notes on Fixing Ubuntu 18.04 VM not Booting
June 18, 2019
Today I Learned How to Setup Azure Pipelines CI
June 17, 2019
Introduction to ORMs for DBAs: Part 8 - Create Game Players CRUD - Part 1
May 27, 2019
My Takeaway from Reading When
May 13, 2019
Thank you for Attending my SQL Saturday 840 Presentation - Create a Time Travelling Database
April 30, 2019
Introduction to ORMs for DBAs: Part 7 - Create GamePlayers Table
January 20, 2019
My Takeaway from Moneyball
January 14, 2019
Today I Learned How to Create a React-Rails App
January 7, 2019
2018
Happy Holidays!
December 23, 2018
Today I Learned how to Generate a ERD for Rails Application
November 18, 2018
Introduction to ORMs for DBAs: Part 6 - Create GamesPlayed Table and CRUD
November 2, 2018
Introduction to ORMs for DBAs: Part 5 - Create GameResultTypes Table and CRUD
September 14, 2018
Today I Learned how to Create Rails Docker Container Without Ruby Installed
July 22, 2018
Introduction to ORMs for DBAs: Part 4 – Create Game CRUD
June 27, 2018
Introduction to ORMs for DBAs: Part 3 – Player CRUD
June 13, 2018
Introduction to ORMs for DBAs: Part 2 – Games Table
May 28, 2018
Introduction to ORMs for DBAs: Part 1 – Create Player Table
May 22, 2018
Introduction to ORMs for DBAs: Part 0 - Setup
May 14, 2018
Today I Learned how to Run SQL Server on a Mac using Docker
April 30, 2018
Chris, have you created that Ruby on Rails 5 project? What Does it Look Like I'm Doing!
March 21, 2018
Today I Learned how to Run SpinRite on a UEIF Motherboard
March 15, 2018
Just Enjoy the Show
February 28, 2018
Today I Learned how to Copy a Putty Key From Windows to a Mac
February 23, 2018
Today I Learned How to Create a Key Pair Using PuTTY
January 29, 2018
Today I Learned how to Install PostgreSQL in Ubuntu
January 25, 2018
Blast from the Past: New Tools Require New Standards
January 20, 2018
Introduction to Object-Relational Mapping for DBAs – Part 3
January 17, 2018
Introduction to Object-Relational Mapping for DBAs – Part 2
January 11, 2018
Introduction to Object-Relational Mapping for DBAs - Part 1
January 5, 2018
2017
XPlugins.iOS.BEMCheckBox 1.4.3 Released
December 22, 2017
Happy Holidays and all the Best in 2018!
December 21, 2017
Today I Learned How to Fix Illegal Characters in Path Error with TeamCity and RealmDB
December 14, 2017
Overlapping Segments Create Space Time Paradoxes
December 12, 2017
Temporal Database Timelines
December 7, 2017
Notes on Fixing Incomplete Bitcode Error in TeamCity Automated Objective-c Builds
December 5, 2017
Family Vacation is Over
November 30, 2017
Closed for Family Vacation
November 7, 2017
Today I Learned The Final Backslash is Important in Apache HTTPS Redirects
November 2, 2017
Degree of Temporalness
October 31, 2017
What is a Temporal Database?
October 27, 2017
Today I Learned How to Create Custom NUnit Constraints – Part 2: Constraint Usage Syntax
October 24, 2017
Today I Learned How to Create Custom NUnit Constraints - Part 1: Creating the Constraint
October 19, 2017
NConstraints Version 1.0.0 Released
October 17, 2017
Today I Learned How to Run NUnit Tests for a .NET Core Project in TeamCity
October 12, 2017
Odds Are you Work for a Small Business
October 11, 2017
Importance of Spouses in Small Businesses
October 4, 2017
My Takeaway from Reading Meatball Sundae
September 27, 2017
Today I Learned How to Lock a Dependency to a Specific Version in Project JSON
September 26, 2017
My Takeaway from Reading Option B
September 22, 2017
Notes: Upgrade NUnit.Xamarin to NUnit 3.8.1
September 21, 2017
PSA: Arduino H Bridge is Sharp and Pointy
September 18, 2017
Today I Learned How to Automate Objective-c Builds in TeamCity
September 15, 2017
First Edmonton .NET Group Talk of the 2017-2018 Season is September 18th
September 13, 2017
Today I Learned How to Install a TeamCity Build Agent on a Mac
September 11, 2017
Edmonton .NET User Group Survey
September 8, 2017
Sabbatical is Over, Looking for Work
September 7, 2017
Thank You Liv
September 5, 2017
Do you Still Need to Compress Pictures?
August 30, 2017
Looking for Speakers for the Edmonton .NET User Group
August 28, 2017
Today I Learned How to Create a Xamarin iOS Binding for Objective-C Libraries - Part 4 The Actual Binding
August 16, 2017
Today I Learned How to Create a Xamarin iOS Binding for Objective-C Libraries - Part 3 Using Sharpie to Create Binding Interface
August 14, 2017
Kids Thinking Outside the Box - Favourite Cheese
August 13, 2017
Today I Learned How to Create a Xamarin iOS Binding for Objective-C Libraries - Part 2 Combining Libraries
August 9, 2017
Today I Learned How to Create a Xamarin iOS Binding for Objective-C Libraries - Part 1 Compiling the Objective-C Library
August 3, 2017
You Can't Just Turn Creativity On Like A Faucet
July 17, 2017
Today I Learned How to Handle Local Notifications in Xamarin on Android
June 21, 2017
Simplify, Simplify...
May 30, 2017
First Beta Release of the Xamarin Notification Plugin (Version 0.3.0-RC2)
May 24, 2017
So Long For Now, Our Original Goal Buddy
April 10, 2017
Stack Overflow Developer Survey 2017
March 29, 2017
Success at last!
March 21, 2017
Today I Learned How To Create Xamarin iOS and Android Unit Tests
March 16, 2017
The Vinyl Cafe - So Long For Now
March 12, 2017
Making Lemonade...
February 11, 2017
Why I'm not a fan of New Year's Resolutions
January 9, 2017
2016
Merry Christmas from Saturday Morning Productions
December 25, 2016
Today I Learned How to Create a Local Notification in Xamarin Android
December 14, 2016
Operation Add Author Profile Pictures (OAAPP)
December 7, 2016
Riding the Dinosaur: The Joys of Old Technology
November 29, 2016
Today I Learned Bait and Switch for .NET PCL's
November 22, 2016
When the going gets tough, the tough have a training montage
November 8, 2016
Today I Learned Xamarin Push Notification Plugins
November 4, 2016
Notes on Converting Mini-Compressor to UWP Application (Trying to at Least)
October 23, 2016
Math is hard.
September 18, 2016
The Olympics versus Accountability
August 26, 2016
What I Learned this Summer - 2016 Edition
July 30, 2016
Push It Real Good - Version Control in Real Life
July 21, 2016
Fixing MSBuild not Exiting
June 22, 2016
What Would Goal Buddy Say - Part II
June 17, 2016
Best Productivity Article
June 6, 2016
What Would Goal Buddy Say?
May 20, 2016
The Scary Sun and Other Things
May 6, 2016
Goals - One Bite at a Time
April 17, 2016
Stats tell you a lot...or do they?
March 1, 2016
Connect to Android Emulator from VirtualBox
February 23, 2016
How Goal Buddy Got Its Name
February 8, 2016
Mini-Compressor and Windows 10 Upgrade
January 28, 2016
Surprises Using Azure
January 22, 2016
2015
Happy New Year from Saturday Morning Productions!
December 30, 2015
Merry Christmas!
December 24, 2015
Mini-Compressor Install Error
December 22, 2015
Migrator 0.9.2 Beta Released
December 7, 2015
We are working on an app!
November 24, 2015
The Smiling Goose
November 10, 2015
Why I Created Migrator
October 27, 2015
Product Release - Migrator
October 20, 2015
BIG Announcement (and Cookie Time)
September 16, 2015
Happy Father's Day
June 21, 2015
Dear Mom...
May 7, 2015
Welcome, Alice!
February 23, 2015
Saturday MP turns 6 – for real!
February 11, 2015
2014
MM - End of the Summer Rainbow
September 8, 2014
Mini-Compressor Monday – Spring Edition continued
June 10, 2014
Mini-Compressor Monday – Spring Edition
May 30, 2014
MM – Heart-shaped Delicacy Edition
February 14, 2014
Saturday MP celebrates its 6th Birthday!
February 11, 2014
MM – More Winter Fun
February 10, 2014
Life in the Basement – Olympic Edition
February 6, 2014
MM – Ringing in the Year of the Horse
January 29, 2014
MM - A warm up tale
January 13, 2014
2014!
January 6, 2014
2013
MM - Holiday Cheer
December 23, 2013
MM – In the Spirit
December 10, 2013
Mini-Gifting (Tips)
December 2, 2013
MM – Compressing Real Estate Part 3 of 3
November 25, 2013
MM – Compressing Real Estate Part 2
November 18, 2013
MM - Remembrance Day
November 11, 2013
MM – Compressing Real Estate
November 5, 2013
Mini-Compressor Monday - Hallowe'en Edition
October 28, 2013
Mini-Compressor Monday: Fall Favourites
October 22, 2013
Mini-Compressor Monday: Thanksgiving Edition
October 14, 2013
Mini-Compressor Monday: Summer Continued
October 7, 2013
What we did this summer – 2013 edition (Mini-Compressor Monday part 1)
October 1, 2013
Mini-Compressor Version 1.4 just Sprouted
June 27, 2013
Two Tips When Doing a Fresh Install of Windows 8
June 9, 2013
‘Tis the Season
April 30, 2013
Get’er Dun
April 6, 2013
Dealing with Microsoft's SmartScreen Filter Part 2: Getting a Code Signing Certificate
March 15, 2013
Working Together – Part 3
February 27, 2013
Dealing with Microsoft's SmartScreen Filter
February 15, 2013
2012
Working Together – Part 2
November 21, 2012
Saturday Mo-rning’s Mo
November 13, 2012
Working Together – Part 1
October 30, 2012
World vs. Non-World
September 15, 2012
What we did this summer (and two discoveries we made)
September 11, 2012
Holy! Noise from the Basement!
June 21, 2012
New Measure of Cha-Ching
May 28, 2012
Part Time Contract Help Wanted
April 13, 2012
Kids Thinking Outside the Box - Bed Comfiness
March 14, 2012
Installing Synergy Update
January 12, 2012
Kids Thinking Outside the Box – Planning
January 4, 2012
2011
Gifting Forward
December 19, 2011
Installing Ruby on Rails 3.1 on Mac OS X 10.6 Notes
December 7, 2011
New Version of Mini-Compressor Released
November 30, 2011
Official Business
November 17, 2011
Blogging, facebooking, tweeting, oh my
November 4, 2011
Developper’s Hours
October 7, 2011
Moving Pains
September 29, 2011
Preferred Methods of Payment
September 15, 2011
Share a Keyboard Between a PC and a MacBook
July 18, 2011
Don't Mix your Static and DHCP Addresses
June 17, 2011
Mini-Compress Weeds
June 8, 2011
Everything is Coming Up Cucumbers
May 21, 2011
Display a Section only on the First Page in a Crystal Report
May 20, 2011
Visual Cut Doesn't Like to Waste Space
May 18, 2011
Mini-Compressor - ing
May 5, 2011
Exhilaration and Hesitation
April 27, 2011
Happy Earth Day
April 22, 2011
Mini-Promotion
April 18, 2011
8 in One Blow
April 15, 2011
Cheque or Credit Card?
April 8, 2011
What to do if Norton Incorrectly Thinks Your Product is Harmful
March 23, 2011
Coming... Later Part 2
March 15, 2011
SQL Server Dependency Query
February 9, 2011
2010
Holiday Cheer
December 11, 2010
Kids Thinking Outside the Box - Who to Invite to Your Birthday?
November 30, 2010
NUnit Error "Attempted to access an unloaded AppDomain"
November 11, 2010
Upgrading Mini-Compressor to .NET 4.0 Notes Addendum
November 4, 2010
Signed up for PayPal Micropayments
October 28, 2010
Extra Memory for my Virtual Machine
October 24, 2010
Coming... Later
September 14, 2010
Upgrading Mini-Compressor to .NET 4.0 Notes
September 9, 2010
New Tools Require New Standards
September 3, 2010
The Taxman
April 15, 2010
SaturdayMP to-do list
April 7, 2010
Starting Any Method in a New Thread Using .NET
April 2, 2010
Use Fun Addresses when Demoing your Software
March 25, 2010
Another Basement Dweller?
March 17, 2010
Save Your Envrionment
March 9, 2010
Building for Both 32 and 64 Bit Architectures
February 25, 2010