The Secrets of Popular APIs, #APIAugust

The Secrets of Popular APIs, #APIAugust

This article is contributed. See the original author and article here.

Do you like this wallpaper? Download it at the bottom of the page!Do you like this wallpaper? Download it at the bottom of the page!


What APIs do other developers love and why do they love them? Three developers from around the globe offer up their top picks! 


Azure Cognitive Search—Gian Paolo Santopaolo (@gsantopaolo



Gian is an Italian software architect working in Zürich, Switzerland who leverages AI technology for banking and finance. According to Gian, great APIs like Azure Cognitive Search should give you super powers. He first encountered an early version of the service at Microsoft Build 2018 after discussing it with Lous Cabrera Cordon, who was on the team at Microsoft that was working to develop it.  

According to Gian, “It was love at first sight. As soon as I was back in Zürich, I started making some prototypes. Later, when the technology was generally available, we introduced it into an ERP product.” 

Cognitive Search is all about enriching information so it can be easily searched. It can read data from both structured and unstructured sources. Machine learning algorithms are then applied to the collected data to extract a searchable information tree. Gian’s team has used Cognitive Search for his clients to upload their PDF libraries and place them on the web for easy semantic understanding. Cognitive Search also implements the natural language processing AIs used by Bing to make searching even simpler. 

If you want to learn more about Cognitive Search and related APIs, check out: 



Microsoft Graph API—Nikola Metulev (@metulev)



Nikola is a Principal Software Engineer at Microsoft working on the Graph Toolkit whose favorite API, perhaps unsurprisingly, is the Microsoft Graph API. What makes the Graph API so great is that it lets you pull together your data from diverse services like Office 365, Microsoft Excel, Microsoft Teams, OneNote, Outlook, SharePoint, and more into a common app or service you create. It even lets you pull in data from non-Microsoft sources using Graph connectors (currently in preview). 

All of the Graph APIs can be accessed from a REST endpoint:



Nikola’s team takes this a step further by building succinct web components on top of the Graph API to accomplish powerful tasks. For instance, if you want to pull up all of a person’s planner tasks on a web app, you can do it with this snippet: 







The snippet abstracts out a lot of code orchestrating the Graph API, which in turn abstracts a lot of service code from the different product groups that funnel data through the Graph API.  

“One of the most exciting things being done, in response to COVID right now,” says Nikola, “is we’re seeing a lot of scenarios where partners pull in the education dataa lot of people don’t know this but there’s a lot of data about classes, students, teachers, assignments, and grading that they can do in the Graph—and pulling this together with files on OneDrive to build new online learning resources.” 

If you want to learn more about the Graph API, check out: 




HoloLens 2 Hand Tracking API —Eric Provencher (@prvncher



Eric is an opensource developer and a Spatial Design Developer at Unity Labs in Montreal, Canada. His favorite API is the Mixed Reality Toolkit (MRTK) API abstracted over the Windows 10 SDK hand joint system that offers hand gesture support for the HoloLens 2.  He has even extended them to support other devices besides the HoloLens 2, such as the Oculus Quest. This in turn allows developers to experiment with hand gestures in completely different scenarios than those originally envisioned by the HoloLens team. 




Just as Graph APIs can be mashed up to create new components, Eric is fascinated with recomposing hand and finger tracking APIs to develop new gestures. He’s currently noodling over Spiderman’s web shooter and how to implement this in an AR or VR experience as a way to teleport from position to position. This involves decomposing a deceptively simple gesture into elements that can be detected with optical tracking, such as palm up, index finger open/closed, pinky finger open/closed (optional), thumb extended, etc. Then he took apart the teleportation API for HoloLens and recomposed it with hand gestures, finally porting it to the Oculus Quest. “I had to throw the previous work to the ground,” Eric says, and go through the class hierarchy to pull out what I needed to map the API to the Oculus device manager to get it to work there, too.” 

If you want to learn more about MRTK hand gestures and the underlying API, check out: 


Wrap up 


Great APIsthe ones that developers lovehave several common features. They provide developers with capabilities they wouldn’t normally have access to, such as the AI augmentation found in Azure Cognitive Search. Like the Microsoft Graph API, they can be decomposed and recomposed into new apps and toolkitsThey are flexible and designed in a way that allows them to be used not just in traditional program interfaces but even novel ones like a teleporter gesture based on web-slinging that Eric created 

What do you think? What are some of your favorite APIs and why? Be sure to share them in the comments below. If you are interested in learning more about the principles and techniques of API design, you can deep dive into this Azure API Design eBook! 


Don’t forget to download this month’s wallpaper below ⬇

ODBC Driver 17.6 for SQL Server Released

This article is contributed. See the original author and article here.

Version 17.6 of the Microsoft ODBC Driver 17 for SQL Server has been released. Version 17.6.1 brings numerous new features and fixes to the driver.



  • Support Managed Identity authentication against Azure Key Vault when using Always Encrypted
  • Support ADFS with Azure Active Directory authentication on Linux and macOS
  • Support Azure Active Directory Integrated authentication on Linux and macOS
  • Added metadata caching for prepared statements to improve performance
  • Send Server Name Indication during the SSL handshake
  • New SQL_COPT_SS_AUTOBEGINTXN connection attribute to control whether automatic BEGIN TRANSACTION happens after ROLLBACK or COMMIT
  • Support for Ubuntu 20.04


  • Fixed a hang when a timeout occurred during an asynchronous notification operation
  • Fixed driver reference count upon upgrade in Alpine Linux
  • Fixed libc6 dependency version for Ubuntu
  • Added missing defines to Linux/macOS msodbcsql.h
  • Fixed a collation issue with variant types when using bcp
  • Fixed an error when authenticating with a federated account requiring a Conditional Access policy (Windows)


Next steps

For Windows installations, you can directly download the Microsoft ODBC Driver 17 for SQL Server.

Linux and macOS packages are also available. For installation details see the online instructions.



We are committed to improving quality and bringing more feature support for connecting to SQL Server Azure SQL Database Azure Synapse Analytics, and Azure SQL Managed Instance through regular driver releases. We invite you to explore the latest the Microsoft Data Platform has to offer via a trial of Microsoft Azure SQL Database or by evaluating Microsoft SQL Server.

David Engel

Synapse Analytics Shrink Database

This article is contributed. See the original author and article here.

In the event that you have a large Synapse Analytics Database and you have been cleaning out large objects which were no longer required consider running a shrink on your database  to reduce your database size on disk. Since July 2020 we now officially support the execution of DBCC ShrinkDatabase within Synapse Analytics.


The functionality works the same was as SQL Server and we have the same guidelines when using it, for additional information review our official documentation.


Or just execute the statement from your User database. 


DBCC ShrinkDatabase(‘DATABASENAME’) 



The Shrink Operation is an IO Intensive operation, It is advised to perform the operation with no other activities running on the database. The Shrink operation can take the Synapse Database Offline.


If you have very large CCI Objects consider rebuilding your CCI Objects with the largest RC available to ensure the highest quality row groups and to optimized the overall shrink operation. 


To determine the amount of unallocated space before running the shrink, run an sp_spaceused on your database and review the output to determine if it is necessary to perform the shrink. 


Do not shrink frequently or make this part of regular maintenance. 


Take into consideration that the shrink operation will have an affect on the data warehouse snapshot charges.  

New streamlined Support experience for commercial customers

New streamlined Support experience for commercial customers

This article is contributed. See the original author and article here.

We’re very pleased to announce the availability of time-saving features in our Surface Diagnostic Toolkit for Business (SDT4B) that lets users submit support tickets directly within the tool. The new streamlined experience eliminates the need to manually enter warranty and other system information.


You can download SDT4B directly from Surface Tools for IT.


Using SDT4B

  1. The new tool retains the user friendly interface and first checks for the latest Surface and Windows updates. If some are missing, it proceeds to install updates automatically (subject to network policy) before continuing to the main menu:




2. Run all available tests or select just the ones you need:




3. Running tests triggers a series of checks for detailed hardware component diagnostics. We recommend running all tests before contacting Support.


4. When all tests have finished, the tool asks you to confirm if your issue is fixed.



5. If the issue isn’t fixed or you don’t know, you can submit a Support ticket by selecting Contact us to Get help now. 




6. SDT4B then collects the appropriate diagnostic and system information about the device and pushes it into the Support ticket. This eliminates the overhead of searching for relevant files, messaging back and forth with a support engineer, having to look up warranty information, and so on.


7. The tool invites you to select from drop-down lists and briefly describe the issue. Make sure you include details of any troubleshooting steps you have tried.








8. After entering any additional info, review the request and then select Submit.



9. SDT4B collects relevant information about the device while log files are being attached.sdta2.png




10. You can now view the support ticket and all the attached information at


Note: IT admins can centrally deploy a customized version of SDT4B that includes a subset of available tests and related functionality. To learn more, see Deploy Surface Diagnostic Toolkit for Business.


Azure Advocates Weekly Roundup dotnetConf – Microservices & Create:Frontend

Azure Advocates Weekly Roundup dotnetConf – Microservices & Create:Frontend

This article is contributed. See the original author and article here.



What an action packed week with TWO great live conferences!
Create:Frontend A one of a kind live event from Microsoft about all things frontend.
.NET Conf: Focus on Microservices a free, livestream event that features speakers from the community and .NET teams that are working on designing and building microservice-based applications, tools and frameworks.
Content Round Up

How to Manage SharePoint via PowerShell – Part 1
Anthony Bartolo

In this 2-part series, we’re going to look at how we can manage SharePoint using PowerShell. This is highly focused on SharePoint Online, but if the cmdlets are available, it also applies to SharePoint on-premises. We’ll start with the basics, and then get some real-world scenarios scripts in part 2 to get you started with your daily management tasks. I’ll also you give some tips along the way to make your life easier.


How to Manage SharePoint via PowerShell – Part 2
Anthony Bartolo

In this 2-part series, we’re going to look at how we can manage SharePoint using PowerShell. This is highly focused on SharePoint Online, but if the cmdlets are available, it also applies to SharePoint on-premises. We’ll start with the basics, and then get some real-world scenarios scripts in part 2 to get you started with your daily management tasks. I’ll also you give some tips along the way to make your life easier.


ITOpsTalk: Traditional Failover Clustering in Azure
Pierre Roman

Review of announcements and their impact on running traditional Clusters in Azure


LearnTV: 92 & Pike w/ Jen Looper!
Chloe Condon

On this episode we chat with Jen Looper! 👩🏼?:school: Jen is a Cloud Advocate Lead on the Academic Team at Microsoft where she helps create curriculum, content, and experiences for educators, students, new learners looking to upskill in tech. We chat with Jen about Maya Mystery.


Abhishek Gupta

Welcome to part four of this blog series! So far, we have a Kafka single-node cluster with TLS encryption on top of which we configured different authentication modes (TLS and SASL SCRAM-SHA-512), defined users with the User Operator, connected to the cluster using CLI and Go clients and saw how easy it is to manage Kafka topics with the Topic Operator. 


Using Graph Explorer Sample Data via REST
Todd Anglin

If you need a quick and easy way to access sample Graph data, you case use Graph Explorer via REST with the small “hack” discussed in this article.


React For Beginners workshop
Aaron Powell

React is a JavaScript library for creating high-performing, maintainable JavaScript applications and brings a fresh approach to thinking into the JavaScript community.

Being a declarative user interface library that is un-opinionated about the rest of your application it is easy to reason about it is simpler to learn and master the basics than a full application framework like Angular. Also thanks to the simple nature of React, the patterns and lessons you will learn are transferable to other libraries and frameworks.


A Guide to Running a Virtual Workshop
Aaron Powell

In this article I share my experience in delivering an online workshop as part of NDC Melbourne, what works (and what didn’t), the tech side of things and what is useful to know for anyone looking to run their own online workshop.


Demystifying ARM Templates – Variables
Frank Boucher

Variables are very useful in all king of scenarios to simplify things. Azure Resource Manager (ARM) templates aren’t an exception and the variable will offer great flexibility. In this chapter, we will explain how you can use variables inside your template to make them easier to read, or to use.


Learning-ARM tutorials
Frank Boucher

In this repository you will find a series of tutorial paired with videos to guide you through learning the best practice about Azure Resource manager (ARM) template.

Each video is featured in the same page as the content. The videos are part of Azure DevOps – DevOps Lab show.


How to use Azure Go SDK to manage Azure Data Explorer clusters
Abhishek Gupta

Getting started with Azure Data Explorer using the Go SDK covered how to use the Azure Data Explorer Go SDK to ingest and query data from azure data explorer to ingest and query data. In this blog you will the Azure Go SDK to manage Azure Data Explorer clusters and databases.