In Visual Studio 2019 Mac – while building Theory based tests, using input object array
This will work perfectly
Trying to be a bit more robust (as we now property names will change) , replacing the static “Index” with something like nameOf() won’t work, resulting in the test disappearing of the radar in the test manager. This probably makes perfect sense (not allowing non-static variables in the Theory) – but I think the test manager (or VS somehow) should warn about this … ? 🙂
Just stumbled across my 2004 MS thesis – “A Case Study into the Effects of Software – Process Improvement on Product Quality” – as study into the effects of agile project process maturity on the types of defects that surface in a software product. Still interesting stuff (at least some of the principles discovered) almost 20 years later 🙂 #scary
Google Authentication on my Blazor app worked locally but not live – hosted @DigitalOcean in Ubuntu Docker Containers.
Locally I was working https using devcerts and the https on the DigitalOcean droplet was faked using Cloudflare’s (super-nice) security features (where they basically hide your website behind ssl without any certificate installation.
I switched between two problems during my trial-error process
The google authentication callback came back to http (not https) – which my server is designed not to handle
If I directed the callback (using Auth parameters) to use https – the server responded with some Cookie not found messages and Exception: Correlation failed. (Probably due to the fact that the cookie was produced by http://
The solution process
So I thought I would document the process in case I have to do this again (which I already have – as I had to do this for the api server as now my domain Cloudflare settings requires all the domain servers to have a valid (self-signed at least) certificate.
4. Copy the cert into the cert folder (Ubuntu specific)
sudo cp site.crt /usr/local/share/ca-certificates
5. Update the certs reading on the host
6. Move the pfx into a /mnt folder on the host (as that folder will be mapped by the docker container and the certificate read during app startup)
cp site.pfx /mnt
7. Now the host has the certificate and trusts it – but the docker container does not. My strategy here is to do all this through command line when I start the dotnet core container. This might not be the industry standard, but it worked for me
For 3 hours I was dealing with the title error nothing seems to work until I read the answer from hikrikunen where the key was deleting the localhost certificates in the system keychain and then running
dotnet dev-certs https –clean
dotnet dev-certs https -t
Uptil the point of deleting the localhost certificates, the dotnet dev-certs commands were not getting me anywhere, telling me that there was no cert available, but refusing to add because there was a certificate available. Strange but I don’t understand fully what happened but now my API can be run on https locally again 🙂
Fun discovery of the day … when building Blazor – having a Pages subfolder called System will completely mess upp the application build.
Renaming the folder to SystemX (or anything else for that matter) will make those errors disappears 🙂
This is possibly a result of some local coincidence … but I can reproduce this over and over again – and there are no changes in my project file or any other project files. Made my day … feels like I have discovered an Easter Egg in Blazor 🙂
I was faced with the project of migrating an mssql database to postgres (why? mainly because of licensing fees as we are about to go live with the solution – without any revenues any time soon 🙂 )
This is more a #notetoself if im faced with this again rather than any kind of guideline attempt – please feel free to contact me for details if I can in any way help – I would be happy to share my experience with this.
So, I thought I would document a checklist for those that might stumble across this post while preparing the same action. I was an absolute beginner with postgres when starting this process so some of the comments might feel a bit “verbal”.
The porting took me about 16 hours for a database with around 100 tables, 50 procedures, 50 functions. My process is not applicable for all as I moved the data between the database using json as staging storage for all data – creating a simple import mechanism in c# thought EF6.
Postgres only handles lowercase objects (schemas, table names, columns, procedure names, … ) without quotes. Prepare to rename everything! … unless you want to add a million double quotes to your database procedures and views.
Get ready with your favorite text editor with a lot of search-replace regexp.
When putting together dynamic queries and using the pipe || to concatenate strings (instead of + in mssql) make sure you declare empty strings as empty quotes – as when a null is “and-ed” with a string the result is null. I sent quite a few nulls to the execute statement when I was expecting the dynamic string to be full of meaning.
EF6 Core – reconfiguring navigation properties, the runtime was complaining about a column GolferId being missing (invalid database column).
Took me a minute to figure out and remember the default foreign key dependency naming convention in EF. Sometimes these frameworks are a bit too intelligent for my taste.
Turns out the EF was guessing that if I have a navigation property to a related entity called “User” – the framework will automatically use an object property field called “UserId” … easily solved with the ForeignKey tag 🙂
I had a problem with Xamarin.Forms MessagingCenter – as sometimes the messages disappeared. Code that on most occasions worked nicely failed silently and from debug output – the messages never reached the subscription methods. What I eventually found out was happening (after days of frustration) was that one of the subscriptions was updating the UI and since this is on a thread other than the main one – it just failed silently and the next message subscription never got the message. This is not a 100% diagnostic (I don’t care to waste more time on this) but moving the UI updates explicitly to the main thread solved the issue. Hope this helps someone … a day or two of pointless debugging 🙂
Theme for the first meeting (april 8th): Xamarin.Forms
Our software lunch chat will start with a Xamarin discussion – possibly (and very likely) touching on issues like comparison with Flutter and React Native – but leaving the big discussion about that for later. The focus of the meeting is developers in Iceland – we will choose the language based on attendance, but no Danish please 🙂
This is a technical meeting – so we’ll expect diving into code and sharing screens where applicable.