In this episode from October 2016: Why it matters how quickly you create new bugs; an extension for VS2015 for editing and previewing markdown; how to write great code that’s not brilliant; Brian Krebs hit with record setting DDOS; typography for user interfaces; and, F# for the rest of us.

Sharpen the Saw is a somewhat delayed repost of a semi-regular newsletter of information I publish for the professional development of software developers. While targeted primarily at developers working with the Microsoft technology stack, content will cover a wider range of topics.

To subscribe, send me an email and I’ll put you on the list. Membership is moderated.


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

Why Bug Injection Rates Matter

How do you avoid death marches, churning through iteration after iteration of bug fixes in order to close in on a release candidate? The answer doesn’t lie with an increased level of manual testing, nor does it require releasing a lower quality system.

By paying attention to the bug injection rate and improving the quality of development up front, the pace of release can be increased while simultaneously lowering risk.

Read more

Software and Updates

A new or upgraded tool can be a beautiful thing.

Markdown Editor

Markdown has quickly become one of the dominant formats for technical documentation, not least because of the popularity of Stack Overflow and associated sites in the Stack Exchange Network.

This extension from the Visual Studio Gallery extends Visual Studio 2015 with support for authoring Markdown files with live preview.

Read more

Being Professional

A great developer does more than just write great code.

How to De-Brilliant Your Code

Great code is no more complex than required, is easy to read and is maintainable. This doesn’t require turning your back on design patterns nor on necessary complexity, just a commitment to writing code in the best long-term interests of the system itself.

Read more

Staying Secure

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

KrebsOnSecurity Hit With Record DDoS

The website of noted security researcher and journalist Brian Krebs was hit by a record-setting DDOS attack that reached a sustained rate of 620Gb/s of traffic. This seems to have been retribution for some of his recent reporting.

Read more


Sometimes the answer is random.

Typography for User Interfaces

With so much of our user interfaces being composed of text, the choice of font and layout is critical. It was evident in 1984 that the designers behind the Macintosh user interface knew this to be true. It’s no accident that the design guides for all modern platforms (both desktop and mobile) treat typography as key.

Read more

Video of the Week

Take some time to feed your mind.

F# for the curly brace developer

There is much to learn from the F# programming language. This Codemotion video by Michael Newton is a gentle introduction to this fascinating language.

Watch now


blog comments powered by Disqus
Next Post
Error Methods  25 Nov 2017
Prior Post
Test Coverage History  18 Nov 2017
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 2017