In todays post: Enforcing the Liskov Substitution Principle, C# language versioning, reminders for better meetings, making money from 2FA, the Curta mechanical keyboard, and Crypto 101.

Sharpen the Saw used to be an email newsletter of information I published for the professional development of software developers. Now it’s a series of blog posts. While targeted primarily at developers working with the Microsoft technology stack, content covers a wider range of topics.


Always a way to improve the code you write every day.

The LSP  —  and why you might want to enforce it

Of the five SOLID principles, the Liskov Substitution Principle is perhaps the most obtuse. Many explanations of the LSP make it sound terribly complicated, partly because of the way it was originally formulated by Professor Barbara Liskov in her 1987 conference keynote. The explanation by James Ellis-Hones in this article is relatively good.

Read More

Update 4 November 2019: The link above seems to be lacking in content, here’s an alternative link.

Software & Updates

A new or upgraded tool can be a beautiful thing.

An update to C# versions and C# tooling

As the .NET ecosystem evolves and the C# language starts iterating much faster than Visual Studio, it’s time for some changes to the way that Visual Studio projects target C#. In particular, there’s a need to be able to target the latest release version of the language without also targeting any pre-release versions you might have available. In this post, the .NET team show how to do this.

Read more

Being Professional

A great developer does more than just write great code.

How a few simple reminders inspire better meetings

Regardless of the meeting culture at your workplace, I think we can all agree that a badly run meeting can be a complete waste of time. Here are five tips from the folks behind Trello that can help you run better meetings.

Read more


Staying safe online and writing secure systems are both harder than we think.

Making money by abusing phone-based 2FA

Proving that carefully thinking through the positive cases is not enough, here’s a security researcher who worked out how to slowly siphon cash from Facebook, Microsoft, and Google by using two factor authentication.

Read more


Sometimes the answer is random.

Curta calculator

Before the days of handheld electronic calculators, there were mechanical calculators of various kinds. One of the most intriguing is the Curta, a hand held mechanical calculator invented by Curt Herzstark. Despite production ceasing in 1972, these little marvels are still sought after.

Read more


Take some time to feed your mind.

Crypto 101

At PyCon 2013, Laurens Van Houtven gave an introduction to modern cryptography. That presentation is worth watching - and it’s now been turned into a free book that suitable as an introduction for beginners and a refresher for the more experienced developer.

Length: 45 minutes
Audience: Developers

Read now
Watch now


blog comments powered by Disqus
Next Post
Modifying Words, Part the First  09 Nov 2019
Prior Post
Hashcodes  26 Oct 2019
Related Posts
Browsers and WSL  31 Mar 2024
Factory methods and functions  05 Mar 2023
Using Constructors  27 Feb 2023
An Inconvenient API  18 Feb 2023
Method Archetypes  11 Sep 2022
A bash puzzle, solved  02 Jul 2022
A bash puzzle  25 Jun 2022
Improve your troubleshooting by aggregating errors  11 Jun 2022
Improve your troubleshooting by wrapping errors  28 May 2022
Keep your promises  14 May 2022
November 2019