My house is relatively new but unfortunately in Unites States most houses have video coaxial cable and not ethernet. I seen few houses with ethernet but they still quite rare. On other side apartment where I lived before I bough house has ethernet sockets in every room. It also has USB sockets on pretty much every power outlet. Really convenient. Anyway, after I bought my house, I have to solve connectivity problem.

I had 2 ethernet sockets: 1 on the kitchen and it was built with house and second one was installed to transfer video and audio data to TV during selling process. And every room has coaxial video cable connector.

Initially I though about removing coaxial cable and please

Let me explain my network configuration. First is cable modem Arris SB6183 that works as dumb device that pretty much just transfer signal from cable to ethernet. Next is my main router based on TP-Link Archer C7. It has OpenWrt instead of stock firmware and it works great. Effectively cable modem plugged into WAN port of that router and my router does all heavy lifting. Main router is also Wi-Fi access point. But because I have relatively big house and connection cabinet is in one of its corners, I cannot provide stable Wi-Fi connectivity to opposite corner. As result I have second router based on TP-Link TL-WDR4310. It also running OpenWrt. Second routers to connected to main router by

Let me talk about my first experience with Ubuntu. But before that I had to state that my previous experience with Linux was somewhat limited. I did play a bit with Linux at around 2003. I also have couple of OpenWRT routers that are Linux based. I was able to do quite a lot with these routers.

Anyway, back to Ubuntu. We had quite old server that was running Ubuntu 16.04.5 LTS and I have to install exactly the same version and necessary software. At the beginning I couldn’t find 16.04.5, but I was able to find 16.04.1 and I decided to install it and then later upgrade it to 16.04.5.

Firstly, I accidently install regular Ubuntu with desktop etc.

Many .NET developers sooner or later will have to do interop with unmanaged world. Let’s say for example that you need to use some Dll written in C++. Passing integers or floats relatively easy, but things are much more complicated with strings. Many C++ Dll still uses ANSI strings, so let’s talk about them. Normally when you read Microsoft documentation you will be slightly confused. Some pages states that you have to use UnmanagedType.LPStr like it stated here: https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.unmanagedtype?view=netframework-4.8#System_Runtime_InteropServices_UnmanagedType_LPStr. And that looks like correct for ANSI strings. Moreover, you can try it and it works just fine.

Some pages stated that you have to use IntPtr: https://docs.microsoft.com/en-us/previous-versions/ms172514(v=vs.100)?redirectedfrom=MSDN and then manually prepare strings to pass

Last time I wrote that finally last feature I needed was added to Skype. It does not work as I expected but I thought with time they will fixed. Well, a lot of time passed, and nothing changed. Moreover, none of the existing bugs were fixed and new bugs were added. And now about this is details

Last feature I need is window per contact, so I can talk with few people, without constantly switching between them. Moreover, sometimes I actually need to see information from both contacts at the same time. Well Microsoft finally implemented that feature. But if somebody sent me message then instead of highlighting that window in taskbar, only main Skype window highlighted. So, I still

Recently I found interesting program called dnSpy https://github.com/0xd4d/dnSpy that allow to debug .NET application without need to install anything. It also can allow debug .NET applications without source code (including .NET framework itself), it allow to edit assemblies, allow to edit in C#, IL etc.

Highly recommended application and it should be in tools belt of any .NET developer.

Today I was viewing this video https://www.youtube.com/watch?v=gB7UfSsOEGk

In this video guys showing different public groups in Facebook where people trade other people’s private information to scammers. Like tech calls, refund scams, pharm scams etc. And this guy was surprised by this fact. It reminds me https://www.mirabulus.com/it/blog/2019/09/19/you-are-product-and-not-customer

Facebook does quite substantial segregation. First category of people is just ballast. Long time ago all ships have something heave at their bottom to prevent flipping when big wave hitting them. And even in such unlucky case, it will flip back. Extra weight is obviously bad, but in this case is necessary for safe sail. The same applies to this category of people. Nobody needs them, they are necessary evil, food for

Black Friday is coming and if you want to buy anything on AM4 platform I can watch this video to pick up motherboard: https://www.youtube.com/watch?v=ti38JS8RuPU

Just keep in mind that he is looking at motherboard from overclocking point of view. But if he says avoid this motherboard, then you should avoid it. Specially for B450 chipset.

In my opinion $160 is top for motherboards for regular folks who does not to do heavy overclocking. My last motherboard was B450 GAMING PRO CARBON AC and I’m quite happy with it. It did cost $129 and was really happy that I decided to buy it from Newegg because even 15 months later this motherboard cost $139. It has nice audio track even

Not sure how many people aware, but .NET runtime will terminate process when background thread raises exception that is not handled. Reason behind that if exception is not handled, then this situation was not tested and can lead to program corrupting its state and it is much better to just terminate it. This reason definitely has some sense and normally I would agree with it. Application will crash, mini dump will be created and sent to Microsoft. Then you can have access to these crash reports and analyze them. But this approach has some issues.

First issue. In reality, corruption is extremely rare. For example, in our application I never heard about corrupted files. Still possible, just very rate. But