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.

Speech API

Saturday, February 15 2020 wordtutor-redux csharp

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.

Read more »

Dumb Transfer Objects

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.

Read more »

Sharpen The Saw - February 2020

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.

Read more »

Logging Implementation

Saturday, January 25 2020 wordtutor-redux csharp

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.

Read more »

Impossible Numbers

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.

Read more »

Recent posts