You are here

Feed aggregator

Your Version Control Experiences

MSDN Blogs - Mon, 02/01/2016 - 07:59
The Visual C++ Team team would like to learn more about your source code management experiences across development tools, languages (especially C/C++), target platforms and project types. Please take a few minutes (~10) to fill out our brief survey http://www.instant.ly/s/wJqxc . The last question is an opt-in to share more details of your experiences with the C++ team. We would love to learn more about how you deal with source code in your environment, so please opt-in if you can spare ~15-30...(read more)

Experiencing Data Gaps for Customer Event Data Type - 02/01 - Investigating

MSDN Blogs - Mon, 02/01/2016 - 07:38
Initial Update: Monday, 01 February 2016 15:15 UTC

We are aware of issues within Application Insights and are actively investigating. Some customers may experience Data Sample gaps for the web tests running in US region. The following data types are affected: Customer Event.
  • Work Around: none
  • Next Update: Before 02/01 19:30 UTC
We are working hard to resolve this issue and apologize for any inconvenience.
-Application Insights Service Delivery Team

Smart bulbs or how to be lazier (part 2)

MSDN Blogs - Mon, 02/01/2016 - 07:30

In the previous post we discussed which components we can use in order to connect ZigBee bulb to AllJoyn network. Today, we will try to assemble all these components and, finally, to switch on the bulb.

First of all, we have to setup the XBee controller. We are going to control all our bulbs from Raspberry, so we have to assign coordinator (aka co-ordinator) role to the controller. Coordinator is the first node in your network that allows other devices to join the network.

Once we have a coordinator in the area, all bulbs and other ZigBee devices can connect to the coordinator automatically. If the GE Link bulb blinks three times, it means that the bulb was successfully connected. Once a ZigBee device is connected to the coordinator, it will be looking for the same coordinator each time. In order to disconnect the device from the coordinator, you have to follow a special instruction. For example, in order to disconnect the GE Link bulb, you can switch on/off the bulb several times applying 3 second pauses between each action. If you see that the bulb is dimming(??), it’s disconnected. Usually, you have to follow this procedure if you buy a bulb with a hub because the bulb can already be connected to the hub.

In order to setup an XBee device, we need to connect it to a PC and install all needed drivers and tools. You can find an FTDI driver for various operating system using this link. In order to setup XBee you can download the XCTU tool directly from digi.com site.

Use XCTU tool in order to recognize your XBee controller and read the current settings.

 

First of all, you have to use Update button in order to assign the coordinator role to the controller and update firmware.

 

Once you update the role, you have to change some settings. The most important settings are:

  • ZS ZigBee Stack Profile: you have to assign it to 2 which means that you are going to use an enhanced set of ZigBee protocol.
  • NJ Node Join Time: the time that the device will allow other devices to join to it. We have to set it to 0xFF in order to allow other devices to join the network any time.
  • EE Encryption Enable. You have to enable encryption to establish secure connection between devices.

Now, you can turn on the bulb and see if it has connected to the coordinator (it should blink three times). If it has connected you can switch XCTU to Network working mode and see the coordinator itself and all connected devices:

 

Ok. On this stage we are ready to use XBee adapter that we can connect to our Raspberry Pi (hub). Windows 10 IoT Core has all needed drivers for serial communications. So, you have to use USB cable to connect XBee to your Raspberry. It’s time to think about software.

Before implementing a module that will help us to switch on/off the bulb using Azure, I want to show how to work with the bulb in a local network using AllJoyn. First of all, we need to deploy ZigBee bridge for AllJoyn to the Raspberry. You can find the solution visiting the following link. You have to compile it for ARM and deploy the solution to your Raspberry (headed or headless). That’s all. Right now you can manage the bulb.

Install IoT Explorer for AllJoyn and run it on your Windows 10 device. The Explorer will automatically recognize your Raspberry and all devices connected to Raspberry thanks to the bridge. You can see that we have access to the bulb now and we can play with it.

 

Next time we will discuss the bridge structure and will enable several Azure services in order to work with the bulb remotely.

Messaging development dealing with Time Zones

MSDN Blogs - Mon, 02/01/2016 - 07:22

Dealing with Time Zones with code can be an area of major pain. 

Updating Timezones in Windows:

There seems to be at least one country in the world each year which changes their Time Zones, so its important to keep your Windows Time Zone settings updated on ALL machines.  Microsoft APIs and products work off of entries in the windows registry.  There are some exceptions to that - such as older APIs like CDO 1.21 which hand their own Time Zone tables.  .NET code works off of the registry on the local machine. Information on timezones such as descriptions are localized based-upon the language of the machine.  So, if the Time Zone entries are not kept up to date then your code may run into issues.  Each year there are typically several cumulative timezone updates released. Sometimes countries make their decisions to change their Time Zones with not much notice - so be sure top lay attention to Time Zone  update releases and push them out when released.

Check this blog for updates and consider adding an RSS feed so you keep updated:

Microsoft Daylight Saving Time & Time
http://blogs.technet.com/b/dst2007/

Also check the following for updates:

Daylight Saving Time Help and Support Center
https://support.microsoft.com/en-us/gp/cp_dst

How to configure daylight saving time for Microsoft Windows operating systems
https://support.microsoft.com/en-us/kb/914387

Unsupported development involving Time Zones:

With calendaring there are limitations on support when dealing with custom code.  One limitations many run into is with custom code which creates or consumes ICS code without a Microsoft API. Such code is not eligible for developer support.  There are many Microsoft APIs which do calendaring and those should be used.

Developer support limitations for public protocols 
https://support.microsoft.com/en-us/kb/2269506/en-us

If your having issues with a non-Microsoft API handling ICS content then be sure to review the protocol documentation and public RFCs covering the subject.

Exchange Server and Outlook Standards Support
https://msdn.microsoft.com/en-us/library/cc973105(EXCHG.80).aspx

[MS-STANOICAL]: Outlook iCalendar Standards Support Version 2
https://msdn.microsoft.com/en-us/library/ee157121(v=exchg.80).aspx

[MS-STANXICAL]: Exchange iCalendar Standards Support Version 2
https://msdn.microsoft.com/en-us/library/cc984265(v=exchg.80).aspx

Exchange Server Protocols Technical Documents
https://msdn.microsoft.com/en-us/library/cc425499(v=exchg.80).aspx

Exchange-Outlook Protocols Documentation
https://msdn.microsoft.com/en-us/library/gg134035.aspx

If you wish to send a meeting email to an SMTP server without Exchange or Outlook involved then you will need to use a third party API.  Optionally you could write code which will add the ICS content to the message using an API such as CDOSYS or System.Net.Mail; however, those APIs are not supported in the created of calendar messages (such as a meeting request, meeting upate, cancelation, etc.).  I wrote on the subject prior - see below.

Howto: CDOSYS/C# Sending an ICS file
http://blogs.msdn.com/b/webdav_101/archive/2008/05/05/howto-cdosys-c-sending-an-ics-file.aspx

Building VCALENDAR content without an Microsoft API is not supported by MS.
http://blogs.msdn.com/b/webdav_101/archive/2008/02/26/building-vcalendar-and-ical-is-not-supported-by-ms.aspx

Outlook - no code:

Part

How time zone normalization works in Microsoft Outlook
https://support.microsoft.com/en-us/kb/2642044

How time zone normalization works in Microsoft Outlook
https://support.microsoft.com/en-us/kb/2642044

How Outlook handles time zones for meeting requests
https://support.microsoft.com/en-us/kb/195900

Add, remove, or change time zones
https://support.office.com/en-us/article/Add-remove-or-change-time-zones-5ab3e10e-5a6c-46af-ab48-156fedf70c04

Tip o’ the Week #26 – multiple time zones in Outlook Calendar
http://blogs.technet.com/b/ewan/archive/2011/05/06/tip-o-the-week-26-multiple-time-zones-in-outlook-calendar.aspx

Transfer calendars between Outlook 2007 and Google Calendar
https://support.office.com/en-us/article/Transfer-calendars-between-Outlook-2007-and-Google-Calendar-3a133146-a30f-45a2-8cf6-701e5962df59?ui=en-US&rs=en-US&ad=US
Note:  You can use this article to do a mass export and import of a calendar as an ICS file.

How to Import an ICS file into Outlook
http://blogs.technet.com/b/matabra/archive/2011/10/14/how-to-import-an-ics-file-into-outlook.aspx

 

General Time Zone information:

Coordinated Universal Time
https://en.wikipedia.org/wiki/Coordinated_Universal_Time

APIs:

Howto: CDOSYS/C# Sending an ICS file
http://blogs.msdn.com/b/webdav_101/archive/2008/05/05/howto-cdosys-c-sending-an-ics-file.aspx

Building VCALENDAR content without an Microsoft API is not supported by MS.
http://blogs.msdn.com/b/webdav_101/archive/2008/02/26/building-vcalendar-and-ical-is-not-supported-by-ms.aspx

 

 

Trends for 2016

MSDN Blogs - Mon, 02/01/2016 - 07:08

Our world is changing faster than ever before.  It can be tough to keep up.  And what you don’t know, can sometimes hurt you.

Especially if you get disrupted.

If you want to be a better disruptor vs. be the disrupted, it helps to know what’s going on around the world.  There are amazing people, amazing companies, and amazing discoveries changing the world every day.  Or at least giving it their best shot.

  • You know the Mega-Trends: Cloud, Mobile, Social, and Big Data.
  • You know the Nexus-Of-Forces, where the Mega-Trends (Cloud, Mobile, Social, Big Data) converge around business scenarios.
  • You know the Mega-Trend of Mega-Trends:  Internet-Of-Things (IoT)

But do you know how Virtual Reality is changing the game? …

Disruption is Everywhere

Are you aware of how the breadth and depth of diversity is changing our interactions with the world?  Do you know how “bi-modal” or “dual-speed IT” are really taking shape in the 3rd Era of IT or the 4th Industrial Revolution?

Do you know what you can print now with 3D printers? (and have you seen the 3D printed car that can actually drive? … and did you know we have a new land speed record with the help of the Cloud, IoT, and analytics? … and have you seen what driverless cars are up to?)

And what about all of the innovation that’s happening in and around cities? (and maybe a city near you.)

And what’s going on in banking, healthcare, retail, and just about every industry around the world?

Trends for Digital Business Transformation in a Mobile-First, Cloud-First World

Yes, the world is changing, and it’s changing fast.  But there are patterns.  I did my yearly trends post to capture and share some of these trends and insights:

Trends for 2016: The Year of the Bold

Let me warn you now – it’s epic.  It’s not a trivial little blog post of key trends for 2016.  It’s a mega-post, packed full with the ideas, terms, and concepts that are shaping Digital Transformation as we know it.

Even if you just scan the post, you will likely find something you haven’t seen or heard of before.  It’s a bird’s-eye view of many of the big ideas that are changing software and the tech industry as well as what’s changing other industries, and the world around us.

If you are in the game of Digital Business Transformation, you need to know the vocabulary and the big ideas that are influencing the CEOs, CIOs, CDOs (Chief Digital Officers), COOs, CFOs, CISOs (Chief Information Security Officers), CINOs (Chief Innovation Officers), and the business leaders that are funding and driving decisions as they make their Digital Business Transformations and learn how to adapt for our Mobile-First, Cloud-First world.

If you want to be a disruptor, Trends for 2016: The Year of the Bold is a fast way to learn the building blocks of next-generation business in a Digital Economy in a Mobile-First, Cloud-First world.

10 Key Trends for 2016

Here are the 10 key trends at a glance from Trends for 2016: The Year of the Bold to get you started:

  1. Age of the Customer
  2. Beyond Smart Cities
  3. City Innovation
  4. Context is King
  5. Culture is the Critical Path
  6. Cybersecurity
  7. Diversity Finds New Frontiers
  8. Reputation Capital
  9. Smarter Homes
  10. Virtual Reality Gets Real

Perhaps the most interesting trend is how culture is making or breaking companies, and cities, as they transition to a new era of work and life.  It’s a particularly interesting trend because it’s like a mega-trend.  It’s the people and process part that goes along with the technology.  As many people are learning, Digital Transformation is a cultural shift, not a technology problem.

Get ready for an epic ride and read Trends for 2016: The Year of the Bold.

If you read nothing else, at least read the section up front titled, “The Year of the Bold” to get a quick taste of some of the amazing things happening to change the globe. 

Who knows maybe we’ll team up on tackling some of the Global Goals and put a small dent in the universe.

You Might Also Like

10 Big Ideas from Getting Results the Agile Way

10 Personal Productivity Tools from Agile Results

Agile Results for 2016

How To Be a Visionary Leader

The Future of Jobs

The New Competitive Landscape

What Life is Like with Agile Results

Free One-day Microsoft Azure Infrastructure Training at U.S. Cities

MSDN Blogs - Mon, 02/01/2016 - 07:00

Attend this free, full-day training session and discover first-hand how to integrate cloud solutions with your existing, on-premises datacenter – without sacrificing security, control, reliability and scalability. You’ll see how advanced Azure infrastructure services enable you to provide reliable data access, while maximizing productivity across platforms, including Microsoft and Open Source (OSS), GitHub, and more.

Here are the locations and dates, be sure to go to the event page to register! 

Source: http://blogs.technet.com/b/uspartner_ts2team/archive/2016/01/28/technet-on-tour-what-s-new-with-microsoft-cloud-infrastructure-and-oss-for-modern-it-pros.aspx 

Microsoft Partner Village Reflections – by Gerald Haigh

MSDN Blogs - Mon, 02/01/2016 - 06:00

Prior to BETT 2016, Gerald Haigh previewed the inaugural appearance of the Microsoft Partner Village. Below, he shares his thoughts – and those of some of our partners – on the four days at the ExCel and what being in the Microsoft Partner Village enabled those exhibitors to achieve.

You can read Gerald’s original piece here: Who’s who in the BETT 2016 Microsoft Partner Village

---

I spent quite a lot of time at BETT in the Microsoft Partner Village and when I sat down to think about it, I realised there was a lot to take away from the experience. Bottom line, though, is that this was a brilliant idea that undoubtedly succeeded on many levels. For one thing, it enabled some partners to have a BETT presence which they might not have otherwise managed. And on the other hand, those exhibitors who already had a main stand elsewhere in the Show were able to use their Village presence to provide a different angle on a product or service.

Even more important, perhaps, was the strong message which the Village carried about the two-way relationship between Microsoft and their partner businesses. The partners place great value on the link; it opens doors and demonstrates that they have the approval and support of a major global business. Microsoft in turn, relies heavily on partners in making Microsoft technologies accessible to specialist markets – in this case education - so that teachers and students to exploit them fully and extend their own professionalism to the benefit of student learning.

At BETT the strength of this relationship became very visible in the Partner Village. There, in a compact but cleverly used space, just across the way from the Microsoft stand, enquirers were able to find businesses which, between them, offered innovative and different kinds of answers to their questions. Teachers, school leaders and IT managers were able to talk to the right people, and make arrangements for longer discussions or meetings in the near future.

A number of partners had the Office 365 logo prominently displayed alongside their own, for example and it’s clear that it acted as a magnet for enquirers. Time and again, when I asked, ‘What are your visitors looking for,’ a typical answer was,

‘They want to know how to use the Microsoft technology they already have more completely and efficiently. They’ve got Office 365. They know they could be doing a lot more with it, and they want help with that.’

Not all of the information seekers were from UK. Office 365 for Education has a global reach, and the desire to make full use of it is shared across the world. I spoke to Eskild Thomason of the Bogøe Kostskole, an independent boarding school in Denmark:

‘All students have Office 365,’ he told me, and we’re looking at ways of bringing it all together as we prepare our students for the future, and to look out into the world.’

There was a wide choice of options for these enquirers. To mention just some, there were full Office 365 Learning Platforms from LP+365 and Skooler; bespoke portals such as that by SalamanderSoft; integration between Office365 and Capita SIMS from Ruler; top quality advice on devices and all the elements of Office 365 from Misco, hybrid (on-site plus cloud) from AspiraCloud, full Azure hosting of software resources from Airhead.

The small presentation theatre in the Village was a strong factor in its success. Helen Walker of “Misco’ was delighted to tell me that her sessions there were packed, and teacher Steve Gillott was attracting lots of attention as he showed his classroom use of SalamanderSoft’s SharePoint portal.

‘I was able to show what we actually do in class, rather than just tell them what’s possible,’ he said.

The good news, too, was that, at least for the businesses I talked to, enquiries had turned into strong leads. One director, in the week after BETT, was following up approaching 200 realistic opportunities, and there were others with similar stories.

Final thoughts? Close analysis of pros and cons, gaps and areas for revision are strategic questions for others, but my feeling is that the Partner Village, in some form, could be a BETT feature for the foreseeable future. It is, after all, a very visible and tangible expression of the symbiotic interdependence between Microsoft and their hugely varied array of partners. Alex Pearce of BFC networks, who did very well in terms of serious business, made the point very well when we spoke the week after the Show.

‘Our presence there, close to the Microsoft stand and associated with them, demonstrated clearly that we are a well-established serious business.’

Microsoft Partner Village Reflections – by Gerald Haigh

MSDN Blogs - Mon, 02/01/2016 - 06:00

Prior to BETT 2016, Gerald Haigh previewed the inaugural appearance of the Microsoft Partner Village. Below, he shares his thoughts – and those of some of our partners – on the four days at the ExCel and what being in the Microsoft Partner Village enabled those exhibitors to achieve.

You can read Gerald’s original piece here: Who’s who in the BETT 2016 Microsoft Partner Village

---

I spent quite a lot of time at BETT in the Microsoft Partner Village and when I sat down to think about it, I realised there was a lot to take away from the experience. Bottom line, though, is that this was a brilliant idea that undoubtedly succeeded on many levels. For one thing, it enabled some partners to have a BETT presence which they might not have otherwise managed. And on the other hand, those exhibitors who already had a main stand elsewhere in the Show were able to use their Village presence to provide a different angle on a product or service.

Even more important, perhaps, was the strong message which the Village carried about the two-way relationship between Microsoft and their partner businesses. The partners place great value on the link; it opens doors and demonstrates that they have the approval and support of a major global business. Microsoft in turn, relies heavily on partners in making Microsoft technologies accessible to specialist markets – in this case education - so that teachers and students to exploit them fully and extend their own professionalism to the benefit of student learning.

At BETT the strength of this relationship became very visible in the Partner Village. There, in a compact but cleverly used space, just across the way from the Microsoft stand, enquirers were able to find businesses which, between them, offered innovative and different kinds of answers to their questions. Teachers, school leaders and IT managers were able to talk to the right people, and make arrangements for longer discussions or meetings in the near future.

A number of partners had the Office 365 logo prominently displayed alongside their own, for example and it’s clear that it acted as a magnet for enquirers. Time and again, when I asked, ‘What are your visitors looking for,’ a typical answer was,

‘They want to know how to use the Microsoft technology they already have more completely and efficiently. They’ve got Office 365. They know they could be doing a lot more with it, and they want help with that.’

Not all of the information seekers were from UK. Office 365 for Education has a global reach, and the desire to make full use of it is shared across the world. I spoke to Eskild Thomason of the Bogøe Kostskole, an independent boarding school in Denmark:

‘All students have Office 365,’ he told me, and we’re looking at ways of bringing it all together as we prepare our students for the future, and to look out into the world.’

There was a wide choice of options for these enquirers. To mention just some, there were full Office 365 Learning Platforms from LP+365 and Skooler; bespoke portals such as that by SalamanderSoft; integration between Office365 and Capita SIMS from Ruler; top quality advice on devices and all the elements of Office 365 from Misco, hybrid (on-site plus cloud) from AspiraCloud, full Azure hosting of software resources from Airhead.

The small presentation theatre in the Village was a strong factor in its success. Helen Walker of “Misco’ was delighted to tell me that her sessions there were packed, and teacher Steve Gillott was attracting lots of attention as he showed his classroom use of SalamanderSoft’s SharePoint portal.

‘I was able to show what we actually do in class, rather than just tell them what’s possible,’ he said.

The good news, too, was that, at least for the businesses I talked to, enquiries had turned into strong leads. One director, in the week after BETT, was following up approaching 200 realistic opportunities, and there were others with similar stories.

Final thoughts? Close analysis of pros and cons, gaps and areas for revision are strategic questions for others, but my feeling is that the Partner Village, in some form, could be a BETT feature for the foreseeable future. It is, after all, a very visible and tangible expression of the symbiotic interdependence between Microsoft and their hugely varied array of partners. Alex Pearce of BFC networks, who did very well in terms of serious business, made the point very well when we spoke the week after the Show.

‘Our presence there, close to the Microsoft stand and associated with them, demonstrated clearly that we are a well-established serious business.’

Microsoft Azure Storage Explorer - Easily work with Azure Storage - from any platform, anywhere

MSDN Blogs - Mon, 02/01/2016 - 03:53

 

Microsoft Azure Storage Explorer (Preview) is a standalone app from Microsoft that allows you to easily work with Azure Storage data.

  Microsoft Azure Storage Explorer is available for OS X, Linux, and Windows (and it's free)

Download for Windows

Download for Mac

Download for Linux

Features

Click to see the full feature list

  • Mac OS X, Linux, and Windows versions (New in v0.7.20160107)
  • Sign in to view your Storage Accounts – use your Org Account, Microsoft Account, 2FA, etc
  • Add Storage Accounts by account name and key, as well as custom endpoints (New in v0.7.20160107)
  • Add Storage Accounts for Azure China (New in v0.7.20160107)
  • Add blob containers with Shared Access Signatures (SAS) key (New in v0.7.20160107)
  • Local development storage (use storage emulator, Windows-only)
  • ARM and Classic resource support
  • Create and delete blobs, queues, or tables
  • Search for specific blobs, queues, or tables
  • Explore the contents of blob containers
  • View and navigate through directories
  • Upload, download, and delete blobs and folders
  • Open and view the contents text and picture blobs (New in v0.7.20160107)
  • View and edit blob properties and metadata
  • Generate SAS keys
  • Manage and create Stored Access Policies (SAP)
  • Search for blobs by prefix
  • Drag ‘n drop files to upload or download
Download now from http://storageexplorer.com

Announcing the Search Health Reports (SRx) for SharePoint Search Diagnostics

MSDN Blogs - Mon, 02/01/2016 - 02:45
Brought to you by SearchEngineers@microsoft.com , the Search Health Reports (SRx) is a PowerShell-driven tool for surfacing complex diagnostics for SharePoint Search through new multifaceted reports. The SRx includes a battery of tests that leverage a customized SSA object extended with contextual data from many disparate sources. Our goal with this project is straightforward – empower users to troubleshoot Search more effectively so they can focus on solving business problems using Search...(read more)

Clang with Microsoft CodeGen 2016年1月)发布上线

MSDN Blogs - Mon, 02/01/2016 - 02:04
[原文发表地址] Clang with Microsoft CodeGen (January 2016) released [原文发表时间]2016/1/21 2:34 AM 我们已经发布了一个带外的Clang/C2工具集,它包含了一些社区问题的修复和测试中发现的bugs。这是未来即将快速发布众多版本中的一个,来自用户的一些问题反馈会逐渐处理。这里我们只列出相较于之前版本的新变化, 更多关于Clang/C2工具的详细讨论,请参阅 VS2015.1的 Microsoft CodeGen in VS 2015 1 。 这个更新仍然是基于Clang3.7的一些相关优选的社区问题修复,并且将C2.dll的版本修改为19.023413.0。 Microsoft Fixes 修复原子布尔类型std::atomic_flag,使其生成正确的静态代码. 修复了"Static Library for Universal Windows"模板在目标平台为ARM时,使用Clang/C2工具集的问题。 修复了Clang/C2 和Android MDD同时安装,共享的Clang编译器的目标定义文件被重写的问题...(read more)

[Sample Of Feb. 1] How to clear out the diagnostics logs within a specified timeframe in Azure

MSDN Blogs - Mon, 02/01/2016 - 01:53
Feb. 1 Sample : https://code.msdn.microsoft.com/How-to-clear-out-the-8fd608f0 This sample demonstrates how to clear out the diagnostics logs within a specified timeframe in Azure Table Storage. You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension . They give you the flexibility to search samples, download samples on demand, manage...(read more)

Using the Azure WebJob API

MSDN Blogs - Mon, 02/01/2016 - 01:05

I wrote an article here that discusses how to troubleshoot a WebJob, during the creation of that post I found decided to figure out this technique as well (calling the WebJob API).  Originally, I was using the Azure SDK to trigger the WebJob from Visual Studio Server Explorer, as shown in Figure 1.

Figure 1, trigger an Azure WebJob from Visual Studio, how to trigger a WebJob manually

However, I decided to use the details here to call the WebJob API using some C# code shown on Listing 1 and downloadable from here.

Listing 1, how to call the WebJob API using C#

string userName = "userName";

string userPassword = "userPWD";

string webJobName = "web-job-helloworld";

var unEncodedString = String.Format($"{userName}:{userPassword}");

var encodedString = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(unEncodedString));

string URL = "https://?.scm.azurewebsites.net/api/triggeredwebjobs/" + webJobName + "/run";

System.Net.WebRequest request = System.Net.WebRequest.Create(URL);

request.Method = "POST";

request.ContentLength = 0;     

request.Headers["Authorization"] = "Basic " + encodedString;

System.Net.WebResponse response = request.GetResponse();

The WebJob API requires Basic Authentication using the publishing credentials, the different type of credentials are discussed here and here.  You can download your publishing credentials from the Azure portal, as shown in Figure 2.  In my example, the Azure Web App hosting the WebJob is called web-job.

Figure 2, download Azure publishing profile for use with the WebJob API

Open the downloaded file and replace the userName and userPWD from with the file into the C# code.  The credentials are converted into the correct format and added to the request via an Authorization header.  Then the request is posted to the SCM URL of you Web App (I discuss this here) and the WebJob is executed.

Execute the code that calls the WebJob API.

You can look in the Azure Portal to see that the WebJob is running or not, as shown in Figure 3.

Figure 3, checking the status of a WebJob in the Azure portal

As well, you can click on the link also shown in Figure 3 which redirects you to the SCM site for more details about the WebJob, similar to that shown in Figure 4.

Figure 4, viewing the WebJob status

Click on the specific run to view the logs in real time or also for review after a WebJob has completed, as shown in Figure 5

Figure 5, view the run of a WebJob in real-time

I think this is pretty cool that you can execute a WebJob from any location from any authenticated client.  I haven’t actually done this but I have a web site that people have signed up to receive notifications when something specific is posted.  I was thinking I could write an EXE to send emails to that group of people when a specific scenario happened.  I had originally thought about using messaging queues and having a continuous WebJob monitoring it and act when a message is placed there, but I think this method is more friendly, if it is doable.

 

 

 

Analyze a memory dump using the Debug Diagnostic tool

MSDN Blogs - Mon, 02/01/2016 - 00:54

Once you have captured a memory dump, instead of, or in addition to using WinDbg to analyze the memory dump, you can use a tool called DebugDiag which can be downloaded here.  I discuss how to capture a memory dump in numerous ways here.

After installing the debugging tool, make sure have opened the Debug Diag Analysis Tool (I.e. not the Collection Tool) and add the memory dump by selecting the Add File Button, select the Rule Name for the kind of analysis you want to run on the memory dump and then click on Start Analysis as discussed in Video 1.

Video 1, use debug diag to analyze a memory dump

Once the analysis is complete, a report is generated similar to that shown in Figure 1.

 

Figure 1, Debug Diag analysis report

Scroll down the report and you can see, depending on the selected analysis rule, the threads, stacks and the objects consuming the most amount of memory. 

NOTE:  I wrote more details about this memory dump analysis using WinDbg here.

Troubleshooting a hung or long running WebJob

MSDN Blogs - Mon, 02/01/2016 - 00:46

If you can reproduce the slow running WebJob behavior you have hosted with your Azure App Service Web App, Mobile App or API App then you can find out why using the following article.  Additionally, if the WebJob is in a hung state, skip right to the portion where you take the memory dump of the WebJob process and then debug it, see Video 1.

For simplicity, I have created a WebJob which you can download here, that sleeps for 3 seconds, 10 times within a for loop.  The WebJob is a Triggered (not continuous) which I kick off from within the Azure Management Console.  If the WebJob is continuous and is hung or slow, you can take a memory dump as well.  NOTE:  It is also possible to trigger the WebJob using an API call as discussed here.  Additionally, I wrote an article here that explains how I called the WebJob API to run it and the source code here.

Once the WebJob is running and the slowness or hanging is happening, access the KUDU console, which I discuss here and click on the Process Explorer link as shown in Figure 1.

Figure 1, viewing the processes, Web App, Mobile App, API App, KUDU

Notice in Figure 1 that the running WebJob is displayed by name.  As shown in Figure 2 and explained via Video 1, take a memory dump of the EXE.

Figure 2, take a memory dump of the slow or hung WebJob

Video 1, how to take a memory dump of a slow or hung WebJob, debug a WebJob

It might take a moment or two create the memory dump, but after some moment you are prompted to download the DMP file.  If you have problems with it, I make a NOTE here about what may be the problem.

Open the memory dump in WinDbg as shown in Figure 3.  I provide more details about debugging a memory dump from a Web App here.  After getting loading the SOS.dll, as show here (see Figure 2 and 3 there), enter the commands, also shown in Figure 3 below and explained in more detail in Video 2.

  • .load <path>\sos.dll -> to load the debugger extension

  • !sos.threads -> to list the threads running in the process

  • ~#s -> to change focus to that thread, note that # is replaced by the thread number

  • !sos.clrstack -> to list the stack of that thread

Figure 3, why is my WebJob hanging or slow?

Video 2, debugging a WebJob process, why is the WebJob hung or slow?

Yes, i do understand that this is a simple example, however, you can uncover the reason for the hang or slowness following the same approach. 

In the case you have more thread, just change focus to each thread (~#s) and view the stacks of each (!clrstack).  See, the analysis of a memory dump is not something you can write a textbook about, you need to know something about what is happening in the process, do some detective work and pull the clues together to get a picture of what is going on.

After you have viewed all the stacks, you might have found one that looks a little conspicuous.  You would want to look at the method closest to the top and see what it is doing, like what I mentioned in Video 2.  Looking at the stack in Figure 3, you notice that the thread is in the SleepInternal() method, that method was called from the Sleep() method right below it and the Sleep() method was called from the Main() method.  Therefore, I would look in the Main() method to see why on earth someone is calling the Sleep(). 

NOTE: Instead of using WinDbg to analyze the memory dump, you can use Debug Diag as discussed here.

NOTE: If you are running your WebJob as a singleton and you have multiple instances of your Web App, you might login to a KUDU instance which is not running your WebJob…

 

 

 

Виртуальная реальность и котики на хакатоне Microsoft и Сколково

MSDN Blogs - Mon, 02/01/2016 - 00:14

Первый в России хакатон по разработке приложений виртуальной реальности на Windows прошел в Москве 19-20 декабря. Он был организован Microsoft совместно c Центром мобильных технологий Сколково. 235 участников боролись за победу в трех номинациях: лучшая VR-игра, лучший образовательный VR-проект и лучший корпоративный VR-проект.



Еще до начала хакатона его участники предложили 26 идей реализации технологий виртуальной реальности. ещё 45 идей были выдвинуты во время мероприятия — это сделало его одним из самых продуктивных хакатонов, когда-либо проведенных Microsoft в России. Лучший игровой проект виртуальной реальности, «Салочки», предложила командa Touch-last VR. Победителем в номинации образовательных проектов стал проект «Дистанционное обучение в виртуальной реальности» от команды Rubik, а среди корпоративных проектов победил Virtual Glove for VR команды Sharp Glove.

В этой статье мы представляем вашему вниманию рассказ команды Sharp Glove, в котором они делятся впечатлениями от хакатона и рассказывают о своём проекте.


Виртуальная реальность — это просто

Рассказ победителей хакатона виртуальной реальности

Не секрет, что 2016 год — это год виртуальной реальности. Графику практически не отличить от настоящей, звук достиг своего эстетического предела. От картонных коробок с линзами, куда можно вставить смартфон и отправиться покорять космические дали, до крутых шлемов с большим углом обзора, трекингом глаз и прочими наворотами, есть модели на любой вкус и кошелёк.

Но при всём этом выборе — можно сказать, что выбора нет. Между тем, чтобы быть бестелесной куклой, созерцающей пространство, и тем, чтобы быть активным творцом внутри этой виртуальности. И загвоздка-то одна. А точнее шесть. Шесть не охваченных вниманием телесных чувств, которые помимо зрения и слуха складывают нашу картинку осязаемой реальности…

«…Это сигналы рецепторов. Электрические импульсы, воспринятые мозгом»

Помните диалог Нео и Морфеуса из Матрицы?

— Всё нереально?
— Что есть реальность? И как определить её? Из набора ощущений: зрительных, осязательных, обонятельных… Это сигналы рецепторов. Электрические импульсы, воспринятые мозгом.

Морфеус знает толк. Ещё с институтских практикумов по физиологии мне доводилось имитировать разные вкусовые ощущения при помощи фальц-аппарата. И за минувший год появилось несколько устройств, пытающихся таким образом имитировать прикосновения, тепло и даже эмоции. Среди них и наша команда. Но мы пришли в эту степь своим путём…

Я биолог, по несчастливой случайности перерезавший себе нерв на руке. Конечность бесчувственно и бездвижно повисла, и о любимом саксофоне можно было бы забыть. Вскоре без нервов внутри все ткани бы отмерли и стали плохо пахнуть. Но, как научили меня годы лабораторной практики, на всякую несчастливую случайность можно устроить облаву из счастливой неслучайности, если у тебя есть друг-инженер.

Смастерив некоторое железо и обцепившись электродами, мы сделали подобие нервной системы, которое генерирует электрические импульсы, точь в точь такие, какие посылает мозг при создании движения, или какие воспринимаются рецепторами кожи, как ощущения — с поправкой на необходимость через эту самую кожу пройти.

Включив мышцы эдаким техногенным приводом, нам удалось воссоздать движения и, ради эксперимента, научить меня играть на контрабасе. Игра на музыкальном инструменте была выбрана не случайно: нужно было что-то сложное, чего раньше мышцы не знали, чтобы доказать феномен мышечной памяти. Надо сказать, это весьма феноменальный феномен!

Мы считывали при помощи миографии движения у нашего инженера-виолончелиста и проигрывали на мне. Забавно было через две недели с приобретённым умением и бесчувственной рукой сидеть в составе симфонического оркестра и отыгрывать свой первый концерт в роли контрабасиста.



Иными словами, мы не просто имитируем какие-то ощущения, мы собрали аналог нервной системы, который можно одеть снаружи как одежду и программировать любые движения или ощущения, переводя с языка машинного кода на язык ��ела. Суть одна – что человек, что машина обмениваются информацией при помощи электрических импульсов. У нас получился просто новый неинвазивный бионический интерфейс, которым можно управлять через компьютер. А не мозгом.



С 19 по 20 января мы отправились в Сколково, где в гиперкубе, совместно с Microsoft, был организован VR хакатон для людей, глубоко погруженных в идею глубокого погружения. Аудитория — в основном программисты и гейм-дизайнеры — на пиццево-кофейной тяге за два дня создали симпатичные VR-игры.


VR-хакатон. Сколково. 20 декабря. 6:06 утра.
Биолог, инженер и пара замечательных Unity-кодеров скооперировались вокруг глобальной цели всечеловеческого масштаба: погладить виртуального котика.

Прихватив с собой наш прибор, два портфеля железок, без сна и отдыха, вооружившись паяльником, изолентой, электродами и нитью с иголкой, мы сделали это, подружив технологию кибермионики с настоящей виртуальной средой, заставив визжать от радости половину участников и вызвая неподдельное умиление на лицах представителей Microsoft. И их можно понять.



Мы запрограммировали на хакатоне сшитую перчатку с трекингом движений, чтобы она посылала в руку ощущения тепла, нежности, бархатисто-пушистой поверхности, объёма и урчания. Представьте себе, например, HoloLens, где голограммы можно не только видеть, но и щупать, где можно достать из-за пазухи виртуальную скрипку и научиться на ней играть, как на настоящей!



Мы назвались CyberSuit и поселились на сайте с логичным названием doyoufeel.me, где при поддержке Microsoft BizSpark создаём платформу для обмена умениями и ощущениями. По типу социальной сети. Только вместо селфи люди обмениваются телесным реальным или виртуальным чувственным опытом, а вместо песенок и видео — скачивают себе умения «играть на гитаре» или «танцевать брейк-данс», считав его предварительно с профессионального исполнителя.

Bing Continuous Delivery – Engineering Story

MSDN Blogs - Mon, 02/01/2016 - 00:13

Real World : Continuous Delivery bei Bing

Interessante Aspekte aus dem Engineering und der “DevOps Culture” z.B.:

Inner Loop: The loop that spans ideation through code commit, and most often centers on an engineer writing the code for a given feature. Because engineers require an idea from which to design and build a feature, this loop also includes prototyping, crowd-sourced feature engagement and feasibility studies.

Outer Loop: This is the loop that gets committed code out to Production. Because a feature is not really finished until we have successfully navigated live user trials, our experimentation-centered culture requires that we consider the cost of flighting features within this loop.

http://stories.visualstudio.com/bing-continuous-delivery/

Chris

在VS 2015 Update 2 关于STL已实现C++ 17-so-far的功能

MSDN Blogs - Mon, 02/01/2016 - 00:02
在 VS 2015 Update 2 关于 STL 已实现 C++ 17-so-far 的功能 [原文发表地址] http://blogs.msdn.com/b/vcblog/archive/2016/01/22/vs-2015-update-2-s-stl-is-c-17-so-far-feature-complete.aspx [原文发表时间] 01/22/2016 9:16 AM 在VS 2015 Update 2上,我们已经实现了C++ Standard Library的 每一个功能, 这也已经覆盖到了C++11, C++14和C++17-so-far等。参见文件 N4567 有关Update 2的相关信息,请见文章末尾) 详细列表如下: Status Std Paper Title Update 2 C++14 N3462 SFINAE...(read more)

Early technical preview of Microsoft Drivers 4.0 for PHP for SQL Server Released!

MSDN Blogs - Sun, 01/31/2016 - 23:43

Dear PHP Community,

Over the last few months our team has been working diligently toward developing this driver and preparing for a preview release so we can gather your feedback early in our development cycle. Today, we are announcing that our Microsoft Driver 4.0 for PHP for SQL Server is ready as an early technical preview. This new driver enables access to SQL Server, Azure SQL Database and Azure SQL DW from any PHP 7 application.

The major highlights of this release is support for PHP 7 (thread safe and non thread safe support)

Future Plans

Going forward we plan on adding PDO Support, Linux port, expand SQL 16 Feature Support (example: Always Encrypted), build verification/fundamental tests, bug fixes

Getting the Preview Refresh

You can find the latest bits on our Github repository, at our existing address. We provide limited support while in preview on our Github Issues page. As always, we welcome contributions of any kind, be they Pull Requests, or Feature Enhancements. I’d like to thank everyone on behalf of the team for supporting us in our endeavors to provide you with a high-quality driver. Happy downloading! 

Meet Bhagdev (meetb@microsoft.com)

     

 

 

Is it safe?

MSDN Blogs - Sun, 01/31/2016 - 23:00

 Ten years ago, I wrote “I can manage” (in chapter 9), which captures how to be a good manager in four pages. Some recent articles and situations got me reflecting on one of the points: “There is nothing more critical, more essential than ensuring everyone is given an opportunity to work in a safe environment.”

Obviously, your employees can’t do their best work if they fear for their lives, but our buildings are fairly secure and workplace accidents are pretty rare. However, physical safety is only one aspect of feeling safe. Your employees can’t do their best work if they feel:

  • Harassed by self-centered and stunted heathens.
  • Disrespected by insecure, insensitive, or ignorant doofuses.
  • Bullied by arrogant beasts.
  • Neglected by self-serving narcissists.
  • Repressed by domineering and distrusting rulers.

Fearing harassment, contempt, belittling, abandonment, or retribution leads to subpar work at best and disciplinary action at worst. What can be done to allay these fears? How about being more than a manager? How about behaving like a decent human being?

Life’s hard—don’t make it harder

Harassing people is clearly unconscionable and not tolerated by Microsoft. Why would you deliberately make anyone on your team feel disturbed or offended by your behavior or the behavior of anyone else? No decent person would.

However, decent people may disturb or offend others unintentionally, or they may assume that their behavior isn’t disturbing or upsetting. If people’s body language does not adequately convey offense to you, surely a request to stop bad behavior will (yours or others’). One instance or request should be enough to put a stop to harassment. It’s unconscionable—just stop it.

While behaving disrespectfully isn’t quite as serious as harassment, it’s still upsetting to people. Your skillset and preferences alone don’t make you right. Your background, lifestyle, and beliefs alone don’t make you admirable. Your abilities (or disabilities), appearance, and attire don’t make you superior. Of course not, so don’t insinuate it. Treat everyone as they’d wish to be treated—with respect. If you’re unsure how to act appropriately, check the HR website or just ask. It’s not hard, it’s not awkward, it’s just decent.

Eric Aside

HR’s unconscious bias training can help you recognize when you unintentionally offend, misjudge, or mistreat others. The HR website has additional training and materials, such as the diversity and inclusion toolkit.

Being a jerk is so 1980s

Bullying your co-workers and employees is deplorable. It makes you appear desperate, insecure, and thoughtless. It makes others feel unheard, unappreciated, and small. Yet in the early years of Microsoft, arrogant bullying was not only happening, but seemingly rewarded. Accomplishment was the actual thing being rewarded, but bullying seemed a valid means to an end.

When the company was small, everyone knew each other and had to work together. People learned to tolerate smart bullies who got things done. But by the late 1990s, that small dynamic was no longer in effect. If you were a bully (and hadn’t made the executive ranks), people could ignore and avoid you.

Today, being a jerk is not only deplorable—it’s ineffective (even for executives). In our diverse and inclusive environment with our broad base of customers, there’s no place for arrogant beasts. Bullies should learn some manners and humility or leave and ruin some other company, because there’s no room for them at Microsoft.

Eric Aside

The I.M. Wright character is modeled after some arrogant beasts I knew early in my career. Hopefully, he’s a little more enlightened and not a complete jerk.

No man is an island

Neglecting any of your coworkers and employees inadvertently is unfortunate and fails to take advantage of the diversity of ideas around you. We’re all busy, but we should make time to listen to and value our peers.

Neglecting people deliberately due to favoritism, bias, prejudice, or narcissism is sickening and disgraceful. Think that isn’t you? Do you always go to the same people for ideas? Do you restrict information that could be shared broadly? Do the loudest and quickest dominate your meetings? Do some voices remain unheard? Do you monopolize credit? Do you dismiss ideas that you can’t claim as yours? Does your career trump other concerns? If any of these sound familiar, you’re neglecting people at your peril.

Self-serving narcissists can advance for a while, but they leave a trail of people who despise them: people who were ignored, uncredited, and mistreated; people who only supported the narcissist out of fear or ignorance; people who will take joy in the narcissist’s downfall.

The bottom line is that for people to care about you, you must care about them. You must treat them with respect and appreciation. You must give them chances and value their ideas. The moment you play favorites, skip past the quiet one, or willfully exploit people is the moment your co-workers turn against you. This is tragic for you, because they’d support and appreciate you if you gave them a chance.

A growth mindset

Repressing people by leading with fear and distrust may be the most insidious and harmful behavior of all—not because it’s the most severe (that’s harassment), but because it impacts so many, drives such bad outcomes, and can last so long. Harassment and disrespect get noticed and corrected. Bullies outlive their welcome. Narcissists mess up and no one lifts a finger to help. But dictators can rule through fear, and even have admirers, for as long as they get results.

What makes dictators so bad? It’s that they can’t tolerate mistakes and dissent. Dictators who accept mistakes and dissent seem weak, endanger their outcomes and dominant position, and don’t stay dictators for long. Instead, dictators rule with fear—fear of making mistakes, seeming disloyal or disagreeable, or not generating adequate results. However, mistakes are inevitable, no one is infallible, and adequate isn’t enough.

Mistakes and respectful debate should be embraced. They are an opportunity to improve—to go beyond adequate and reach exceptional. But repressed individuals are too scared to take chances. They are too frightened to speak truth to power, provide contrary views, or try new ideas. Thus, they remain anchored to safe old choices. As a result, organizations run by dictators get left in the past.

Our best every day

Satya says, “It all starts with a growth mindset—a passion to learn and bring our best every day.” To do so, we must feel safe. Safe from harassment and disrespect. Safe from bullying and neglect. And safe to make mistakes, disagree, learn, grow, and improve.

Managers are in a unique position to ensure people feel safe. They can have zero tolerance for harassment. They can demonstrate respect and educate their teams on diversity. They can confront the bullies and help them become more collaborative. They can care about every team member and ensure everyone contributes in meetings, designs, and validations. And finally, managers can make work a safe place to be truthful, disagree, and occasionally fail.

Whenever I welcome new members to my team, I tell them that mistakes are human and expected. It’s not the mistakes that matter—it’s how you respond. If you hide mistakes out of shame or fear, they can become real problems. Instead, if you welcome mistakes as an opportunity to grow and improve, everyone can be part of the solution, and our teams and products are better for it.

We want Microsoft to be a place where everyone can do their best work. That means a workplace free from fear—a workplace that embraces who we are and encourages us to take chances and grow. Be part of making that a reality.

Eric Aside

For more about dealing with big mistakes, read I messed up.

Pages

Subscribe to Randy Riness @ SPSCC aggregator
Drupal 7 Appliance - Powered by TurnKey Linux