Category Archives: Intersting

Interesting Findings #3


Quite old news, but I added miniconda to chocolatey. If you need Python on Windows and do not want waste your time to setup wired stuff to compile packages like NumPy, you probably better to use Anaconda or Miniconda which is the same but with smaller number of packages pre installed. You however, always can install pre-built packages with ‘conda install’. So.. to install Miniconda for Python 2.x, use:

choco install miniconda

for Python 3.x

choco install miniconda3

Do not forget, after installation issue

conda update conda


Few weeks ago I completed nano project using NodeJS (express, mongodb, browserify, gulp).

  1. Feels quite good for small fire-and-forget style projects.
  2. Lol, but NodeJS still uses callbacks! Promices are almost here, but… really they are not. Every lib invents own Promices, styles.. and yet they are actually like C# from 2005.
  3. Deployment is a joy.
    1. For development npm start.
    2. For win server, iisnode works really nice. Handles restarts in case of crash. Runs node per processor by default. Nice experience.
    3. For Amazon, Beanstalk allows load balanced, autoscaled, rolling deployment with few command line commands. Super nice.
  4. and Co are great. Browserify, ReactJS JSX, unit tests.. all work when you hit Ctrl+S. Page auto reload when something changed are also very handy.
  5. Time to start from zero knowledge is amazing. Actually after few hours, you have comfortable workflow and running application.
  6. Node.js Tools for Visual Studio – well, I cannot find any need of it. But it works and now it support Visual Studio 2015 (It works with free Community Edition too).

Amazon Beanstalk

May be half a year ago, Amazon eventually implemented something like Web and Worker Roles from Azure.

  1. Looks quite good for NodeJS and Python, but not so good for .NET. For example, there is no Worker Environment for .NET.
  2. Works very well with Docker, I managed to run my small app with Docker on Beanstalk in just few commands.
  3. Supports integration to Visual Studio and have nice command line interface. Quite easy to integrate into build process.


This year Build 2015 is exceptionally interesting.

  1. Docker on Windows. I am not sure how this will change Windows development, but at least Mark Russinovich already made a demo of Docker for Windows. It works. It is really containers on windows. Demo was from non Server SKU. Windows and Linux Docker images will not be compatible.
  2. Docker is nicely integrated in ASP.NET development. New DNX infrastructure is fully supported on Linux, Visual Studio can now package DNX sites as Docker containers and… Visual Studio can debug code remotely on Linux in Docker – sounds crazy, but that was also demoed on Keynote.
  3. CoreCLR is open source. DNX stuff is also open source. Everything works on Linux and OSx.
  4. Visual Studio Code (yet another JS editor, based on Electron), well works quite nice, except I do not understand why not just a plugin for Atom. Marketing BS probably.


  1. Playing with Splunk. It is super easy to start with and it provides results immediately. The only problem for me is price. I just do not get their pricing model and it looks like quite expensive.  I still hope that I will be able to try it in real environment.
  2. Nice site with ML resources , especially I love their twitter.
Tagged , , ,

Interesting Findings #1


Last few weeks at ELEKS I am playing with Kinect to help our UX team to implement exciting stuff they need. So my finding here:

  1. It is very easy to work with. No magic, just works. Easy to setup, easy to start.
  2. Kinect SDK is very nice. It has super abstraction of user skeleton as well as raw data. With skeleton it is very easy to implement cool gestures and funny interactions. It took me few days to get comfortable and implement basic stuff with WPF. Microsoft.Kinect.Toolkit and Microsoft.Kinect.Toolkit.Controls provide usable stuff like handling connection to the Kinect, showing skeleton and interaction.
  3. There are many libs that actually work with Kinect. OpenCV, OpenNI and others. Many cool experiments. I have not tried this yet, but it definitely on my todo list.
  4. I was quite disappointed not to find good control sets for WPF and Kinect. There are some controls in Microsoft.Kinect.Toolkit.Controls library, but they are not super polished. Animations, feedback effects, transitions are boring. What is even more disappointing is lack of high quality entertainment controls even just for WPF. For example carousel control. for WPF it is – damn, it looks 80th… Compare to dozens of HTMLcarousels.. And this moves us to next point.
  5. It might look funny, but it is quite easy to use Kinect with HTML. Idea is simple, you have application that actually connects to Kinect and you have static HTML page that talk though WebSocket to that application. You can implement logic on application side and just notify HTML app with changes or you can stream everything form Kinect to HTML page and implement logic in JavaScript. Anybody who concerned about performance of such solution, do not worry, it just works, even raw video(color) stream works fine without any lags. In Kinect SDK there is kinect.js and sample server that actually implement this, but it looks a bit overcomplicated, so I implemented my own, took me few hours of work.

Kinect 2.0

On next week I will have Kinect 2.0 on my hands. I will probably have much more interesting things, but for the moment here is it:

  1. Kinect 1.0 libs were only distributed though SKD download. For Kinect 2.0 many libraries are actually distributed though NuGet. No more Microsoft.Kinect.Toolkit.dll in real projects. Yay.
  2. Kinect 2.0 has gestures support built-in. It provides tooling to teach it with new gestures. I do not know if SDK will have some gestures built in, but this is good start. It uses ML instead of heuristics so possible it will work for not so obvious gestures. Gestures support is actually what I will research next week. Wish me lack.
  3. More points to track. For example it now tracks your big thumb.
  4. Better quality of the depth stream. I hope this will boost implementations of small gesture detection like sign language.


  1. MVVM is still hot. Also I tried MVVM Light and well… do not feel that it provides more value then it requires to learn. So probably next time vanilla MVVM.
  2. Open source WPF controls in general are very low quality. Many of them is not even on NuGet. After tons of HTML controls and frameworks it looks disappointing.
  3. WebBrowser control does not work with WPF layouts. Disappointing. Awesomium has issues with rendering in full screen at least on my computer. Actually I was not able to find solution that will be able to show local HTML and feel natural to WPF.
  4. Grid is quite ok, but for now CSS grid systems found a way better expression of such layouts. Syntax of CSS grids is more simple and less verbose.


It is first time I work for production AngualrJS. My findings could be naїve, but anyways.

  1. I was able to start quite fast. Two way binding, templates in HTML, ng- attributes looks dirty but they work.
  2. It is more or less easy to learn when you have template or example. For me it is very hard to remember all this directives and assumptions that AngularJS put on you.
  3. Looks like nice and free introduction course for AngularJS on CodeSchool.
  4. Hope AngualJS 2.0 will do better.
  5. There is no EventEmmiter built. Quite sad. And because of lack of normal modules you cannot use something that does not made with AngularJS in mind.


  1. I found amusing where Adelaide located. I failed even with continent.


  1. I tried to build mock screens with actual HTML. It uses Twitter Bootstrap and few other JS frameworks(e.g. ChartJS). It uses real links for navigation. And result looks very good. You need bower install before user. It even have responsive design! Examples screens in docx(sic!) format.
  2. Solidworks has very bad API for automation for .NET. Full of unobvious states magic strings and so on. And for the end methods with 27 parameters without default values and names like dX1, rQur and so on.
Tagged , ,