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.
For the WordTutor application to work, we need to be able to read words (and letters) out loud to our student. To power the speech synthesis, we’re going to integrate Azure Cognitive Services into the application.
Saturday, February 08 2020 alternative-definitions
An anti-pattern variant of Data Transfer Objects (DTOs) where the objects are forcefully deprived of all possible functionality, even for matters that are directly relevant such as construction, serialization, and (first stage) validation.
Saturday, February 01 2020 sharpen-the-saw
In today’s post: how to write better git commit messages; a cool debugger trick for Visual Studio; a new approach for producer/consumer programming in .NET Core 3.0; how to focus in on a part of a data structure; an alternative to a regular to-do list; how to apologize; protecting users against poor password choices; the NSA does the right thing; the day when someone discovered they had too many interfaces; a Java programmer discovers GoLang; and a Ted Talk on why privacy matters.
To implement the logging interfaces described earlier, there are some issues we need to consider. There are two different usage patterns we need to support, plus we need to support concurrent use, and avoid code duplication.
Saturday, January 18 2020 professional
There’s a very clever piece of design advice that I was taught at university that seems to be less well known than I expected.
|Equality in .NET||7|
|Immutable Priority Queues||15|
|Killing the Utility Class||5|
|Instance validation in C#||12|
|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|
|ViewModel Subscriptions||31 Aug 2019|
|Redux Subscriptions||25 Aug 2019|
|Dependency Injection: Views||17 Aug 2019|
|Dependency Injection: ViewModels||10 Aug 2019|
|Sharpen The Saw - August 2019||04 Aug 2019|
|Dependency Injection: Core||27 Jul 2019|
|Integration Testing||20 Jul 2019|
|Restructuring Reducers||13 Jul 2019|
|Sharpen The Saw - July 2019||06 Jul 2019|
|Vocabulary Browser||29 Jun 2019|
|Old blog posts, restored||22 Jun 2019|