Building your own audio player with .NET – part 1
As great as .NET is for writing software for multiple platforms, it lacks some important capabilities. This applies to those functionalities that would work radically differently on different CPUs and operating systems. One of these is the ability to play sound. With its predecessor, the .NET Framework, you could play Continue Reading
Coordinating IoT cluster with SignalR
Clustering is an important functionality in the Internet of Things (IoT). It allows multiple devices to act as one and coordinate the work between themselves. For example, you may have IoT devices that are making real-time audio announcements at the departure gates of an airport. If the gates are in Continue Reading
Why every programmer needs to know design patterns (and how to learn them easily)
This article is a modified introduction to the book The easiest way to learn design patterns. The book is available in digital format at LeanPub and in either Kindle-specific format or in print from Amazon. Design patterns are something that you will need to get familiar with as a programmer Continue Reading
What programming language to learn first – the case against C++
You can become a programmer without a formal computer science degree. Around 30% of software developers are self-taught. But you would probably want to know which language to learn first. After all, there are many of them out there. Well, the answer to this question is simple enough if you Continue Reading
Always make your apps localizable from the start
Any major software development framework has in-build localization mechanism. This will allow any app built with it to be able to easily change the language and other culture-specific settings depending on the users’ preferences. You may think that this doesn’t apply to your app. Perhaps you never intend to release Continue Reading
Differences between .NET, .NET Core, and mono
Historically, .NET Framework was a Windows-only software development framework. In fact, many developers who don’t regularly work with it still believe that .NET and its languages, such as C#, are only available on Windows. It all changed in 2016 when .NET Core was released. The biggest selling point of .NET Continue Reading
Why you should care about functional programming
Microsoft has spent a lot of time and effort developing its main functional language, F#. Over time, it has been given many cutting-edge features and tooling, far better than anything available in any other language on the .NET platform. This has got the software development community excited and the official Visual Continue Reading
Why TDD is severely overhyped (and why you should still try it)
Test-driven development (TDD) is all the hype these days, especially if you frequent LinkedIn and various software development community forums. It’s almost like a religion these days. Many TDD evangelists will keep saying that it’s the best thing since sliced bread. They will try to convince everyone to start using Continue Reading
The easiest way to run and debug .NET AWS Lambda locally
.NET developers who are new to AWS Lambda functions often struggle to figure out how to test them locally. The documentation is somewhat sparse or it proposes excessively complicated ways of doing this. For example, there are articles and YouTube tutorials proposing to use AWS Serverless Application Model Command Line Continue Reading
The art of scientific debugging
In your software development career, you will have to spend a lot of time finding bugs in the code and figuring out why it doesn’t do the thing it’s supposed to do. This is what the process of debugging is all about. Because debugging is where the majority of developers Continue Reading
The easiest way to learn ASP.NET Core
ASP.NET Core is the main web application development framework in .NET, which is the core software development platform of the Microsoft stack. It comes with various application templates that would allow developers to build any kind of web application. For example, a simple REST API interface can be built by Continue Reading
How big data web applications are built
On the most fundamental level, a web application consists of client-side code and markup, server-side code, and a database. Many small websites and small-to-medium enterprise-level browser-based applications consist of nothing other than these components. However, on its own, this basic setup is not suitable for a big data application. Big Continue Reading
When NoSQL is a better choice than RDBMS and when it’s not
Relational Database Management Systems (RDBMS) and Structured Query Language (SQL) associated with them represent a mature technology that existed for over 30 years. However, a group of data storage technologies based on a completely different paradigm, collectively known as NoSQL, is establishing itself as a popular alternative, especially within performance-critical Continue Reading
Scaling out a SignalR hub with Azure SignalR Service
In the previous article, we had a look at how to scale a SignalR hub by using Redis backplane. But you can also scale your hubs by using Azure SignalR Service. And this is what we will have a look at in this article. Using Azure SignalR Service has some Continue Reading
How to scale out a SignalR back-end by using Redis
You can run a single monolithic instance of a server application only if the number of clients accessing your application doesn’t exceed a couple of thousand. But what if you expect hundreds of thousands, or even millions, of clients to connect to your application simultaneously? Then a single instance of Continue Reading
Securing your SignalR applications with OpenID Connect and OAuth
Securing your applications is very important, especially if they are accessible via a network that you don’t have control over, such as public internet. Without security, absolutely anyone can connect to your application, including someone who is up to no good. And this may result in a catastrophic failure that Continue Reading
Advanced SignalR configuration: fine-tuning the server-side hub and all supported client types
We have already covered all the fundamental ways of using SignalR messages. We have learned how to set up clients of all supported types, how to send messages to specific clients and how to use data streams, both client-to-server and server-to-client. Now, we will be moving on to more advanced Continue Reading
Streaming in SignalR
Until this point, we have only covered the use of singular messages in SignalR. But SignalR also supports message streaming. Streaming is when, instead of sending all data at ones, you send it in chunks. Perhaps, it’s a large object that gets split into smaller parts. Or it could be Continue Reading