It's one of the paradoxes of blogging that most every blogger (including myself) is sharing what they know right now (let's quietly ignore those who blog purely for traffic and vanity). Since everyone is learning, this can result in poor or misleading information being shared just as much as good information. Keep this in mind as you read any blog - including this one. How experienced is the writer? How well do they really know what they're talking about? Do they blog about their mistakes as well as their successes?
I'm just as flawed as other bloggers, so you should feel encouraged to check my ideas for yourself. Keep the date in mind as well - in our fast moving field, even good ideas can become obsolete.
Saturday, May 16 2020 professional
We have a poor habit in the tech industry of glossing over the complexity of things. Sometimes this is done deliberately, but very often it happens accidentally, as the result of skipping due consideration, or at a subconscious level.
After our recent introduction of caching, I had an interesting conversation with a friend about the way I’d written the code. He was persuasive that the approach I’d taken had some significant issues and that it was worth taking the time to address them.
Tuesday, May 05 2020 sharpen-the-saw
In today’s post: How to choose between a static factory method and a constructor; What not to do with async; Meeting with Skype for free; How to stop wasting your time; What you don’t know about names; New static analysis features in GCC prove their worth; Making your C# more functional; Coding bootcamps for veterans; and, How to crash an airplane.
If you’ve been playing around with maintenance screen and the speech integration that we completed last week you may have noticed that there can be a noticeable lag between the time you press a play button and when you hear the speech.
With our speech infrastructure in place, our next step is to hook it up with our existing maintenance screen. This will allow our users to test out pronunciation as they make changes.
|Equality in .NET||7|
|Immutable Priority Queues||15|
|Killing the Utility Class||5|
|Instance validation in C#||12|
|Speech Middleware||11 Apr 2020|
|Redux Middleware Implementation||28 Mar 2020|
|The Liskov substitution principle goes both ways||21 Mar 2020|
|Redux Middleware||14 Mar 2020|
|Sharpen The Saw - March 2020||07 Mar 2020|
|Always review code you copy||29 Feb 2020|
|Speech API||15 Feb 2020|
|Dumb Transfer Objects||08 Feb 2020|
|Sharpen The Saw - February 2020||01 Feb 2020|
|Logging Implementation||25 Jan 2020|
|Impossible Numbers||18 Jan 2020|
|Logging Demonstrated||11 Jan 2020|
|Sharpen The Saw - January 2020||04 Jan 2020|
|Logging||28 Dec 2019|
|Empathy for future developers||21 Dec 2019|
|Wither convention testing||14 Dec 2019|
|Sharpen The Saw - December 2019||07 Dec 2019|
|Convention testing for immutable types||30 Nov 2019|
|What do you do when you find a bug?||24 Nov 2019|
|Modifying Words, Part the Second||16 Nov 2019|
|Modifying Words, Part the First||09 Nov 2019|
|Sharpen The Saw - November 2019||02 Nov 2019|
|Hashcodes||26 Oct 2019|
|Code Gardening||19 Oct 2019|
|Nullable types redux||12 Oct 2019|
|Sharpen The Saw - October 2019||05 Oct 2019|
|C# 8 and .NET Core 3.0||28 Sep 2019|
|Commands and CommandBinding||21 Sep 2019|
|Debugging word selection||14 Sep 2019|
|Sharpen The Saw - September 2019||07 Sep 2019|