Beta8 and the new hosting model

In ASP.NET6 beta8, Helios (IIS native host) has been removed. Instead you can use Kestrel host and configure IIS server to talk to the host. This hosting model should be very familiar with people using ASP.NET 6 on Linux as they may have already been using this hosting model from previous betas. I won’t write much about the hosting model as Damian Edwards already has a detailed post on that here:
However, I will describe some change that everyone that are using Helios on Windows would have to make to their beta7 projects.
Read More

CompositeTransform3D in Windows 10

I believe this has been mentioned in several blog posts (such as this one), but I missed one important part, and it took me almost an hour to figure out why my CompositeTransform3D does not give a nice 3D effect but only a “scaling” effect.

Turn out I need to have to put a PerspectiveTransform3D in the container of the element with CompositeTransform3D.

Kinect on Windows v2 keeps restarting

I have been playing with the Kinect for Windows v2 for a while, but I met a strange problem in the recent months: the Kinect kept restarting after 5 or 6 seconds. The RBG and depth channel looked fine in the Kinect Studio and Kinect Evolution, but the video stream kept running for 5-6 seconds then hung for 1-2 seconds (i.e. no new frame was received and the connection from the Kinect was actually lost). I have tried to reinstall the driver and SDK several times without much lucks. I though that it might be a problem with my Kinect, so I left it there until I can test with another Kinect.

Yesterday I tried to search for that problem on the Internet and found that several people also got the same issue. Someone on Microsoft’s forum suggested to disable Kinect audio and some other suggested to enable the audio device, so I decided to give it another try. It turned out that I have disabled Kinect Microphone Array. Re-enabling it fixed the strange problem.

It is a weird issue and does not seems to happen on older driver, and it is unfortunate that Kinect Studio could not give a better error message. I really hope that Microsoft would address that in a later version of driver and SDK, although I doubt that they will do that anytime soon.

First take on MongoDB

Recently, I have looked around for a good NoSQL database for my new project. I have been using MSSQL for a while but there seems to be more and more complexity as the data models are no longer table-compatible with sub-items and array and a volatile schema.

I have considered DocumentDB on Microsoft Azure on its very interesting indexing capability and the fully managed environment of Azure. However the current price is too expensive for me: 20 USD/month/collection. Some people suggested to put every type into a collection and use a field to distinguish them, but I feel that it is quite messy, especially for NoSQL starter like me. So I went back to some other popular choices such as RavenDB and MongoDB. RavenDB seemed to be a great fit at first as it seems to have very good interface for .NET (C# is my language of choice at the moment) and an awesome web interface, but I then realized that the free version actually has a lot of limit, and I did not plan to incur too much cost on this project.

So I decided to go with MongoDB, which is hugely popular NoSQL database, and seemed to be totally free for my need.

Read More

Python in Visual Studio

Visual Studio is a pretty capable IDE for writing Python. In this post, I am writing down some simple first steps to enable Python support in Visual Studio, and some benefits that you can get from Visual Studio when writing in Python.


1. Download Visual Studio from the website. You can use either the FREE versions as well.

If you are looking for the free version, you can choose either Visual Studio Express 2013 for Web or Visual Studio Express 2013 for Windows Desktop.

2. Download Python Tools for Visual Studio (from Microsoft)


1. Create new project

New Project

2. Write codes

3. Run


Something you can get when writing Python in Visual Studio


Intellisense works with both built-in Python functions and external packages (of course you will have to install the package first).

Python Intellisense in Visual Studio

Full debugging experience

  • Compile error listing & highlighting
  • Break on exception

Break on Exception in Visual Studio

  • Breakpoint, step through code
  • View/Edit local variable

Locals window

Immediate window to write in interpreter mode

Immediate Window

Install new packages (e.g. Theano, nltk, scipy, numpy) directly inside the IDE using pip, easy_install or conda

Those package installation tools also handle automatic dependency discovery (e.g. installing Theano will also install scipy).

Installing Python packages in Visual Studio

Source-control integration (e.g. TFS, Git, SVN)

You can view your change list, diff each files, update, commit, pull, push, etc. directly inside Visual Studio.

Python Source Control in Visual Studio


More information