Site moved back to Linux, again.

That’s the second time, lol. People fails in the same way huh?

I have used Azure Web Apps (on IIS) to host this website for more than 1 year and it turns out it is not good enough to run WordPress.

In the last year, the site was running in a very low speed. You may not observe it due to cache plugin, but I have to face it when publishing anything. The response time is around 20-60 secs for every process, proven by the chart displayed on the portal of Azure.

I also tried to use the Linux version of WordPress published officially using Azure Web Apps (on Nginx I guess). It’s faster, but still not fast enough, and the most critical is that’s not stable. Due to something unknown, it keep rolling config file back to the last version.

Finally, I decided to move all sites back to Nginx on Linux server without any SaaS solution. If you are facing this problem or want to host WordPress on Azure, you should consider to use a Linux server yourself instead of those official packages.

On more thing, there is another site powered by ShortUrl on the same web app, which need more time to move due to ShortUrl is built on DotNet Framework and is not able to run on Linux. My friend and I are rebuilt this program on DotNet Core 3 and it will be published on Github later.

Latest Chrome Dev version crashed on macOS Catalina DP 5


I’m using Chrome from developer channel for a long time on my macOS.
Since August 14th, 2019, after an auto upgrade of the Chrome, it cannot be launched again. When starts, it shows a empty window with only 3 common color dots at the top left corner and then halt.

Tried rebooting and reinstalling, the problem cannot be fixed.

Currently, I turned it back to the stable channel, which works well.

Sorry that I cannot provide the version number of the affected version, which I cannot get without start it.

Update: In DP6 (19A536g), Chrome Dev version is working well now.

MSDN Magazine

It says MSDN Magazine is ending soon.

Here is the MSDN Magazine collection hosted on my OneDrive. Password is “” without quotes.

All files are mainly downloaded from official site. The missing (2018 Jan / Connect) and not published (2019 June / July) are from my received emails (subscribed version). I will update the rest when they are published.

I attached some main tech involved at the file name.


The final issue of MSDN Magazine is published.


The issues listed below are replaced by the versions from emails due to reason specified.

  • 2018 Jan version: Wrong link to 2017 Jan.
  • 2018 Connect(); Missing link
  • 2019 July: 404 link
  • 2019 October: Not published yet.
  • 2019 November: Not published yet.

All I want, is write a lock…

Today, I need to use an instance of synced version of HashSet in C#, aka, ConcurrentHashSet<T> in tech language.

First, I dig some in GitHub and NuGet. I found 2 solutions contains this solution, as they described. One has the exact name of ConcurrentHashSet, but it’s not implemented the ISet<T>. Another is a big set which contains this class with the name, which is written using ConcurrentDictionary<T>, with no ISet<T> implemented either.

Hmm, it seem that if I really need ISet<T> support, I have to do it myself. Let me create class inherited HashSet<T> to write some overridden methods and properties with lock… Wait a minute, only 3 methods from Object is allowed for overriding? Wtf.

If I cannot stand on the shoulders of HashSet<T>, let me dig the HashSet<T> first. Luckily, Microsoft released the source code of the entire dotNet framework. HashSet<T> is included as well. All I need to copy the whole code into mine and… Uhh? What’s the license of the file?

By asking a lawyer friend, I’m told that I MAY have right to use this code in my program but I’m NOT GRANTED to publish the ConcurrentHashSet<T> I wrote separately. That maybe the reason why I failed in the first step — Microsoft didn’t finish their job and don’t allow anyone to fix it for them.