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, December 14 2019
wordtutor-redux
csharp
testing
Following on from our previous post on convention testing we can extend the conventions by considering the standards we want to follow when we write methods on our immutable types.
Saturday, December 07 2019
sharpen-the-saw
In today’s post: Why the repository pattern needs to be abandoned; a tool for troubleshooting assembly load issues; giving effective instructions; making your email hacker-proof; the tiny details are important; and, the computers of the Voyager space program.
Saturday, November 30 2019
wordtutor-redux
csharp
testing
The Redux architecture we’re using for our application state relies on all our state objects being properly immutable. So far, we’ve relied on nothing more than self-discipline to ensure no mistakes are made. By adding some convention testing to our project, we can enlist some help in avoiding common errors.
Sunday, November 24 2019
professional
What do you do when you find a bug in the system you’re working on? I suggest that how you address the bug is a key measure of your professionalism as a developer.
Saturday, November 16 2019
wordtutor-redux
csharp
If you’ve tried out our application as it stood after last week’s post, you may have noticed that the user experience for modifying a word is a bit suboptimal. After selecting a word, you have to separately press the Modify button. Can we do better?
| Code Gardening | 17 |
| Equality in .NET | 7 |
| Immutability Matters | 16 |
| Immutable Priority Queues | 15 |
| Psake | 17 |
| Technical Debt | 6 |
| Killing the Utility Class | 5 |
| Instance validation in C# | 12 |
| Redeveloping WordTutor | 31 |
| csharp | 103 |
| powershell | 25 |
| professional | 78 |
| random | 37 |
| sharpen-the-saw | 43 |
| smart-code | 44 |
| testing | 24 |
| tips | 55 |
| ux | 33 |
| visual-studio | 19 |
| admin | 12 |
| architecture | 3 |
| code-gardening | 1 |
| command-line-processor | 2 |
| debugging | 3 |
| deployment | 6 |
| document-factory | 2 |
| dotnet | 11 |
| good-samaritan | 14 |
| group-inspector | 2 |
| immutable-types | 1 |
| lies | 1 |
| mandelbrot | 9 |
| markdown-xaml | 2 |
| nantgraph | 6 |
| presentations | 1 |
| psake | 1 |
| stylecopcmd | 8 |
| technical-debt | 1 |
| technology | 8 |
| tools | 10 |
| vocabulary | 1 |
| vsgraph | 4 |
| wordtutor | 6 |
| wpf | 13 |
| xml | 1 |
| December 2019 | 2 |
| November 2019 | 5 |
| October 2019 | 4 |
| September 2019 | 4 |
| August 2019 | 5 |
| July 2019 | 4 |
| June 2019 | 5 |
| May 2019 | 4 |
| April 2019 | 4 |
| March 2019 | 5 |
| February 2019 | 4 |
| January 2019 | 4 |
| December 2018 | 5 |
| November 2018 | 4 |
| October 2018 | 4 |
| September 2018 | 5 |
| August 2018 | 4 |
| July 2018 | 4 |
| June 2018 | 6 |
| May 2018 | 5 |
| April 2018 | 8 |
| March 2018 | 6 |
| February 2018 | 6 |
| January 2018 | 8 |
| December 2017 | 7 |
| November 2017 | 8 |
| October 2017 | 9 |
| September 2017 | 7 |
| August 2017 | 4 |
| July 2017 | 5 |
| June 2017 | 3 |
| May 2017 | 1 |
| April 2017 | 4 |
| March 2017 | 3 |
| February 2017 | 6 |
| January 2017 | 4 |
| 2016 | 40 |
| 2015 | 30 |
| 2014 | 14 |
| 2013 | 19 |
| 2012 | 25 |
| 2011 | 47 |
| 2010 | 56 |
| 2009 | 78 |
| 2008 | 89 |
| 2007 | 2 |
| 2006 | 8 |
| 2005 | 5 |
| 2004 | 18 |
| 2003 | 5 |
| 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 |
| Revisiting ViewModelBase | 15 Jun 2019 |
| First Light | 08 Jun 2019 |
| Sharpen The Saw - June 2019 | 01 Jun 2019 |
| Add Word View | 25 May 2019 |
| Fixing Azure DevOps Pipeline Build error NU1604 | 18 May 2019 |
| Add Word View Model | 11 May 2019 |
| Add Word Screen | 04 May 2019 |
| Bootstrap Image ratios Fix | 27 Apr 2019 |
| WPF Projects & ViewModelBase | 20 Apr 2019 |