Azure Stack Hub Development Kit (ASDK) is Microsoft’s “free trial” of Azure Stack Hub (formerly just “Azure Stack”), which you host on your own hardware. At a high level, it brings Azure to your on-premises environment.

The ASDK is is 100% free but per Microsoft, not suitable for production- but just maybe it’s good enough for homelab use.


  • ASDK deployments cannot be updated- you must re-deploy from scratch!
  • There is no data redundancy (via RAID, clustering or otherwise).
  • ASDK requires an Azure subscription (but doesn’t cost anything!)
  • Not everything available in Azure is available in ASDK. Notable things missing from…

Photo by Startup Stock Photos from Pexels

Tuples get a lot of hate in the C# world where they rarely see implementation, in part because of the obscurity of the “tuple” in certain programming languages such as C#, but also because the objects inside traditional C# Tuples are accessed as “Item1”, “Item2” and so on.

When it comes to how I return multiple properties from a method, here’s my hierarchy:

  1. Return a tuple (ValueTuple)
  2. Break the method up into smaller methods, each returning only one object
  3. and finally: create and use a POCO (plain ol’ C# object) to hold the objects

For me, creating a POCO just…

The Mona Lisa in Louvre, France
The Mona Lisa in Louvre, France
Reviewing a pull request is lot like viewing art. Image by

Is it readable (a.k.a. “beautiful”)?

Is the easy to follow? Is the code commented when necessary and self-documenting otherwise? Is there a way to write this code such that it is easier to read?

As an example, variables and method names should be as short as possible while still being intuitive. For example, I will use a variable name like unprocessedOrdersHash despite its length because it is more readable than uOrdersHash.

I am one of those developers who compares writing code with painting a picture, and I believe that it is always worthwhile to take the extra time to refactor code not necessarily to be…

Parallel LINQ (PLINQ) in C#

Parallel programming has historically been a relatively-niche and complex aspect of software development, often not worth the headache, but writing parallelized applications has only gotten easier and it’s not unusual for an application to leverage multiple cores on a device’s CPU at one time to maximize efficiency.

Nowadays, with the rise of Data Engineering as a field of profession, parallel programming is more popular than ever. Apache Spark, a software library used to “extract, transform and load” (ETL) large datasets, is perhaps the most-popular use of parallel programming today. …

James Spinella

Growing up I loved building computers, and now I write code for a living. I am particularly fascinated by “the human element” of software development.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store