• This is a usual time of the year for summaries so let’s keep the tradition alive and write one. Here’s my 2017 achievements split between months. January Blogging for 18 days straight – nothing near gutek’s achievement (whole year!) but still a nice streak Microsoft MVP title (thx Konrad Kokosa for pointing this one ;)) February […]

  • “Advent of Code is a series of small programming puzzles for a variety of skill levels.” Each day was a fun an interesting coding challenge. I’ve decided to practice and code this in python to learn the skill. Some of them might not be the best python scripting as I was short on time in […]

  • Some time ago I’ve attended a .net developer days 2017 conference. I was quite busy since (traveling, teaching .net, working) that only now I got some time to share some thoughts about it. As a bonus I’m including a short interview I did during the event. I need to state here, just to be clear, […]

  • We developers don’t like documentation. We don’t like to read it, and we even more we don’t like to write it. But sometimes it is worth to read it. Like when you find out that by using datetime in SQL DB you got a milliseconds precision but only if it ends on 0,3,7 (link). That […]

  • In the previous post we’ve removed some of the technical debt that could be found in our NetDeveloperPoland Website application. In this one we will remove it even more. We can even maybe reach a B? Let’s see where we’ll end up at the end of this part.

Microsoft Cognitive Services - Search API

The last leg of Microsoft Cognitive Services is Search API. Lets check what we can find in this part of the API that could extend our application with intelligence. Read More

Microsoft Cognitive Services - Knowledge API

Continuing on Microsoft Cognitive API. Today lets find out about Knowledge API. In this category we can find services like: Academic Knowledge, Entity Linking, Knowledge Exploration, QnA maker and Recommendation API. Lets have a closer look at each of them.

Academic Knowledge

This API allows you to search through academic papers and retrieve information from Microsoft Academic Graph. MAG is bing based knowledge database. More can be found at: http://aka.ms/academicgraph.

Entity Linking

With this API we can identify entities in our text and match them with different one that has the same meaning based on context.

Entity Linking example

Knowledge Exploration

Allows interactive search experience. In this category we can find services like: natural language understanding, query auto-completion, evaluation of structured query and attribute histogram.

QnA maker

With this service you can easily convert existing FAQs into knowledge based that allows your users to query with a natural language.

Recommendation API

This API we can use to provide our users with services like product recommendations and frequently bought together option. This might be used as an excellent addition to online shopping experience.


Have you already used Microsoft Cognitive Services in your application? If so I would like to know what are you using it for – share your ideas.

Visual Studio 2017 is here

Tomorrow is the launch day for Visual Studio 2017. This year marks also a 20th anniversary.Visual Studio 2017 launch event

Visual Studio 2017

If you are interested or a fan just go to https://launch.visualstudio.com where you can watch the live streaming of the whole event. There might be also a local event in your town so have a check at https://launch.visualstudio.com/local-events/ whether someone is hosting the event near you and go there. You will not only find out about Visual Studio but also meet great people there.

If you happen to live in Wrocław, we do also have a local event here that you can visit. Check the meetup page for more details. If you can’t attend, or there it’s already fully booked – don’t worry, it should be recorded.

My contribution to this event will be to present how Visual Studio was before it entered the .NET phase. I’ve started with the tools with the 6.0 version and to be honest, I had the mixed feelings about it.

We came from this…

Visual Studio 6.0

…to this

Visual Studio 2017

A lot has change along the way. Happy birthday Visual Studio!

We’ve already covered Vision and Speech API – now’s the turn for Language API.

This part consists the most features that we could try. We can spell check with Bing, use Language Understanding Intelligence Service (LUIS) for understanding the commands from the users, or analyse the text with Linguistic Analytics API. What is also available is Text Analysis (i.e. sentiment) or just simple a translator API. The last available service is Web Language Model based on data from the web.

Skipping the translator, as this is probably not very interesting service, let’s check what is…


LUIS or Language Understanding Intelligence Service offers the ability to add text understanding to our application without coding a bunch of if-statements. The actual page for the LUIS service is luis.ai and there we need to create an account in order to start using the service. There we can provide examples of the phrases that LUIS should learn from and extract relevant information of the things we want to talk to it. If we just want to play with it, there’s a nice example on MS Cognitive Services website.

LUIS in action

Text Analysis API

Another interesting services that located under the Language part of Microsoft Cognitive Services. It allows to extract useful information from the text.

Text Analysis API

It can detect the language, extract key phrases from the text and also provide information about sentiment. Currently works with language like English and Spanish. For Polish, it can only detect that the text is written in it.

The last described service is..

Web Language Model

Services that we can use there are ranging from detecting the spaces in a long string. So we can get “some long text without spaces and anything” from “somelongtextwithoutspacesandanything”.

Congitnive Services detecting the spaces

It allows also to calculate probabilities of words/phrases being put in a sentence together as well as  to get the percentage of two words/phrases are combined with each other. Finally we can use it to predict what is the best match for group of words that is commonly present.

If you are dealing with text – Microsoft Cognitive Services Language API might be handy to add additional layer of intelligence to your app. Have you used it already?

Microsoft Cognitive Services - Speech API

Apart from Vision API another interesting part of Cognitive Services is Speech API. Here we can use Bing Speech API to convert text to speech, custom speech API or Speaker Recognition API. Let’s look at the last one. Read More

Microsoft Cognitive Services - Vision API

Vision API allows us to get insights from images and videos. In this category we have services like: Computer Vision, Content Moderator as well as Emotion, Face and Video API.

Computer Vision

The most broad is Computer Vision. It allows to extract a set of features from images. We can get a general description of the image, tags with the information that image contains, general information about faces present in the image. It can also recognises celebrities. To enable that we need to put that into details parameter.

Vision API recognises Steven Seagal

To control what API returns, we can use VisualFeatures query string parameter.

Interesting values is Adult, which analyses and image whether it might be NSFW. If you get a lot of links of images which you don’t know whether should be displayed on work computer you might want to run it by Vision API and check adult section

There are parameters that values close to 1 might indicated that the content might not be suited for work. Quite a nice feature of Microsoft Vision API.


Faces API focus only on one element of the images – mainly recognising people’s faces that are present on images. If you remember a Nikon advertisements that presents it’s new Face priority focus – this is what you get from this feature.

Nikon's ad

But that’s not all. We get additional information about ears, nose, eyebrows are mouth.

Faces API in use


That’s one is simple – we get the person’s emotions on that picture. Pretty awesome.

Emotions API in use


This one allows us to get insights into the video providing features like face or motion detection, image stabilisation. It is also possible to use before mentioned features on the provided video. Navigate to https://www.microsoft.com/cognitive-services/en-us/video-api and check the example located in the “Analyze in Near Real-Time” section. It. Is. Amazing.

Do you know what was the rant, a couple of months ago, about this picture?

Computer Vision example image

Or do you wonder how How-Old.net that calculates (correctly or not) your age works? If you are interested in – the read on. Read More

Why my Visual Studio zoom is at 150%?

If you happen to see my Visual Studio at my normal day work you might notice that my font is big. Is my sight that bad? And it’s not that I’m sitting 10 meters from the screen. Not at all…

Read More

What is LuaFun?

Last time I was shortly describing LuaJIT a fast implementation of Lua Just-in-time compiler. This time lest quickly look at LuaFun library.

Read More