In todays post: Value objects for self documenting code; default implementations in C# 8; how to jump start any meeting with a question; lessons for securing an important persons account that you should use yourself; a Braille font; and, understanding procrastination.

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.

Value Objects - a tool for self-documented code and fewer errors

Value objects, also known as semantic types, are a key way to control complexity in your code. I’ve blogged about their use several times and I’ve found them to be an invaluable technique. This article from the NDepend blog goes into the benefits and, err, value they have.

Read more…

Software & Updates

A new or upgraded tool can be a beautiful thing.

Default implementations in interfaces

Evolving C# interfaces can be challenging. Adding a new member to an interface that’s already widely implemented has been a recipe for pain - until now. In C# 8, Default Interface Implementations allow you to add to the interface without it being a breaking change. Existing implementations will just use the default implementation you provide, while new implementations have the option to implement or not.

Read more…

Being Professional

A great developer does more than just write great code.

The most important question to jump-start any meeting

Businessman T. Boon Pickens has a simple formula for any meeting, a simple question that challenges his staff to be prepared and on the ball. Not all of us are business owners, but we all attend meetings. In fact, calling a meeting is likely the most expensive thing that most of us can do in a typical workday. How prepared are you for your meetings?

Read more…


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

Ten things to do to secure an important person’s computer (or even Ashton’s or a Kardashian’s)

Staying secure online is an ongoing challenge. In this post from 2012, Scott Hanselman details 10 steps that everyone should take. They won’t make you invulnerable, but they will improve things significantly.

Read more…


Sometimes the answer is random.

This clever new font combines braille with Latin and Japanese alphabets

It’s not yet very practical for regular users, largely because most laser and ink-jet printers are incapable of generating texture on the printed page … but it’s a cool idea that might turn out to be very useful. Or, maybe, it’s just a gimmick.

Read more…


Take some time to feed your mind.

sTired of procrastinating? To overcome it, take the time to understand it

Researchers looking into procrastination have worked out that it is not a weakness. Rather, it’s a totally predictable - and rational - reaction to situations where people know their work is going to be judged. Knowing this can be the key to getting started.

Length: 22m
Audience: Everyone

Watch now… or Read more…


blog comments powered by Disqus
Next Post
Debugging word selection  14 Sep 2019
Prior Post
ViewModel Subscriptions  31 Aug 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
September 2019