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 14 2022
go
One of the best ways to disappoint someone is to break a promise - and this applies both to the software we write and the applications we use as well.
Monday, April 18 2022
professional
How do you tell when you are finished working on a change you are making to the code on your current project?
Sunday, November 28 2021
samaritan
Returning to a project that had lain fallow for several months, I found I was unable to push changes from my work in progress branch up to GitHub.
Saturday, July 31 2021
sharpen-the-saw
In today’s post: An obsession with primitive types can be a problem; Ways to refactor to introduce semantic types; WSL now supports GUI apps and it’s wonderful; Lessons from Japanese martial arts; How to prepare to break a habit; Spam blogs; Why your sleep excuses are wrong; Morning habits and happiness; and Phil Haack’s most excellent CodeMania 2012 keynote.
Saturday, July 24 2021
other-methodologies
Imagine this: While tackling a subtle bug in a complex application, you make a simple change that you think will address the issue. But when you run the tests, a whole bunch of seemingly unrelated tests start to fail. You reverse the change, and they pass again, so it’s most certainly your change causing the problem.
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 | 42 |
csharp | 115 |
powershell | 26 |
professional | 88 |
random | 37 |
sharpen-the-saw | 51 |
smart-code | 45 |
testing | 24 |
tips | 55 |
ux | 33 |
visual-studio | 19 |
admin | 13 |
alternative-definitions | 1 |
architecture | 3 |
code-gardening | 1 |
command-line-processor | 2 |
debugging | 3 |
delphi | 2 |
deployment | 6 |
document-factory | 2 |
dotnet | 11 |
go | 1 |
good-samaritan | 14 |
group-inspector | 2 |
immutable-types | 1 |
lies | 1 |
mandelbrot | 9 |
markdown-xaml | 2 |
nantgraph | 6 |
other-methodologies | 9 |
presentations | 1 |
psake | 1 |
samaritan | 1 |
stylecopcmd | 8 |
technical-debt | 1 |
technology | 8 |
tools | 10 |
vocabulary | 1 |
vsgraph | 4 |
wordtutor | 6 |
wpf | 14 |
xml | 1 |
May 2022 | 1 |
April 2022 | 1 |
November 2021 | 1 |
July 2021 | 4 |
June 2021 | 3 |
May 2021 | 3 |
April 2021 | 2 |
December 2020 | 1 |
July 2020 | 1 |
June 2020 | 2 |
May 2020 | 4 |
April 2020 | 3 |
March 2020 | 4 |
February 2020 | 4 |
January 2020 | 4 |
December 2019 | 4 |
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 | 10 |
2005 | 12 |
2004 | 21 |
2003 | 7 |
1998 | 1 |
Magpie Driven Development (MDD) | 10 Jul 2021 |
Sharpen The Saw - July 2021 | 03 Jul 2021 |
Rockstar Driven Development (RDD) | 26 Jun 2021 |
Distraction Driven Development (DDD) | 12 Jun 2021 |
Sharpen The Saw - June 2021 | 05 Jun 2021 |
Promotion Driven Development (PDD) | 29 May 2021 |
Complaint Driven Development (CDD) | 15 May 2021 |
Profanity Driven Development (PDD) | 01 May 2021 |
Hype Driven Development (HDD) | 17 Apr 2021 |
The Other Development Methodologies | 03 Apr 2021 |
Don't be that person | 05 Dec 2020 |
Weapons of mass (privacy) destruction | 04 Jul 2020 |
Caching without Race Conditions | 13 Jun 2020 |
Sharpen The Saw - June 2020 | 06 Jun 2020 |
Automated Inbox Cleanup with PowerShell | 30 May 2020 |
Don't Gloss Over Complexity | 16 May 2020 |
Improved Caching | 09 May 2020 |
Sharpen The Saw - May 2020 | 05 May 2020 |
Caching Speech | 25 Apr 2020 |
Maintenance & Speech | 18 Apr 2020 |
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 |