Porting your legacy crapware to .Net Core and Angular in 1 second

Over the years, I have seen so many legacy systems, built on ancient technology, that I could probably demand a PhD in legacy crapware. I once worked for a FinTech company that was using Open Source components that had officially been abandoned by its developer more than a decade ago. Working with jQuery, Durandal and .Net Framework instead of .Net Core today, simply doesn't cut it. In addition, the results of working with such projects, is that you as a developer slowly withers away, and become obsolete over time. Hence, you should do everything you can, to argue in favour of upgrading these legacy systems, to a modern platform, such as Angular and .Net Core.

From your management's perspective though, this process is only costs. They know they had 20+ developers, working for 20+ years, to maintain their garbage - And hence, therefor they believe it'll take 20+ developers for 20+ years to replace it. In such a regard, your management is still living in the stone age, believing in stone age tools, and stone age processes - While the rest of the world silently gained cold fusion capacity, without them even noticing. There are simply no arguments today that dictates that it requires the same amount of resources to replace their legacy projects, as it took to create it in the first place. In fact, often replacing such systems can be done surprisingly much faster than they think, and a lot of their existing structure can also be transferred into the new codebase.

Give me 10 Cappuccinos and I’ll turn you into a 10x Software Developer

The difference between a junior and a senior software developer is 90% their toolset. A senior will choose better tools, because of his experience, and as a result, he or she will deliver better results. This is why most senior software developers have an arsenal of libraries, frameworks, and tools, he or she is using - Because the senior will do anything possible to avoid re-inventing the wheel. Honorable mentions here can be found below.

  • Entity Framework for .Net Core
  • Refit for .Net Core
  • Angular
  • React
  • Etc, etc, etc ...

But also commercial tools such as SonarCube and Bugsnag can be listed here.

Translate your Enterprise apps in 1 second

I must have seen dozens of implementations of this exact same web app during my 25 years as an Enterprise developer. And to be honest with you, I'm tired of implementing the exact same app, over and over again. "Don't reinvent the wheel" comes to mind. Hence, I decided I wanted to create a "micro service web app", providing me with all translation features I could possibly need in the future. And more interestingly, I will create the entire app, in 1 second, by simply clicking a button. If you don't believe me, feel free to watch the following YouTube video, where I demonstrate how I solve all my translations needs, for the rest of my life, in 1 second.

The SQL script I am starting out with can be found below.

Creating a JWT auth server in 1 second

Security is one of those things you shouldn't play around with yourself, unless you know what you're doing. This is the reason products such as Identity Server has gained such momentum and popularity. However, Identity Server is extremely difficult to configure correctly, and OIDC is also arguably a "hack" on top of OAuth2. JWT on the other hand, is dead simple to understand, and was created explicitly to authenticate and authorise users, contrary to OAuth that was originally created for an entirely different purpose. Hence, JWT is just as secure as OpenID Connect, only a gazillion times easier to understand and implement.

In the following video I demonstrate how to create your own JWT server using Magic in 1 second. Notice, Magic is a commercial product, and you need to pay a small fee to use it in a production environment - But compared to the number of hours you'd have to spend rolling your own Enterprise Single Sign On solution using JWT, I'm confident in that the license costs are small in comparison.

Creating an Angular Web App in 1 second

I've had some time over the summer to work with Magic. One of the more important features I have implemented, is to make it more easy to use, and especially in regards to referential integrity columns. Watch the video below for an explanation.

This allows you to generate your Angular frontend in 1 second, spend some few hours editing the automatically generated frontend, and have an actual working Angular frontend CRUD app, in roughly half a day. I believe this might be especially interesting for more "raw" database access to your backend's database, in particular for cases where you need to some sort of "advanced GUI" to modify your data, in cases where something goes wrong with your app's data for some reasons. As in, making Magic become your app's secondary app, for editing data items in your database. As a simplified version of something like PHP MyAdmin.

A Dynamic Task Scheduler for ASP.NET Core

There are many task schedulers for ASP.NET. Two of the more famous ones are Quartz.NET and Hangfire. Both of these are amazing tools, and I have personally used Hangfire myself with great success. But, they both suffer from a lack of flexibility and/or complexity in usage. 

Quartz.NET suffers from an overly complex API, based upon configuration files, in a difficult to understand format, giving you no syntax highlighting or AutoComplete when you declare your tasks. In addition, the amount of code required to actually create a simple task sometimes feels staggeringly large and unnecessarily complex. The fact that it was "ported" from Java shows as you try to learn its API.