In this episode from July 2016: Building a good build system; productivity improvements for Visual Studio 2015; how layoff decisions are made; geek advice for our parents; literate programming; and asynchronous programming in C#.
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.
13 Things That Make a Good Build System
An interesting post by Aneel Lakhani discusses improvements made when they replaced their Java-centric build system with something new.
Software and Updates
Improved Productivity with new Version Control Features in Visual Studio 2015
Every update for Visual Studio includes more than just the expected collection of bug fixes. Unlike the service packs of yesteryear, these updates always include new features and improvements as well.
With Visual Studio 2015 Update 3, the support for version control integration within the IDE has improved - and they have even more in store for the future.
The Layoff List
I’m not sure I entirely agree with Keith Gregory’s thinking about how layoff decisions are made, but his blog post makes for thought-provoking reading.
Like many in our industry, I’ve been through my fair share of redundancy rounds, as both survivor and victim. I would suggest that they never seem to be well handled.
What geeks need to tell our parents about shopping online safely and securely
Staying secure online used to be simple. This was because the web was new, most people are good and because the attacks were simple and sloppy.
This straight-talking guide from technologist Scott Hanselman is written in plain English and is something you should consider sharing with your friends and family. Perhaps, even worth sharing with that one relative whose mouth keeps writing cheques that far outpace the available skills.
The idea of literate programming has been around for many years.
Initially put forward by famous computer scientist Donald Knuth, literate programming is the interesting idea that computers and humans need to read source code in different ways and that we should optimize for the humans, not the computers.
A literate program is written serially, as a linear discussion of the program requirements with prose (definition) and code (implementation) interspersed. One tool, a tangler is used to generate documentation from this master document; another, a weaver is used to generate the actual program.
Video of the Week
I’ll Get Back to You: Task, Await, and Asynchronous Methods in C
The async and await keywords introduced with C# 5 have the potential to fundamentally change the way we develop software because they let us deal with asynchrony in a straightforward way.
In this video from NDC London, Jeremy Clark investigates what these keywords do and how their use can help you write software that is more responsive and more efficient.