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

Error! Can’t initialize plug-ins directory

I tried to install the new version of IntelliJ IDEA today and I got this strange problem.

Error! Can't initialize plug-ins directory. Please try again later!

Some searches on the Internet made me think that the problem was not from IDEA installer, but from Windows itself. I could later confirm that by fire up the installer of Format Factory and got the exact same error messages.

I took me an hour to try out different things until I got this forum thread: http://www.bleepingcomputer.com/forums/t/544157/error-cant-initialize-plug-ins-directory-please-try-again-later/.

Basically, the permission settings on the Temp folder of my user profile was messed up, and my account did not have any permission on that folder at that moment.
In short, the fixed is simply go to the Properties of that folder (you can type %temp% in Run to go to the folder directly), jump to Security tab, choose my user account, press Edit, and put a tick on Full control.
There were several error messages saying that I could not change the permission of some subfolder, but ignoring those folder does not causing me any problem till now.

I hope it help if you are having the same problem!

Surface Pro 3 – One and a half week later

Update: Some tips in the work section about using Adobe CS6 Collection with the high DPI screen of Surface Pro 3.

I have just bought a Surface Pro 3 for more than a week to completely replace my laptop, and I would like to give some reviews on my experience so far.

TL,DR; version. Surface Pro 3 is definitely NOT a one-device-for-everything-in-life thing (at least not my life). However, it is a perfect replacement for my laptop and also provide so many other convenience from a portable form factor.

Surface Pro 3

Read More

Random thought: What Windows 10 needs to have to create a better connected mobile platform

I have been using smartphones and tablets a lot for the recent years, including several years using Windows Phone and a year using a Windows 8.1 tablet: the Dell Venue Pro 8. I would say that Windows 8.1 works great as an OS for both consuming and occasionally producing content on the tablet; however, it is not excellent as an OS for connected consumer devices.

Below are several things that I hope Microsoft will sort out before the launch of Windows 10 next year. Those are also the features that have not been introduced or those that I have never heard any rumor about on Windows 10, so Action Center (coming for sure) or Cortana (definitely coming sooner or later) will not be included here.

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.

Installation

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

http://www.visualstudio.com/downloads/download-visual-studio-vs

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)

http://pytools.codeplex.com/

Usage

1. Create new project

New Project

2. Write codes

3. Run

Run

Something you can get when writing Python in Visual Studio

Intellisense

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

http://www.i-programmer.info/news/216-python/7888-python-tools-for-visual-studio-gets-new-focus.html