What’s the point of this blog post? In modern C#/.NET ecosystem there is encouragement to use async/await Task based asynchronous model over other asynchronous patterns and approaches. On the other side, there are still a lot of libraries (legacy, wrappers from other technologies/languages which uses events for callback calls, etc…) which use older EAP approach […]
A little bit of background. Bluetooth is a wireless technology standard used for exchanging data between fixed and mobile devices over short distances using short-wavelength UHF radio waves in the industrial, scientific and medical radio bands, from 2.402 GHz to 2.480 GHz, and building personal area networks. It was originally conceived as a wireless alternative to […]
Every application need some kind of logging or monitoring system. Monitoring can be used for tracing errors and exceptions, for analyzing of app usage, for finding hard-to-trace bugs in “production environment”, for storing some other runtime data interested for later analysis, and similar. In general and very commonly, .NET desktop apps use some kind of […]
In this blog post I will show how to remotely debug simple .NET Core console application running on Raspberry Pi and Ubuntu Linux. The purpose of this blog post is not to debug complex application, but to show step by step procedure how to perform remote debugging of .NET Core application. In other words, I […]
To be honest, I have never believed that I will write about developing Mac applications with C#. Well, I am more or less hardcore C# & .NET developer so this post is (I guess) a bit out-of-my-course. Not so long ago, .NET developers were limited to develop applications strictly for Windows environment. But with .NET […]
Task-based Asynchronous Pattern (TAP) was introduced in .NET Framework 4 and since then, it is the recommended approach to asynchronous programming in .NET.
Event-based Asynchronous Pattern (EAP) is still in use, especially at legacy systems, but for new development is not recommended anymore.
In this post I will show how to wrap EAP into TAP and use more modern approach.
On Android, when pairing with Bluetooth device is in progress, popup form requesting pin is displayed. Everything is ok, except awkward message “Try 000 or 1234”. For some users this is confusing, because they simply type in what pairing popup is suggesting. Of course, pairing fails due to wrong pin entered. Let’s take a look how I fixed this issue.
As of this writing, C# 8 is still in Preview 5, so It’s not 100% clear if all listed features will end up in final release. C# 8 will be probably released at .NET Conf , September 23 — 25, 2019. Nevertheless, let’s take a look at new features of C# 8. List of reported […]
In .NET world storing data into xml configuration files is very common scenario. While, web apps (Asp.Net) use web.config, desktops use app.config (renamed to <FullExecutableFilename>.exe.config at runtime). Every application sooner or later needs to collect, persist and restore some data (settings) from (to) end user. While web apps store these information almost always into database, […]
Modern applications are distributed, loose-coupled and service oriented. Decoupled systems perform and scale better, maintenance is far easier (by reducing complexity into smaller more maintainable parts). Communication system that glue together these decoupled parts is important part of the system. Windows Communication Foundation (WCF) has always been de-facto framework for communication between decoupled systems/processes in […]