2023-12-23

Towards Authoritative Technical Software Design


Abstract

In this paper we examine the long-standing need within the Software Engineering Discipline for technical design documents that are authoritative. A design document is authoritative if there exist technical means of materializing it as a running software system, thus guaranteeing that the end result is indeed precisely as described by the design. We notice the scarcity and inadequacy of existing solutions, we look into the difficulties involved in the creation of such documents, and we conclude with some realizations on what it would take to come up with a solution that works.

2023-09-05

Converting MSBuild project files from legacy-style to SDK-style

I recently did this at work, and I decided to document the process here in the form of a how-to guide. Please note that I am not an expert, I am learning as I go along, so there may be mistakes.

Sdk-style project files have existed since net5, but when they were introduced they were made compatible with earlier versions of dotnet, such as dotnet framework 4.7.2. The kind of project files we were using before can now be called legacy-style project files.

  • Legacy-style project files begin with <Project ToolsVersion="...
  • Sdk-style project files begin with <Project Sdk="Microsoft.NET.Sdk">.

Sdk-style project files are necessary if you want to:

  • Start using the `dotnet` command-line utility and all the functionality that it provides.
  • Eventually migrate to a modern version of dotnet.

2023-08-15

On the "Dotfuscator" tool by PreEmptive Solutions


I am giving this tool a try at work, and I am encountering a great many problems with it. I decided to publicly document my findings.

2023-07-21

Migrating a project from DotNet Framework 4.7.2 to DotNet 7

I recently did this at work, and I decided to document the process here in the form of a how-to guide. Please note that I am not an expert, I am learning as I go along, so there may be mistakes.

2023-07-06

[SOLVED] Maven deploy fails with status 422 unprocessable entity

It has been more than a year since I created this question on GitHub Community; a couple of days after that I found the solution by myself, so I answered my own question, and to this date comments keep being added by people who were helped by my post.  

When I look at it today, I notice that my answer has this particular style, this grumpy indignation which has become so characteristic of me, after a lifetime of battling with lame software, and even worse, with lame error messages. 

I thought I should share this on my blog for posterity.

Here is the link:

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.