In today’s post: Why the repository pattern needs to be abandoned; a tool for troubleshooting assembly load issues; giving effective instructions; making your email hacker-proof; the tiny details are important; and, the computers of the Voyager space program.

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.

Ditch the repository pattern already

Once a key staple of application design, back in the era of client-server desktop software, the Repository Pattern has well and truly fallen out of favour. In this LosTechies post, Derek Greer goes through some of the reasons he has stopped using the pattern. He doesn’t call it an anti-pattern - but he comes close.

Read More

Software & Updates

A new or upgraded tool can be a beautiful thing.


Following on from my earlier post on troubleshooting assembly loading issues, Andreas Wascher reached out to let me know that he’s created a replacement viewer called Fusion++. Worth checking out.

Read More

Being Professional

A great developer does more than just write great code.

10 tips for giving effective instructions

This one is quick and useful - for we all have times when we need to instruct others on how to get things done.

Read More


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

Make your email hacker proof

Stack Overflow founder Jeff Atwood makes a very good point that your email is the skeleton key to your online identity; if someone gets control of that, they can readily escalate to control of many other accounts just because they control the means of password reset/change. If you haven’t done so already, take the time to turn on two-factor authentication. Do it now.

Read More


Sometimes the answer is random.

This is all your app is: a collection of tiny details

Jeff Atwood’s blog post starts as a comparative review of his cat feeders, detailing many of the minor improvements made over five years of product development. He makes a more important point near the end of the post, however - these little details are your application, and they matter a whole lot.

I’m sure you’ve encountered, as I have, products that are built to satisfy some vital checklist of features - but which are, on a day to day basis, incredibly difficult to work with. Rough edges, incomplete features, buggy behaviour, and a general feel of being painful to use.

Read more


Take some time to feed your mind.

Uptime 15,364 days - the computers of voyager

Launched well over 40 years ago in 1977, the Voyager probes are still working, with their faint telemetry signals still being received by a team at NASA. In this talk from Strangeloop 2019, Aaron Cummings talks about the genesis of the Voyager project and goes into a little detail about their onboard systems.

Length: 49 minutes
Audience: Everyone

Watch now


blog comments powered by Disqus
Next Post
Wither convention testing  14 Dec 2019
Prior Post
Convention testing for immutable types  30 Nov 2019
Related Posts
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
When are you done?  18 Apr 2022
Fixing GitHub Authentication  28 Nov 2021
December 2019