In this issue from February 2017: How new glues your code together; learning git with GitKraken; How to hire a programmer with Jeff Atwood; using two factor authentication on your Microsoft account; programming on the weekends; and, Kevlin Henney thinks many programmers have ineffective coding habits.

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.

New Is Glue

We often don’t think twice about creating a new object in our code - after all, we need a new instance of that class to get the job done, so we new one up and keep going. The consequence, however, is that our code gets glued together in very hard to change ways.

Sometimes this is appropriate and practical. More often than not, it turns around and makes life difficult - harder to test, harder to modify, harder to adapt.

Programming to interfaces and dependency injection are just two of the techniques available to loosen up our code, allowing for greater flexibility, increased testability, easier maintenance and lower defect injection rates.

Read more…

Software and Updates

A new or upgraded tool can be a beautiful thing.

Learning Git with GitKraken

While much of the power of git is best wielded from the command line, there are a variety of GUIs available that make it easier (and sometimes faster) to use. One of the best of these is the cross-platform GitKraken from Axosoft.

On the Axosoft blog, John Sparrow suggests that if you’re still developing your understanding of how git works, GitKraken’s included visualization of your commit history makes it much simpler to see what’s going on as you work.

Read more…

Being Professional

A great developer does more than just write great code.

How to Hire a Programmer

Smart guy Jeff Atwood has hired his share of developers over the years and has posted some useful guidance for anyone hiring with an intent to code. It seems as though a lot of people claim to be a programmer without having basic skills - so his first tip is to do some very simple online screening.

Read more…

Staying Secure

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

Secure Your Microsoft Account with Two-Step Verification

For many people, their Microsoft (or Google or Facebook) account is the center of their online world. Think about your accounts and how much you would loose if they were compromised. Two-factor authentication (2FA) is critical. This post by Paul Thurrott walks you through setting up 2FA for your Microsoft account.

Read more…


Sometimes the answer is random.

What Programming Languages Are Used Most on Weekends?

Here’s an interesting analysis from Stack Overflow looking at the difference in activity between weekdays and weekends, trying to identify what developers use by choice at the weekend compared to what they have to use at work. Of course, the analysis has some limitations, but the conclusions are fascinating. It’s probably not a spoiler to anyone to note that SharePoint doesn’t seem to be widely used on the weekend.

Where do your favorite technologies fall?

Read more…

Video of the Week

Take some time to feed your mind.

Seven Ineffective Coding Habits of Many Programmers

In this video from NCD 2014, noted blogger and speaker Kevlin Henney encourages us to reconsider many of our common coding habits, including our use of whitespace, braces, and naming. I’m pretty sure Kevlin will challenge your coding habits as much as he challenged mine.

Watch now…


blog comments powered by Disqus
Next Post
Using Premeditation  27 Jan 2018
Prior Post
With Relocation  20 Jan 2018
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
January 2018