Category Archives: Uncategorized

SQL design patterns for multi tenant applications

Published by:

Cloud computing is now growing at a very fast pace for over 4 years now. Strictly related to the increased adoption of cloud technologies there is also an increasing interest in software as a service, as companies of all sizes around the world realized the benefits of paying a subscription for the software they use. In these perspective, software development companies and independent developers around the world build now multi tenant applications. However, multi tenant applications are a tricky from the planning phase, since customer data needs to be strictly isolated, the application itself must be highly available and easily scalable. And, as I also briefly mentioned in my previous article, everything starts from the database. That;s why I would like to briefly point out the main SQL design patterns for multi tenant applications.

In practical examples I will refer mostly to Azure SQL databases and the .NET ecosystem, although the main design patterns are still valid for any relational databases you might want to use. A lot of these aspects are described in different Microsoft Azure documentation articles. My goal is to summarize information that is otherwise dissipated in different sources. Continue reading

Databases for modern web applications

Published by:

Databases are one of the first things to think about when developing new software, especially web applications. I know that at a first sight, this topic seems to be a little odd: you simply use a relational database like SQL or MySQL ant that’s it, right? Well, I think that modern web applications are a little bit more complex and it might be worth considering other options and that’s why I would like to tackle this topic.

Traditional relational databases are clearly a goo fit for static applications. By static I think about applications that don’t change very often or that don’t require a huge amount of read and write operations. For example, if I would like to build my own blog at a certain time, I would surely choose SQL. And if I think about the data model for a blog post, it could be designed as something like this: Continue reading

Thoughts about the future of technology

Published by:

Technology evolves on a very fast pace and it’s often difficult to predict the future of technology or some specific directions that technological development will head to. Still, last week there was an event that unarguably defines some strategic directions that technology development will surely emphasize. So last week, AlphaZero won a 100 games chess marathon against Stockfish.  Not only did AlphaZero win, but it didn’t lose a game at all! It won 28 games and drew 72. The spectacular aspect from a tech perspective is that AlphaZero learned the game in only 4 hours. Continue reading

Azure automation FTW!

Published by:

Azure automation is, in my opinion, one of the heavily underrated offerings in the Microsoft Azure platform. During my time at Microsoft I had the opportunity to work with some great partners on Azure automation projects and also talk about it at the Microsoft Partner Days in Munich. So I thought it might be worth writing a few words about it on my blog and move away from the .NET Core topic. A huge challenge is to keep this as short as possible.

Microsoft Azure Automation provides a way for users to automate the manual, long-running, error-prone, and frequently repeated tasks that are commonly performed in a cloud and enterprise environment. It saves time and increases the reliability of regular administrative tasks and even schedules them to be automatically performed at regular intervals. You can automate processes using runbooks or automate configuration management using Desired State Configuration. I will not give the entire “Intro” talk here :). If you are not familiar at all with this topic, you may check the official Microsoft getting started guide. Continue reading

Deploy a NET Core console application using command line

Published by:

Few days ago I blogged about .NET Standard, .NET Core and .NET framework and I think it might be a goo idea to write something about .NET Core today. .NET Core is an open source, cross platform development framework in the .NET world. What I would like to do today is to show how to deploy a .NET Core console application using command line. This is nothing complicated or particularly useful, but it will help to get a better understanding on what “cross platform” means. I will use Visual Studio Code and the integrated terminal to run the needed commands. Continue reading

Curriculum Vitae Builder, a great Office add-in

Published by:

When I talk to partners or during my speeches at conferences I almost always mention the fact that there is a big market for Office add-ins and that developers should clearly exploit it. Today I stumbled upon a great Office add-in called Curriculum Vitae Builder, developed by Egomnia. And this add-in is really great, especially for graduates or for professionals that seek a new professional challenge. With a lot of different versions of résumé it is often difficult to put together a very strong and appealing curriculum vitae. However, with Curriculum Vitae Builder you surely won’t forget any important information about yourself. Continue reading

Microsoft’s Surface Pro 3 faster than the Ipad Air 2

Published by:

Microsoft’s Surface Pro 3 tablet seems to be the fastest flagship tablet according to Even if the Ipad Air 2 ist the best selling tablet at the current time and Apple enthusiasts claim that it is also the fastest one, it seems that some specific speed test revealed something else: the Surface Pro 3 is 20% faster than the Ipad Air 2.

To assess a tablet’s speed, used the industry-recognised Geekbench software. It puts tablets’ processors through their paces by seeing how quickly they can complete simulations of real-world tasks. Continue reading

Microsoft and VMWare working together on Pester open source project

Published by:

Jeffrey Snover announced at Ignite that Microsoft and VMWare are jointly working together to contribute to an open source project called Pester. Pester is a BDD based test runner for PowerShell which provides a framework for running Unit Tests to execute and validate PowerShell commands and scripts.

But what does this mean? Well when we create some PowerShell scripts, we also have to test them heavily before we use them in production. But testing PowerShell scripts is not always easy since in some cases these scripts interact with critical processes that might bring our test environment to a total failure in just few seconds. And we would need a lot of time to rebuild it.

With Pester this is not a problem any more because we are able to test our script in an isolated framework that will also send out some hints whether our script is performing the expected actions generates the expected results. So Pester is a great tool to safely test and validate PowerShell scripts.

Now, if I did not misunderstand anything, Pester will be shipped by default with Windows 10, which is another great news!

If you want to find out more about Pester, you may refer to the GitHub Wiki. Also on GitHub you may be able to track the progress use the resources other contributors have created and contribute yourself to this project.

Microsoft Continuum turns your smartphone into a desktop PC

Published by:

Have you ever thought that your smartphone could easily turn into a desktop PC? Well, with Microsoft Continuum and Windows 10 this is not a dream anymore. Microsoft Continuum is a innovative Windows 10 capability that allows users to connect their smartphone to a mouse, keyboard and display and get the full desktop experience out of a tiny Windows Phone. This capability was announced and demonstrated both at Build 2015 and Microsoft Ignite and in my opinion will be one of the major selling point of Windows 10 powered devices.

You would then ask, of course, how would Microsoft Continuum work? And this is a legit question. According to the demonstrations made at Build 2015 in San Francisco and Microsoft Ignite in Chicago you would be able to connect a mouse and keyboard via bluetooth. An additional display could be connected via an HDMI adapter. Windows 10 will recognize this new input and output options and will turn into the familiar Windows 10 full desktop version. Continue reading

Skype for Business Online to support PSTN integration

Published by:

Skype for Business Online will soon support PSTN integration and will allow Office 365 users to call local and mobile phone numbers directly from their Skype for Business client. This is a very long awaited feature for business decision makers inside organizations, since till now the enterprise voice capability was not present for Lync Online users.

Integrating Skype for Business Online with PSTN will be also a great benefit for small and mid-size businesses since this will allow them to decommission all phone hardware and they will able to use the same services at a probably smaller cost. Continue reading