DDD South West 10

DDD South West returned for its 10th event a few weeks ago. With it came a few new organisers, plus a brand new venue which was great. I took the opportunity to have a long weekend in Bristol, a city that I always enjoy visiting.

The Source Code Generation Game

by Steve Collins Website Twitter

The Source Code Generation Game by Steve Collins

Exploring Minimal .Net

by Kevin Smith Website Twitter

Exploring Minimal .Net by Kevin Smith

Data Scientisis: Making Shit Up Since 1974

by Gary Short Website Twitter

Data Scientisis: Making Shit Up Since 1974  by Gary Short

Why Premature Optimisation Is The Root Of All Evil

by Craig Jones

Why Premature Optimisation Is The Root Of All Evil by Craig Jones

Let’s Stop Blaming Our Users For Getting Hacked When It Is Our Problem To Solve

by Scott Brady Website Twitter Slides Video

Let's Stop Blaming Our Users For Getting Hacked When It Is Our Problem To Solve by Scott Brady


NDC London 2022

After a hiatus of over two years due to the pandemic, NDC London returned this week to an in-person conference. After attending many virtual user groups, conferences, and training courses, it was great to meet up again with friends I’ve got to know through attending conferences over the years (and also a few former work colleagues as an unexpected bonus). The conference itself didn’t feel any different from the previous NDC London events I’ve attended, with a great venue, lots of interesting talks, and some excellent hospitality laid on by the organisers.

Here are the sketchnotes that I made for the talks that I attended.

The Last Twenty Years Of Software Development

by Richard Campbell Twitter

The Last Twenty Years Of Software Development by Richard Campbell

Richard went over the history of the past twenty years of software development, demonstrating how both technology and the big companies have changed in that time period. What was notable was the acceleratation in the pace of change in technology over the latter half of the timeframe.

The Curious Incident In Your Software In The Daytime

by Liam Westley Website Twitter

The Curious Incident In Your Software In The Daytime by Liam Westley

Liam discussed how to deal with incidents that happen with your software. He covered the kind of things that you should consider having in place to deal win an incident, and showed some example incidents and how they were dealt with. One thing that stood out from the examples was that having extensive detailed logging helps to inform about what has happened, and what data is affected. He also discussed points of failure that many people wouldn’t even consider, such as Slack being down or maxing out a credit card that is needed to pay for more resources.

The Untruthful Art - Five Ways Of Misrepresenting Data

by Alexander Arvidsson Website Twitter

The Untruthful Art - Five Ways Of Misrepresenting Data by Alexander Arvidsson

Alexander used many humourous examples to demonstrate how data can be displayed, or even manipulated, to give an incorrect representation. He also stressed the importance of considering any agenda that the author may have when creating the visualisations.

Wearable Live Captions

by Jo Franchetti Twitter Slides Code

Wearable Live Captions by Jo Franchetti

Jo demonstrated her live captioning face mask - a wearable face mask that she built to enable her deaf mother to read what she was saying while looking at her. Traditional captioning technology relies on reading what the speaker is saying from the phone screen, making it diffuclt to look at someone when they are speaking. This is different in that the phone uses Azure Cognitive Services to convert the speech to text, and then sends the text to and LED panel in the face mask via bluetooth.

The Visible Developer

by Heather Downing Website Twitter Slides

The Visible Developer by Heather Downing

This talk was all about having a “developer brand”. Life isn’t fair, and it isn’t sufficient to work hard and be a good developer. If you do only that, you will not get recognition for your achievements. Heather encouraged people to make sure that other people know what you have done, and talked about several ways of doing this.

Roslyn Source Generators

by Stefan Pölz Twitter Slides Video

Roslyn Source Generators by Stefan Pölz

Stefan went through several uses for Roslyn source generators, and how to use them.

How The Fastest Growing Companies Develop Their Public API

by Josh Twist Twitter

How The Fastest Growing Companies Develop Their Public API by Josh Twist

This talk was about making a public API on the web. Josh covered several of the key things that need to be considered when making a public API, and presented some possible solutions. One common solution for all of the considerations was an API gateway. He then demoed the Zuplo API gateway, something that Josh created after working at companies like Microsoft, Facebook, and Stripe.

Design For Developers

by Lex Lofthouse Website Twitter Slides Video

Design For Developers by Lex Lofthouse

Lex covered several of the core design principles and theories for presenting content, with lots of resources to draw from for example content.

Tracking Database Changes With Apache Kafka

by Francesco Tisiot Website Twitter Slides

Tracking Database Changes With Apache Kafka by Francesco Tisiot

This talk covered how Apache Kafka can be used to track changes to a relational database. Francesco used a worked exampled to decouple a production transactional database from other potential uses such as data analysis and reporting, using Kafka log streaming to synchronise the data into a separate data store. He then introduced Debezium to track changes to a database without the need for polling.

Failure Is Always An Option

by Dylan Beattie Website Twitter

Failure Is Always An Option by Dylan Beattie

Dylan using the famous “failure is not an option” quote from Apollo 13 as inspiratino to highlight how we should always consider failure as an option in software systems, with examples from history of how failure modes were anticipated and came to be needed later.

Nevermind The Containers

by Rob Conery Website Twitter Code

Nevermind The Containers by Rob Conery

This talk was centred around the Remote Containers Visual Studio Code extension from Microsoft. This extension allows the configuration of a development environment using a devcontainer.json file, which when run with the extension spins up a Docker container with VS Code running inside it, with the UI running on the host machine. Rob did a very slick demo of how to set it up and use it using his Ruby-based blog as an example.

Fractal Architecture

by Mark Seemann Website Twitter

Fractal Architecture by Mark Seemann

Mark talked through his latest thinking on developing easy to maintain code, which he has captured in his latest book. Using theroies about the human memory and its limitations, he introduced the concept of a “hex flower” to represent the 7 elements that fit in your head when reading code. By breaking code down into small enough parts to fit into these shapes, it allows a software system to be seen as being composed of hierarchies of these systems that fit together to abstract behaviour.

Software Lessons From Aviation Disasters

by Adele Carpenter Twitter Slides

Software Lessons From Aviation Disasters by Adele Carpenter

Adele talked through two examples of flights that went wrong, and linked them to their underlying causes. She compared these to the world of software as things to look out for.

Team Topologies, Software Architecture And Complexity Science

by James Lewis Twitter Video

Team Topologies, Software Architecture And Complexity Science by James Lewis

James talked about how most software companies get slower as they grow due to an ever-increasing number of processes and levels of hierarchy, and compared them to Amazon who are quoted as saying “the bigger we get, the easier it becomes to get bigger”. He then went through some of the reasons as to why Amazon can achieve this, with analogies drawn from city planning and biology.

Marvels Of Teenage Engineering

by Anders Norås Website Twitter

Marvels Of Teenage Engineering by Anders Norås

Anders took a nostalgic look back through development over the past forty years to highlight how the early developers honed their skills, and how seeming impossible things were achieved through perserverance and experimentation. He then lamented about how that is no longer the case as modern developers typically start coding much later in life, and don’t hone the curiosity that they would have if they were to start younger.

I’m Gonna Make You Stop Hating CSS

by Lemon Website Twitter Slides

I'm Gonna Make You Stop Hating CSS by Lemon

Lemon showed some things that CSS does poorly, such as the CSS is awesome meme, how people tend to fix them, and how to fix them in very simple ways, some of which required only a single line of CSS.

How To Close The Diversity Gap

by Heather Wilde Website Twitter

How To Close The Diversity Gap by Heather Wilde

Heather talked about the diversity gap in the majority of tech companies, and some of the things that can be done to reduce it. She used many examples from the WeCrashed and Super Pumped Tv series to demonstrate the issues.

ASP.NET Core Beyond The Basics

by Chris Klug Website Twitter Code

Chris did a talk consisting of 100% code (hence the lack of a sketchnote), showing how to do some of the more advanced things with ASP.NET Core. These included:

He also used the Insomnia API client during his demos, which looked like a more lightweight version of Postman.


Finding wifi passwords for saved networks

Occasionally I need to find the password for a wifi connection that I have previously connected to. Navigating the maze of dialogs to find it is never easy, especially when the path to those dialogs changes frequently in Windows 10.

One way to do it is to find the network via the Windows Control Panel (Control Panel -> Network and Internet -> Network and Sharing Centre). Once found, clicking on the connection properties will open the Wi-Fi Status panel:

Status of a wifi connection

Clicking on the Wireless Properties button and then selecting the Security tab will show the wifi password:

Security properties of a wifi connection

This method works, but involves a lot of clicking through screens. Also, it requires starting at the legacy Control Panel, which is gradually being replaced with the new Settings app. Instead, all of this information and more can be accessed via the command line using the netsh command.

To get the password for a wifi network, run the command:

netsh wlan show profile WifiName key=clear

You can also use this command to see the list of every saved network that your device has connected to:

netsh wlan show profile

DDD North 9

I’ve just got back from DDD North 9, held for second time in Hull. As is always the case with DDD events, there was a great community feel at the conference. Here are the sketchnotes I made in the talks I attended.

.Net Core 3 With A Raspberry Pi

by Pete Gallagher Website Twitter Slides Video

.Net Core 3 With A Raspberry Pi by Pete Gallagher

Blazor - The Future Of Frontend Is Here

by Chris Sainty Website Twitter Slides

Blazor - The Future Of Frontend Is Here by Chris Sainty

.Net Configuration Is Easy…Right?

by Steve Collins Website Twitter Slides Video Code

.Net Configuration Is Easy...Right? by Steve Collins

50 Ways To Show Your Data

by Thomas Hütter Website Twitter Slides Code

50 Ways To Show Your Data by Thomas Hütter

Kubernetes On Raspberry Pi

by Chris Wraith Twitter Slides

Kubernetes On Raspberry Pi by Chris Wraith


NDC London 2020

A few weeks ago I attended NDC London. As I’ve done in the past, I attended as part of the NDC crew. I didn’t manage to sketchnote every talk I attended, mainly because I was in the larger rooms as part of the crew schedule and was working the camera a lot of the time. Here are the sketchnotes that I did make:

Capability Mapping

by Ian Cooper Website Twitter Slides Video

Capability Mapping by Ian Cooper

Controlling Wildfires While Only Getting Singed

by Jessica White Website Twitter Slides Video

Controlling Wildfires While Only Getting Singed by Jessica White

An Introduction To Machine Learning Using Lego

by Jeppe Tornfeldt Sørensen Video Code Video

An Introduction To Machine Learning Using Lego by Jeppe Tornfeldt Sørensen

Modernising The Enterprise Desktop Application

by Oren Novotny Website Twitter Video

Modernising The Enterprise Desktop Application by Oren Novotny

Rip It Up And Start Again

by Sam Newman Website Twitter Slides Video

Rip It Up And Start Again by Sam Newman

A Developer’s Introduction To Electronics

by Guy Royse Website Twitter Video Code

A Developer's Introduction To Electronics by Guy Royse

3D Printed Bionic Hand, A Little IoT, And A Xamarin Mobile App

by Clifford Agius Twitter Video

3D Printed Bionic Hand, A Little IoT, And A Xamarin Mobile App by Clifford Agius

Keep It Clean - Why Bad Data Ruins Projects And How To Fix It

by Philip Winder Website Twitter Slides Video

Keep It Clean - Why Bad Data Ruins Projects And How To Fix It by Philip Winder

Shrink The Web

by Lemon Website Twitter Video

Shrink The Web by Lemon

Common API Security Pitfalls

by Philippe De Ryck Website Twitter Slides Video

Common API Security Pitfalls by Philippe De Ryck

Drinking A River Of Data With Akka.Net

by Hannes Lowette Twitter Video

Drinking A River Of Data With Akka.Net by Hannes Lowette