In this edition: Working with Github “Flow”, Visual Studio Update 2 goes CTP, classic books that every developer should read, Oracle is killing the Java Web plugin, and a presentation on Hacking building elevators.

Sharpen the Saw is a somewhat delayed repost of a (mostly) weekly 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.


Understanding the GitHub Flow

GitHub flow is a specific way to use git so that you’re always ready to deploy a new build - development always happens on separate branches (one per feature) that are only merged into master when they are ready to deploy.

This guide from goes into a little detail about how to get this right.

Read the guide

Software and Updates

Visual Studio 2015 Update 2 CTP

The community technical preview of the second update for Visual Studio 2015. This looks like a major bug fix release, including fixes for crashing bugs while editing code and significant new features for working with git repositories.

  • Crashes when editing C# or Visual Basic files while editing
  • Crashes when updating error list entries for C# and Visual Basic projects while editing
  • Out of memory exceptions when C# and Visual Basic projects are kept open for long sessions
  • Errors when creating document-level projects for Office 2016 with the Office Developer Tools
  • Hangs when trying to access local help
  • Hangs in setup when using read-only or disconnected drives
  • Failures with uninstallable packages and when selecting features

As always with a CTP, remember this is preview software and make sure you have a plan B in case it causes issues with your installation.

Read the Announcement

Release Notes


Being Professional

10 Classic Books Every Serious Developer Should Read

Despite the rapid pace of change in our industry there is a core of wisdom and truth remains useful regardless of the particular technology stack in use.

Many of the books in this article have a place on every developers bookshelf, kept within arms reach to be read and reread, savoured multiple times.

  • The Pragmatic Programmer (O)
  • The Mythical Man-month: Essays on Software Engineering (W) (R)
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • Refactoring: Improving the Design of Existing Code (O)
  • Working Effectively With Legacy Code (R)
  • Code Complete: A Practical Handbook of Software Construction (R)
  • Head First Design Patterns (R)
  • Peopleware: Productive Projects and Teams (W) (R)
  • Soft Skills: The Software Developer’s Life Manual

(W) These book have a wider audience than just developers. If you are a manager, analyst, tester or designer, you owe it to yourself to read these.

(O) I own these books

(R) I’ve read these books

Read more

Staying Secure

Oracle Finally Kills the Java Web Plugin

The once ubiquitous browser plugin used to run Java applications since 1995 has been an ongoing source of security flaws and exploits in recent years - and now it’s dead.

In March 2017, with the release of Java 9, the Java Web Plugin will be officially deprecated - and none to early by many accounts.

Read more

Tip: Unless you absolutely need to have it installed for a critical site (perhaps a Y2K bug means your bank still thinks that it is 1999), removing the java web plugin is a good idea. As detailed in the linked article, Edge never had support, Chrome has already removed it, and Firefox is following suit.

Video of the Week

Elevator Hacking: From the Pit to the Penthouse

An awesome presentation on practical elevator hacking, full of things you should never try at home … err … work. Tremendous fun - you’ll never catch an elevator in the same way again.

Watch now


blog comments powered by Disqus
Next Post
Sharpen The Saw #7  11 Jul 2016
Prior Post
Intention Revealing Bools  02 Jul 2016
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
July 2016