.NET / C#
I love programming in .NET / C#. Have been doing it since 2004 now. Much has changed since: the .Net framework is got more libraries, NuGet was a game-changer and even C# itself is evolving with lambda and dynamic.
And now .Net has evolved to Standard and Core with support for other platforms like Linux / Docker. Things are getting easier and faster.
Draw .Net Core project relations with PowerShell and yUML
Having a diagram of how your C# projects interlink, can be a big help. I’ve created a small PowerShell script that will produce the diagram based on the .csproj files in a directory. It will generate Yuml.me diagrams based on the dependencies!
Calculations with Roman Numerals using C#
In a previous article I wrote how to parse Roman Numerals in C#. This article will focus on how to calculate with the class in an intuitive way. It will show how to implement implicit casting and the add and subtraction operator overloads. Fun stuff that’s probably useful in other projects.
Parsing Roman Numerals using C#
Lately I’ve become fascinated with the Latin language. I’m working on a project that converts photographs of Latin inscriptions on medieval statues into translated text. One of the challenges is parsing years, usually expressed in the form of Roman Numerals.
After building a parser class I noticed that it had a lot of nice characteristics: parsing, operator overloading, implicit conversions. A nice way to play around with C#.
Dynamically map JSON commands to object methods in .Net
Lately I’ve been playing around with USB led lights in .Net. I wanted the animations to be separated from my code. Wouldn’t it be great if you could define what animations are executed in a JSON file? And map it to code?
Normally one would build a mapper that does the conversion of the JSON commands to the methods. I like to use a more generic approach. I’ve created a small utility class that executes commands by mapping and executing them as a method of the object.
Offline Google Authentication for MVC.Net
A while back I wanted to create an ASP.Net MVC client for Google Fit that charted my weight. It turned out that offline Google authentication wasn’t as straight forward as one would hope. This article will explain how it works using Google Fit as an example. The code is applicable to the whole Google API. In this example only one authorization is stored and used across multiple accounts.
Getting your weight from Google Fit with C#
I think Google Fit is a wonderful platform. It connects multiple devices and apps to give you insight into your fitness. I connected a Withing Smart Body Analyzer scale to the system. What I’m missing is a simple min / max weight per day graph. This blog describes how to get the weight data out of Google Fit into your C# application. You can use your own chart solution to plot a graph.
Simple Database-less Authentication for MVC.Net
There are many projects that are way too small to setup an ASP.Net membership configuration or OWIN authentication. But you still want to protect your applications by one or more accounts. What to do?
Well… there is a small – but obsolete (!!) – thing that you can try: ASP.Net Forms Authentication. While it is obsolete, it is still usable. In this article I’ll show how to implement it for MVC.Net.
Get keywords for images from the Google Cloud Vision API with C#
This blog will explain how to use C# (.Net) and Nuget to get keywords from the Google Cloud Vision API project. I will show you how to upload your images through the API and getting the keywords using the LABEL_DETECTION feature.
Rasterizing EMF files with .Net / C#
I can almost hear you think: “Why on earth would anyone use EMF?” Well… I don’t… but MS Office does! Thumbnails that are saved in MS Word documents are in the EMF format. As I struggled to do something with one, I realized that I had to convert it first to a more “easy to handle” format: PNG. Easier said than done.
A BlockHasher helper class
There are a few instances in which you’ll need to hash a combination of data. You might resort to creating one big string and hashing that. It has a clear disadvantage from a memory and processing point of few. It might even be impractical when files or streams are involved. That’s why I created a BlockHasher utility class that helps to generate these types of hashes.