In this episode: F# 3.0 syntax; a campaign against if statements; Visual Studio 2015 update 3; laws of software craftsmanship; vulnerability on Lenovo laptops; busting a counterfeit ring; and misuse of the word ‘agile’.

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.


Cheatsheet for F# 3.0 Syntax

F# is the functional language we all should be learning - not least because knowing the techniques will help you be a better developer day to day.

Read more

Anti-If: The missing patterns

The ubiquitous IF statement is commonplace in our code - but it can be overused. While the anti-if campaign might be going just a little too far, it’s useful to review some of the techniques for avoiding overuse.

Read more

Software and Updates

Visual Studio 2015 Update 3

A community technical preview of the next update for Visual Studio 2015 has been released.

  • Improvements to debugging and diagnostics
  • Changes to the way subscriptions and licenses are managed
  • Performance improvements in the Roslyn compiler engine
  • Architectural tool improvements

Update now

Being Professional

Newton’s 3 Laws of Software Craftsmanship

Newton’s three laws are a great approximation for the way the world works - in fact, they’re good enough that it is only when we start looking at the very small or the very fast that we need the better approximations provided by Einsteins theories.

Christian Mackeprang posts his take on three fundamental laws for software development.

  • Under fixed circumstances, every solution will behave the same way unless it has been modified.
  • The impact of a technical decision is directly proportional to the size of the project and to how much of it is affected.
  • Every technical decision comes with an implied tradeoff.

Read more

Staying Secure

Lenovo Solution Centre puts almost every Lenovo PC at risk from attackers

The Lenovo Solution Center, preinstalled on most new Lenovo laptops and desktops, is intended to monitor the health of the machine.

Unfortunately, it’s also vulnerable to attack.

Read more


Fantastic Fakes: Busting a $70 Million Counterfeiting Ring

The story of the creation of a near-perfect counterfeit note that’s so good it is still in circulation.

Read now

Video of the Week

You keep using the word agile

I do not think it means what you think it means - Nathan Gloyn at NDC London 2016

Watch now


blog comments powered by Disqus
Next Post
Pass implementations, not representations  14 Oct 2017
Prior Post
Test Coverage Reporting  07 Oct 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
October 2017