Getting started with .NET Core

In the previous article, we saw what is .NET Core and what can we build with it. In this article, we will install .NET Core and start with some basic examples using the command line and Visual Studio Code.

This tutorial can be done using Windows, Linux or macOS..

Installing .NET Core

Wether your OS is Windows, Linux or macOS, you can go to this page and follow the instructions for getting .NET Core on your machine.

When the installation is complete, you should be able to open a command line interface (CMD, PowerShell for Windows, Terminal for Linux and macOS) and check if the installation was successful by executing the following command: dotnet.

Read more →

Introduction to .NET Core

What is .NET Core?

.NET Core is a general purpose development platform maintained by Microsoft and the .NET community on GitHub. It is cross-platform, supporting Windows, macOS and Linux, and can be used in device, cloud, and embedded/IoT scenarios.

The following characteristics best define .NET Core:

  • Flexible deployment: Can be included in your app or installed side-by-side user- or machine-wide.
  • Cross-platform: Runs on Windows, macOS and Linux; can be ported to other OSes. The supported Operating Systems (OS), CPUs and application scenarios will grow over time, provided by Microsoft, other companies, and individuals.
  • Command-line tools: All product scenarios can be exercised at the command-line.
  • Compatible: .NET Core is compatible with .NET Framework, Xamarin and Mono, via the .NET Standard Library.
  • Open source: The .NET Core platform is open source, using MIT an Apache 2 licenses. Documentation is licensed under CC-BY. .NET Core is a .NET Foundation project.
  • Supported by Microsoft: .NET Core is supported by Microsoft, per .NET Core Support

More on the Official .NET Core Documentation from Microsoft

Basically, Microsoft built a version of .NET to allow developers to write cross-platform and cloud-optimized applications.

First, .NET is cross-platform. It runs on Windows, macOS and Linux, which allows the developer to share and run the exact same code between machines running different operating systems, with no changes in code and minimum or no changes in the deveopment process.
(Watch out for OS specific APIs!)

Read more →

AlarmBot – Part 1

enter image description here


Waking up is a real struggle for me in the morning. This is why every night I set multiple alarms, most of them every 10-15 minutes, so my alarm looks pretty much like this (that is my actual list of alarms from this morning):

Read more →

C# Fundamentals 04 – Method overloading


We continue our learning of the C# language with a new topic: method overloading.

What is method overloading?

Method overloading(or function overloading) means having multiple methods in the same scope, with the same name, but different signatures (different number of arguments, different types).

Based on the parameters used to call the method, the compiler figures out which one to execute at compile time.

Read more →

C# Fundamentals 03 – The ref keyword

Passing value types parameters to methods

We saw in the the previous example how passing a value type to a method actually works: the method receives a copy of the object, so any modifications made inside the method will not persist.

But what happens if we want to modify a value type parameter inside a method?

The ref keyword

The ref keyword allows you to pass a value type parameter by reference, meaning that the method will work with the actual reference to the object used as parameter, so modifications made inside the method will actually persist.

Read more →

C# Fundamentals 02 – Value and Reference Types. Passing parameters to methods


As I said in the previous article about C#,  you will be able to run the same code on Windows, Linux, Mac OS X.

This series of articles focuses on providing a solid understanding of the C# programming language, while other articles focus on completing specific tasks using (not only) C#.


The first main objective when learning a programming language is to understand the way parameters are passed to methods.

This article hopes to provide a better understanding on what happens behind the scenes when you call a method with some parameters and the different C# types.

You can find a GitHub repository with all  projects in this series of articles  here.

Read more →

How to build a Twitter Search Bot using Microsoft Bot Framework and Cognitive Services

Microsoft Bot Framework

(Photo source here)

You can test the completed bot here.


Last week at its annual developer conference, Build, Microsoft announced the new Bot Framework in the attempt to get developers to build intelligent bots using Microsoft technologies.

In this article, we will introduce the concepts of Conversational AI and bots, and will create a bot using the Microsoft Bot Framework that will search Twitter for tweets containing the user query.

We will then integrate it with LUIS (Language Understanding Intelligent Service) from the new Microsoft Cognitive Services which will allow users to input natural language. Then, with the help of Machine Learning, we will extract the intent from the user’s query and search Twitter.

Read more →

C# Fundamentals 01 – Hello C#

Why should you learn C#?

With the open source release of .NET Core, you will be able to run C# code on Windows (obviously), Linux, Mac OS X, even on embedded systems  (using Windows 10 IoT Core).

So in the near future it is going to be a very valuable skill to have.

Learning C#

This is the first of a multiple part series on understanding the C# language and Object-Oriented Programming. We will start with the language features of C#, and gradually move towards understanding complex OOP concepts.

You can find a GitHub repository with all projects here.

What is C#

C# (pronounced “C sharp”) is a programming language that is designed for building a variety of applications that run on the .NET Framework. C# is simple, powerful, type-safe, and object-oriented. The many innovations in C# enable rapid application development while retaining the expressiveness and elegance of C-style languages.

More on the MSDN Official Documentation

Read more →

Slack Integration with an Azure WebApp, Azure SQL and real-time communication

enter image description here


I am a Microsoft Student Partner at the Microsoft Innovation Center from the “Politehnica” University of Bucharest.

Part of our responsibility is giving technical presentations to students about various technologies. We also have a lab at the University where we give the presentations and spend most of our time and where other students can come and work on their projects.

Up until in September, we used Facebook for almost all of our communication (I know, my feelings as well).

Read more →

Azure SQL + Entity Framework in a Console Application


Today, we are going to create an Azure SQL Database that we are going to use from a C# console application, using Entity Framework Code First approach.

Azure SQL vs SQL Server on a VM

Microsoft Azure offers two methods for using an SQL database:

  • Azure SQL Database – offered in a way that falls between Platform as a Service (PaaS) and Software as a Service (SaaS) – you develop your application using the built-in functionality and features of the database. You have services like logging, monitoring, scaling, geo-replication and you have the ability to pay-as-you-go.
  • SQL Server on a Virtual machine – Infrastructure as a Service (IaaS) – allows you to create an Azure VM with SQL Server installed and you are responsible for managing both the OS and the SQL Server.

Read more →