In this issue from September 2017: Writing great constructors; new features in C# 7.0; Dealing with a manipulative co-worker; a nasty Bluetooth attack; Holographic Lemmings; and Understanding Test Driven Development.
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.
How to Constructors
A good constructor ensures that the object is in a valid state and ready to be used, but what code belongs within a constructor and what code does not? Mark Clearwater weighs in with some well-argued opinions in this post.
Software and Updates
A new or upgraded tool can be a beautiful thing.
New Features in C# 7.0
Everything you need to know about the new features in C# 7, direct from Mads Torgersen, the Microsoft Program Manager in charge of language evolution. Highlights include tuple types (allowing multiple return values from a function), and pattern matching, but there are a bunch of small improvements as well.
A great developer does more than just write great code.
How to Deal With a Manipulative Coworker
At some time or another, we all end up with having to deal with that colleague - the one who takes credit for other peoples work, and who goes to great lengths to blame you for their lack of delivery. In this post from LifeHacker, Kristin Wong talks about the need to trust your instincts when something feels off and how to respond.
Staying safe online and writing secure systems are both harder than we think.
Billions of devices imperiled by new clickless Bluetooth attack
Researchers have identified a vulnerability in the Bluetooth protocol, dubbed Blueborne, that potentially affects literally billions of devices - including Android, Linux, iOS and Windows devices. The attack requires no interaction with a user and can be achieved from as far as 10 meters distance in as little as 10 seconds. Effectively, someone walking down through Queensgate shopping mall with an infected phone would be able to attack most anyone they passed.
Apple iOS devices are only safe if running version iOS 10 or newer; Google has released patches for Android but is dependent on individual vendors distributing them. Microsoft patched the Windows OS in July, Windows Phone was never vulnerable.
I’ve seen no information on the vulnerability of Mac OS or any of the myriad of other Bluetooth devices such as FitBits, Wireless Speakers/Headphones, Car Stereos and so on, but the possibilities are concerning
Where possible, get your devices patched as soon as possible. If you’re not actively using Bluetooth, switch it off.
Sometimes the answer is random.
With Microsoft HoloLens, vintage Lemmings now risk their lives in your living room
I remember playing one of the original Lemmings releases back in the days of the 386, enjoying the puzzles as I tried to save as many of the critters as possible.
The classic Lemmings game is back with a brand new twist - courtesy of HoloLens, the danger-filled world the Lemmings are trying to survive might be your very own living room or office! I had a chance to play this game for a few minutes recently and it was great fun.
Video of the Week
Take some time to feed your mind.
Understanding Test Driven Development
Roy Osherove literally wrote the book on unit testing, and in this presentation, he presents on the subject.