If you have ever bought milk at the supermarket, then you can understand server-side and browser-side caching.

Design patterns give us a proven solution to existing and recurring problems. Similar mechanisms exists on a higher level: software architecture patterns. These are patterns for the overall layout of your application or applications. They all have advantages and disadvantages. And they all address specific issues.

According to Wikipedia, a blockchain is: "A distributed database that is used to maintain a continuously growing list of records, called blocks." That sounds nice, but how does it work?

This article explains Bitcoin mining in details, right down to the hex data and network traffic. If you've ever wondered what really happens in Bitcoin mining, you've come to the right place.

The Vue JavaScript framework is "reactive," which means it can automatically refresh your data. Learn the ways you can take advantage of this in your apps.

ML.NET is an open-source and cross-platform framework and available as NuGet package. It was originally developed in Microsoft Research and it is used across many Microsoft products like Windows, Bing, Azure, etc. One very cool thing about this framework is that it can be extended to add machine learning libraries like TensorFlow, Accord.NET, and CNTK.

It turns out that we need to put a lot more attention to our projects to write them in more readable and maintainable way. The main reason behind this statement is that probably we are not the only ones who will work on that project. Other people will most probably work on it once we are done with it.

In this article I want to briefly go through SOLID principles (acronym that stands for five basic principles of object-oriented programming and design) supplying each of them with real-world visual examples to make those principles more understandable, readable and memorizable.