The Stack Overflow blog podcast 312 (of 2021/02/12) "We're building a web app, got any advice?" awarded me with what they call a lifeboat!
The Stack Overflow blog podcast 312 (of 2021/02/12) "We're building a web app, got any advice?" awarded me with what they call a lifeboat!
My notes on how to use SVG graphics in a WPF application
The goal is to be able do do things like this:
... where mySvgImage somehow stands for a vector image that has somehow been obtained from an SVG file.
The solution must not involve any proprietary, closed-source libraries.
Naturally, we want one of the following:
Please note that this is work in progress. I am still working on it and refining it, as my understanding of it improves.
I have a set of public repositories on GitHub showcasing my work, (⬀) which is in java with maven. These projects are interdependent, so when you check out one of them, in order to compile and run it you need the binaries of some of the others. You could manually check out all of them and put them in an IDE project, but that's too much work. Solving this problem requires having Continuous Integration & Continuous Deployment (CI/CD) in place, so I decided to try my luck in setting one up using free services only.
The process involves three entities:
We begin with a situation where we already have the Source Repository (GitHub) and we want to set-up the CI/CD Provider (CircleCI) and the Artifact Repository (Repsy).
Here is a brief technical explanation of MVVM, which contains enough detail (borrowed from its WPF implementation) and examples to allow the reader to grasp how it actually works.
The Thinker (French: Le Penseur) by Auguste Rodin (From Wikipedia) |
A Software Design Pattern for concurrent systems which makes race conditions something that can be asserted against and thus deterministically eliminated rather than stochastically reduced or minimized. (Subject, of course, to the thoroughness of the assertions.)
Image by reginasphotos from pixabay.com |
Every Software Engineer who has dealt with concurrency knows that it is hard. The bane of concurrency is race conditions: when a thread accesses data without taking into account the fact that the data is shared with other concurrently running threads which may alter that data at any unforeseeable moment in time.
If you have ever done any software development under Microsoft Windows you have probably come across this famous error message: "System.IO.FileNotFoundException : Could not load file or assembly 'Acme.dll' or one of its dependencies. The specified module could not be found."
Modern software makes heavy use of dynamic link libraries, and the problem with this kind of libraries is that for various reasons they might not be there when you need them, resulting in runtime errors. This is the runtime error you get under Windows when this happens.
Naturally, when you see this message, the first thing to do is to check whether Acme.dll is there, and what you usually discover is that the file is indeed there. When dealing with computers, most error messages that you come across tend to leave some room for troubleshooting, but when the system is reporting that a certain file does not exist on your very own filesystem, while the file is most certainly there, the situation seems really hopeless. You are stymied.
In a previous post I published the Ferolli BlueSense Boiler User's Manual in English. Here is the manual of the ventilation unit.
Click on the pictures below for the documents.
This is a little history of the early World Wide Web (WWW) for the benefit of the younger generation which may have not experienced the Internet in its infancy and therefore might not be aware of the horrors that it involved, and why certain things have come to be the way they are today.
As you are reading this, and thinking to yourself that it could not possibly have been as bad as I am describing it, remember, the general public was experiencing it using 2400 baud modems.