2023-06-12

The Trouble with XAML Hot Reload in WPF

The XAML Hot Reload feature of WPF is extremely useful because GUI work often involves tweaking visual aspects of an application, so being able to modify XAML, save it, and immediately see the changes on the screen saves a huge amount of time as opposed to having to terminate the application, modify the code, re-compile, re-run, and go clickety-clickety-click to navigate to the same page and finally see your changes.

Unfortunately, as a WPF project grows, the XAML Hot Reload feature inevitably one day stops working: You modify your XAML, you save the XAML file, and yet nothing changes on the screen. The message "No changes were found" appears in the Hot Reload tab of the Visual Studio Output Window, but it is a damned lie, because you just made changes. This can really be a problem.

When you find yourself in this extremely unpleasant situation, here is a list of things to try:

2023-05-26

Program Code is Uncountable

There are some words in English that are uncountable. For example: cheese, furniture, music, evidence, research, knowledge, information, etc. When we speak of those things in plural, we still use the singular form: "I would like to order a four-cheese pizza", "Let me give you some of my furniture", "We need to consider all the evidence", etc.

2023-05-13

Hyrum's Law

With a sufficient number of users of an API,
it does not matter what you promise in the contract:
all observable behaviors of your system
will be depended on by somebody.

Hyrum's Law
(From https://www.hyrumslaw.com/)

2023-04-23

Notable severely down-voted answers of mine on Stack Exchange

Among the answers that I have given to thousands of different questions on stackoverflow.com and softwareengineering.stackexchange.com, some have been vehemently down-voted.

Sometimes I make mistakes; when that is the case, I delete my answer; however, in other cases, the down-votes represent opinon which is in disagreement with my opinion, and in those cases I let my down-voted answers be, since I stand by my own convictions.

I suppose that this is the price you has to pay for: a) having your own opinions; and b) daring to voice them: there will always be some folks who will take offense.

Here is a list of my severely down-voted answers, so that you too can take offense and down-vote them even further:

Stack Overflow: api design - Which HTTP code is most suitable for when an endpoint is "full"?

Software Engineering: api design - Should a REST API return a 500 Internal Server Error to indicate that a query references an object that does not exist?

Software Engineering: grammar - Does it make sense to use "ys" instead of "ies" in identifiers to ease find-and-replace functionality?

Software Engineering: java - Is it okay to have objects that cast themselves, even if it pollutes the API of their subclasses?