Quantcast
Channel: TechNet Technology News
Viewing all 13502 articles
Browse latest View live

System Center Operations Manager – Extensible Network Monitoring

$
0
0

Until System Center 2012 Operations Manager R2, you could get only basic monitoring for your network devices, such as “Availability Monitoring” and “Port/Interface Monitoring”. To get Extended Monitoring for your network devices, you had to work with Microsoft to get your devices supported in Operations Manager. This extended monitoring capability was limited to only processor and memory components, in addition to the basic monitoring.

With the release of System Center 2016 Operations Manager, you now have access to the new Network Monitoring Management Pack generator tool which provides you with extended monitoring for your SNMP-enabled devices by generating your own custom Management Pack.

Tool Description

Network Monitoring Management Pack generation tool includes an SNMP_MPGenerator UI tool and a NetMonMPGenerator.exe command line tool.

  1. SNMP_MPGenerator UI tool has an inbuilt MIB browser. Users can load MIB files, search through the Object Identifiers (OIDs) of the component they wish to add workflows for and create rules and monitors.
  2. Users can add workflows (monitors and rules) for device components such as processor, memory, fan, temperature sensor, power supply, voltage sensor and custom device components.
  3. This tool can also support custom devices in addition to already supported devices like Switch, Router, Firewall and Load Balancer.
  4. Users can define monitors and rules for multiple devices in the project file and generate a single Management Pack for all of their devices.
  5. This tool includes the command line equivalent NetMonMPGenerator.exe for users who wish to generate MP through command line interface. Users need to define device information and workflows in an input XML file and use the commandline tool to generate custom management pack.

The tool and the user guide can be downloaded here. The management pack generated by this tool is currently supported by System Center 2016 Operations Manager and System Center 2012 R2 Operations Manager.


Release preview of Microsoft System Center and Application Insights integration

$
0
0

Microsoft released a technical preview of System Center Operations Manager (SCOM) management pack for .NET Application Performance Monitoring (APM) with Visual Studio Application Insights. You can use this management pack to centrally configure Application Insights APM directly in the Operations Manager console for the .NET web apps that are already deployed to your on-prem web servers.

The management pack wizard lets you choose which web apps you want to monitor and associate them with new or existing Application Insights resources in Microsoft Azure portal. When running, the management pack automatically detects new instances of the web apps on the desired group of servers, deploys necessary monitoring infrastructure, and starts sending the application telemetry to Azure. The monitored app does not have to be pre- instrumented by the developer, although using the Application Insights SDK can further increase the diagnostic value of the collected telemetry.

AIMP

Learn how to configure and use .NET APM with Application Insights in System Center and download the management pack from Microsoft Download Center.

4 ways OneDrive can help you eliminate the version control headache

$
0
0

Successfully working on a team requires seamless collaboration—no matter where you are. You need to communicate effectively with all your team members and keep everyone on the same page. This can get chaotic during busy workdays, even for the most organized employees. The rise of remote workers has presented even more challenges for the modern-day workforce.

Businesses rely heavily on digital communication to collaborate beyond office walls, which poses new challenges for your team—especially without the right technical infrastructure in place. For smoother workflows across your company, it’s important to keep collaboration tight and file versioning to a minimum. Is your team experiencing any of the following versioning woes?

The version control problem

How many times have you seen files going from “v1_draft” to “v1_update” to “v2” to “final_FINAL.” Passing documents around to collect with everyone’s latest notes is sure to cause versioning anxiety. Even the best file naming convention can’t save us from the headache of constantly having to make sure we’re working on the most up-to-date document.

“Attachment size exceeds allowable limit”

Businesses use email as their primary mode of communication and it has become our go-to means of sharing information with each other. When the file you need to share is too big to attach, employees are stuck trying to find an alternative medium of sending it, or worse, splitting one file into multiple ones, creating even more clutter.

Is it safe to send?

If employees choose to find an alternative method of transferring files to each other, they could open your company and team up to potential security threats. Often the most convenient or free methods of sharing large files with team members aren’t the safest ones, risking your company’s intellectual property or exposing your employees’ devices to viruses.

Error: Low disk space

To keep a record of changes made to each document (and to ensure no versions get lost), businesses often save each new version to company servers or drives. Disk space can get clogged up quickly, especially if all members of the team are downloading and saving multiple versions of each file. This can cost companies expensive data storage.

So, where do we go from here?

Fortunately, the cloud has provided us with a safe and convenient solution to help address these frustrations, along with several others that we tend to face. Teams can work off single updateable files and store their work on the cloud to help reduce the pains of sharing, saving and storing files.

Allow your employees to focus on the work instead of the tedious aspects of digital file sharing and collaboration. Explore implementing a solution that reduces the time they spend on extraneous parts of digital collaboration and prevent wasted storage space.

Check out “The End of Versioning as We Know It” to learn more about the benefits of cloud computing and how to securely move your company to the cloud using OneDrive for Business Cloud Storage.

The post 4 ways OneDrive can help you eliminate the version control headache appeared first on Office Blogs.

6 ways to make virtual meetings more efficient

$
0
0

6-ways-to-make-virtual-meetings-more-efficient-1

When was the last time you had an in-person meeting? Let’s face it: today’s work rendezvous are becoming increasingly more electronic. While online or virtual meetings can be convenient, they also detract from participant accountability by providing more room to lose people’s attention. When people are distracted, meetings lose focus and require more time for repetition.

To keep your meetings—and your schedule—on track, consider these six tips and transform your routine.

  1. Agenda action—Whether your meeting participants are located across the building or the world, it’s important to get everyone on the same page. While formal agendas may not be as in vogue as they once were, reinstate the practice. Include the meeting’s topics in the body of your calendar invite or email out a document 24-48 hours before the designated time. This will provide all parties the chance to set their expectations regarding the meeting goals. And yes—if you’re the recipient of a meeting agenda, read it! Even if you’re familiar with the project or discussion topics, you may learn important information about the perspectives or concerns on the table, and it’s never fun being blindsided.
  1. Prep your (Ps and) Qs—Whether your meeting has a set agenda or not, make sure you know what your goals are. Before the meeting, compile any notes or background information you may need to reference as well as any questions. Having a prepared list or set of bullet points will relieve the pressure of thinking of any questions on the spot as well as allowing you to engage with the discussion at hand. Feel free to jot down questions on the agenda if there is one, or set up your notes document ahead of time with initial goals or thoughts at the top. No matter your preparation style, following this preparation practice will ensure you’re reminded of your own agenda the day of the meeting.

6-ways-to-make-virtual-meetings-more-efficient-2

  1. Troubleshoot your tech—Whether it’s your first online meeting or your millionth, make sure you know how to use your technology. Confirm how to dial in and that your speakers work. If you need internet to access your conference or your (meeting-related) email or notes, check that Wi-Fi! Initial frustrations often develop when that one person needs one more minute to access the conference line. Don’t be that cause—get to your conference room early and dial in. Even if you set your phone to mute until other people join, at least you can focus on the content of your talk rather than getting there in the first place.
  1. Sharing is caring—If you are reviewing any information with accompanying visuals or statistics or if you’re referencing external documents, make sure everyone can follow along. Set up a screen share so that you can direct your audience’s attention and keep everyone on the same page. This step may alleviate the “Wait! Where are we?” questions as well as the “Hold on, I have to get to the right page.” Sharing your screen eliminates the need for those pauses and moments of confusion. Just remember: if you’re sharing your screen, make sure to turn off any email, phone or messaging programs or notifications to avoid any uncomfortable announcements.

6-ways-to-make-virtual-meetings-more-efficient-3

  1. Be direct—One of the challenges of online meetings is knowing who is about to speak or who needs to jump in. Based on the meeting participants and their personalities, virtual meetings can range on the spectrum of everyone talking over each other to long pauses after someone’s finished speaking. To avoid indistinct vocal jumbles or empty air time, frame questions specifically to other meeting participants. If people are working together or relying on other steps in the process to move forward, don’t be afraid to ask them specifically if they have anything to add or additional questions. By being direct with turning the conversation, you’ll ensure that you’ve maximized meeting time while allowing everyone to be heard.
  1. Personality perks—Online, phone or virtual meetings can be a drag—you don’t have body language to read how people are responding or whether they’re following along. To remedy the possibility of losing people’s focus, keep your personality primed. Be as personable as you would be in person—or more so, as the meeting requires. High energy will engage your audience and keep them tuned in to the topics at hand. They wouldn’t want to lose track, especially if you have a habit of asking people directly how they respond to a point. With everyone involved at the top of their meeting game, your meeting points will be addressed quickly, and you’ll cover more material in less time.

No matter the meeting format, there’s no need to get lost in the virtual shuffle. By being prepared and engaging your colleagues, your meetings will be clear and on target with your goals. Download The Ultimate Meeting Guide to get the info you need to hold meetings that people want to attend.

Related content

The post 6 ways to make virtual meetings more efficient appeared first on Office Blogs.

Microsoft NYC Reactor Opening

$
0
0

panorama-entrance01-low-res

Microsoft on Wednesday celebrated the grand opening of its latest Microsoft Reactor, based in New York City’s iconic Grand Central Terminal. This is the third Reactor where Microsoft is supporting the business, university, government, and entrepreneur communities.

The NYC Reactor is co-located with the Hub @ Grand Central Tech, and occupies 4,000 square feet of space. This demonstrates how Microsoft partners with other accelerators, incubators, and innovators in the startup space to support this community and provide them with key resources for success.

Read more here on the Microsoft NYC blog.

Cheers,

Guggs

@stevenguggs

Announcing the October 2016 Update for .NET Core 1.0

$
0
0

The title may be a bit grand for what’s included in this month’s update but it is important for folks encountering this specific issue. Look for more next month.

We are releasing an update today which addresses an issue installing on a clean macOS Sierra system. The change is limited to the macOS installer. There are no changes in the runtime or tools; .NET Core 1.0.1 remains the latest release for Windows and Linux.

You can download the updated .NET Core 1.0.2 macOS SDK installer now.

For more information on the change, please see the .NET Core 1.0.2 release notes.

If you are having trouble, we want to know about it. Please report issues on GitHub issue – core 294.

Thanks to everyone who reported this issue.

Survey: Internet-connected servers

$
0
0

Hi folks, Ned here again with another quickie engineering survey. As always, it’s anonymous, requires no registration, and should take no more than 30 seconds. We’d like to learn about your server firewalling, plus a couple drill-down questions.

Survey: What percentage of your Windows Servers have Internet access?

This may require some uncomfortable admissions, but it’s for a good cause, I promise. Honesty is always the best policy in helping us make better software for you.

– Ned “census taker” Pyle

 

Answers to your top TACO questions

$
0
0

Last month I had the pleasure of participating in a panel discussion at the Microsoft Ignite conference where we discussed mobile app development. I spoke about Visual Studio’s Tools for Apache Cordova (a.k.a. “TACO” for short) side-by-side with James Montemagno of Xamarin fame, Ankit Asthana from the Visual Studio C++ team, and Daniel Jacobson from the UWP team. I heard a lot of really good questions from the audience. Some of these questions are so common that I figure many of our Visual Studio blog readers may find them interesting. In this post I’m going to share the answers to our most common TACO questions. (Sorry, no definitive answer to the most pressing question of all: hard or soft shell tacos?)

Feel free to ask new questions via the comments section at the bottom of this post! If I get a strong response, I may even look at writing a follow-up post to answer them.

What is TACO?

The Tools for Apache Cordova – or “TACO” for short – constitute a set of utilities that make it easier, friendlier and faster to develop mobile applications using web technologies (HTML, JavaScript, CSS). You can use these tools to build apps for Android, iOS, or Windows devices. TACO is a suite of products built by Microsoft, including:

I have both .NET and web development skills, should I use Xamarin or Cordova to go mobile?

Many of our blog readers, myself included, have experience building with both .NET and web-based technologies. Consequently, both Xamarin (which lets you take your .NET skills mobile) and Apache Cordova (taking your web skills mobile) may be appealing for mobile development. That’s why this has been our #1 most asked question for years, and even more so now that Xamarin has joined Microsoft and is included for free in Visual Studio!

The short answer is that “it depends” – not all apps or development teams are the same, so you want to look at where the two technologies excel and consider the skills of your existing team (which may just be you). Both products make it possible for you to share nearly 100% of your code across iOS, Android, and Windows applications.

Cordova is great if you:

  • Prefer working with JavaScript, HTML, CSS, and libraries built on top of that tech.
  • Already have web sites/content that you’d like to re-use in a mobile app.
  • Plan to use the most common device features, like the camera.
  • Want to take advantage of services like CodePush, which give you the ability to publish bug fixes and incremental updates to your app without resubmitting to the stores.

While you could build just about any mobile app using Cordova, I’d say you generally wouldn’t use Cordova to build a graphics or data processing intense application like a game; nor would you want to use it to build an app with the richest native-app user experience and animations (though there are frameworks that you can use to build an app that feels just about as good as native). Among the customers we’ve spoken with, a common use for Cordova is to take existing “line of business” or data entry/forms-based web applications and make them mobile. These can be apps like expense and time tracking, retail inventory management, or investment portfolio tracking.

Both Xamarin and Cordova provide you a way to get at native device features, but there’s a big difference in how they work. Xamarin has built-in support for all native APIs on devices, but in Cordova you have to navigate the ecosystem of open source plugins (read more about plugins, below). Plugins can vary in quality and may not be updated as quickly as Xamarin. Companies like Adobe and Microsoft are vigilantly maintaining the plugins most often used by businesses/enterprises to make sure they work great, but other plugins are the domain of the larger community.

Xamarin is great if you:

  • Want to have full access to native API features.
  • Need to build apps using the latest user interface guidelines.
  • Prefer working with C#, .NET, XAML (In the case of Xamarin.Forms) and frameworks built on top of that tech.
  • Already have .NET libraries (like JSON.NET) or other .NET assets you’d like to re-use in a mobile app.
  • Want to take advantage of the full performance of a device.

Xamarin offers the ability to use existing .NET ecosystem technologies, such as NuGet, to build a fully native application that runs with the same performance that is expected from a native app. As Xamarin utilizes the APIs for each platform, Xamarin also offers the ability to use the latest and greatest of what each platform has to offer. Any app that you could build using the native platforms, you can build using Xamarin.

Regardless of your choice

No matter which way you go, I do recommend trying out the tools first and build a prototype or two to see what comfortably suits your development style and application needs.

I have an existing web app; how can I use Cordova to make it mobile?

The simplest thing you can do to take your existing web application to mobile is to build something called a hosted web application. This is a Cordova application that has all its content hosted on a web server, instead of stored locally on the device. It follows the traditional web server hosted model that web developers know and love today. This means you can leverage your existing web assets and create an app that can be loaded to an app store. You can learn more about this technique in the Create a hosted web app using Apache Cordova tutorial on the TACO documentation site. The hosted web app model goes a step further than just hosting a website in the application, it also makes it possible for you to enable the hosted web application to access native device capabilities by leveraging the Cordova plugin model.

With this model you do have some downsides – you still must do extra work if you want to have an application that can work offline/with no network connectivity (because, you wouldn’t be able to get the app’s content from a web server when there’s no network connection).

You might also consider building a separate version of your application tailored just to mobile devices, but still share some common code – see below for some suggestions there.

How does Cordova compare to the new Progressive Web Apps model?

Progressive Web Apps, or “PWA” for short, allow you to build a mobile version of your website that end users can add on their dev’s home screen. This PWA app will run from a web server, but has added capabilities to handle offline caching, send push notifications, and make background content updates. Using web standard APIs already available today, such as Geolocation, you can pretty simply make a web experience that functions like a native app without having to go through an app store. (take a look at this article from our friend’s in the Ionic team, to learn more).

I’d say the three key differences between PWAs in their current form, and Apache Cordova, are:

  1. PWAs do not provide you access to full native device features; only those supported by standard web APIs today. Cordova makes it possible to get at all device capabilities, as long as a plugin has been created to provide that functionality.
  2. A PWA cannot be discovered through app stores; if you want to build an app that can be discovered through an app store, you’d want to use Cordova to create that app. Note: The Microsoft Edge team is exploring how PWAs could be listed through the Windows Store.
  3. Mobile platform support for PWAs are currently limited; neither iOS nor Windows devices currently support the PWA model, only recent versions of Android and Chrome provide support. As of this writing, you can use PWAs with the Chrome browser and as an experimental feature in Firefox and Opera web browsers. Microsoft Edge has also announced work to support PWAs going forward. If you want to reach the broadest sets of end users across all the major device manufacturers and form factors, you’ll want to stick with Cordova for now.

Using Apache Cordova, can I use native features such as push notifications?

Yes! Using plugins with Apache Cordova, you can use a variety of native device features. Plugins exist for device features such as the camera, battery status, and push notifications. You can find a wide variety of plugins for the most common device features by searching the Cordova plugin repository. To work with push notifications, specifically, you can read about how to add push notifications to your Cordova app using Azure App Services.

In creating a plugin, the author provides:

  • A single JavaScript API that can be used across all supported platforms.
  • The native code implementation for each supported platform (e.g. Swift code for iOS, Java for Android, and C# for Windows).

Our team at Microsoft is helping to make sure that the plugins most important to business are working well; while an active community of Cordova developers work on building out other features. We make sure that the core/most important plugins are working well on Android, iOS, and Windows devices, so long as those platforms support the technology.

How can I make a mobile app that will live for 5-10 years?

I know there are projects I’ve worked on in the past where we were building a solution that was expected to last 5 or more years with relatively little maintenance required from a developer team. I’ve heard from many of you that have had similar experiences and the question has come up if you can make a mobile app that would last this long. If you’ve built a mobile web application that can last this long, then you certainly build that same app as a mobile application using Cordova.

My answer is different if you’re building a more complex application with multiple screens that accesses native device features and works with 3rd party services for features like push notifications. For this type of application, you’d need to not only design for the devices available today, but have an eye toward where you think devices will be in those 5-10 years. How will the UI behave on these future devices and what device features will still be supported? You’d also need to select services that you know can still be rely on in the future. I think for many of us, these future requirements would be too hard for us to predict.

During our mobile panel discussion at the Microsoft Ignite conference, we generally agreed that it’s not possible to predict the future of mobile apps this far out whether you’re using Cordova, Xamarin, Objective-C, Swift, Java or something else. Instead, you should focus on building a service layer that can scale to support future requirements and mobile device changes. For example, instead of coding business logic into the application directly, create a backend service layer that is called by the application (e.g. via RESTful APIs) to handle that same logic. Then, as your application needs change over time, or new mobile apps are created, your existing service layer can still be used by those apps without having to modify that code.

In support of the service layer of your app, you may want to consider the following Microsoft services to see how well they’d work for you:

Have more questions? Share them with us!

While these are the most common questions I hear from developers, I suspect you have some more. Feel free to ask them in the comments below, or send us a direct email. If you have some questions about Cordova issues or best practice our visual-studio-cordova tag on Stack Overflow is also a great place to ask them. Also, be sure to check out documentation site to learn more about TACO!

Jordan Matthiesen (@JMatthiesen)

Program Manager, Tools for Apache Cordova

Jordan works at Microsoft on JavaScript tooling for web and mobile application developers. He’s been a developer for over 18 years, and currently focuses on talking to as many awesome mobile developers as possible. When not working on dev tools, you’ll find him enjoying quality time with his wife, 4 kids, 2 cats, 1 dog, and a really big cup of coffee.


Search Bing to find radio stations to stream

$
0
0
There are many formats for listening to music, yet radio remains the number one platform. In fact, Nielsen reported earlier this year that 93 percent of adults listen to the radio every week.
 
Given this preference for radio, the Bing team has partnered with TuneIn to improve our radio-related search results, allowing users to more easily locate radio station information and find radio stations available for streaming.
 
Enhancing our radio search experience is a natural extension of Bing’s existing music search experience, which already includes the ability to find videos, read lyrics and locate where to listen to your favorite songs and podcasts.
 


Search for ‘online radio stations’ to see a sample of some of the most searched for radio stations. Click the play button to listen to a radio station from the web. On a PC you’ll notice a smaller tab redirecting you to TuneIn’s website, allowing you to listen to music from the radio station while you continue to search or move on to another task. On mobile, TuneIn’s app will be opened right to the station you searched for.

Popular online radio stations
 
This is just the beginning. Today, with the help of TuneIn, we have identified over 10,000 stations and formats for you to discover and listen to, and will continue to add stations over the coming months.
 
We hope you enjoy this new feature on Bing and look forward to hearing your feedback. If you have other ideas for how we can make your music experience even better, go to Bing Listens and share your thoughts.
 
- The Bing Team
 

World’s Biggest SQL Server Event is Coming in 6 Days!

$
0
0

This post is by Joseph Sirosh, Corporate Vice President of the Data Group at Microsoft.

SQL Server 2016

We are only 6 days away from PASS Summit 2016 (@sqlpass) which kicks off next Wednesday, October 26th, in Seattle. SQL PASS Summit (#SQLSummit, #sqlpass) is the world’s largest and most intensive technical training conference for Microsoft SQL Server (@SQLServer) and BI professionals. But more than that, it’s a conference – planned and presented by the SQL Server community for the SQL Server community (#sqlfamily). It has the most technical sessions, the largest number of attendees, the best networking, and the highest-rated sessions and speakers of any SQL Server event in the world. If you are in the Seattle area and would like to attend the Summit, you still have time to register to attend. If you cannot make it, the event will be live-streamed just like last year.

PASS Summit 2016

I am very excited to give a keynote again at PASS Summit this year. I have a lot of exciting things to share with you since last October. SQL Server 2016, an industry leader, and now packs an even bigger punch in the recent Gartner Magic Quadrant for Operational Database Management Systems. Microsoft is positioned as a leader, highest in execution and furthest in vision for 2 years in a row. SQL Server 2016 builds on this leadership, and is packed with powerful built-in features. As the least vulnerable database for six years in a row, SQL Server 2016 offers security that no other database can match. It also has the data warehouse (Data Warehouse Fast Track) with the highest price-performance, and offers end-to-end mobile BI solutions on any device at a fraction of the cost of other vendors. It provides tools to go beyond BI with in-database Advanced Analytics, integrating the R language and scalable analytics functions. The world around us – every business and nearly every industry – is being transformed by technology today, and SQL Server 2016 was built for this new world and to help businesses get ahead of today’s disruptions.

I am very excited to present at PASS our cutting-edge content around SQL Server 2016 to solve real-world problems, and I will have a number of top-notch speakers joining me on the stage.

Rohan Kumar

Rohan Kumar(@RohanK75), General Manager of Database Systems, will join me on the stage and talk about SQL Server 2016 and how customers around the world rely on SQL Server to build applications that deliver unmatched security and performance for their most demanding workloads.

Rohan Kumar Keynote

Rohan will also present a fascinating demo Machine Learning @ 1,000,000 predictions per second, in which he will show real-time predictive fraud detection and scoring in SQL Server 2016. This is made possible by combining the performance of SQL Server in-memory OLTP as well as in-memory columnstore with R and Machine Learning. Rohan will also talk about HTAP – how SQL Server 2016 enables you to analyze both historical data as well as real-time in-memory processing of both transactions and analytics with 100x faster in-memory analytics and 30x faster in-memory OLTP. Rohan will talk about our “better together” story – Windows Server 2016 and SQL Server 2016 working together. With the release of Windows Server 2016, SQL Server supports unparalleled scalability with a single SMP machine supporting today up to 24TB of memory and 640 cores.

@PROS Inc

Then joining Rohan on the stage will be one of our customers PROS(@PROS_Inc), and they will be talking about how SQL Server 2016 with R built-in enabled them to better serve their customers. One of their customers is an airline company that needed to respond to over 100 million unique, individualized price requests each day in under 200 milliseconds. It’s practically impossible for humans to do this – understanding the market economics using all available data and to do so in under 200 milliseconds. The combination of SQL Server 2016 and Azure cloud provided the unified platform and global footprint that made it a lot easier for PROS to accomplish this and they will tell you all about it.

By the way, I highly recommend this free ebook that just came out, Data Science with Microsoft SQL Server 2016, to learn how to install, configure, and use Microsoft’s SQL Server R Services in data science projects and do the scenarios similar to PROS.

@Intel

Intel (@Intel), our partner, will join us on the stage and talk about how Microsoft and Intel engineering work closely together to tune and optimize our technologies for performance. This is an exciting year for both companies with the latest Intel Xeon processor E5 v4 family and introduction of SQL Server 2016. The performance increase in SQL Server 2016 has excelled when you refresh both hardware and software, with high double-digit performance gains. Furthermore, data is continually growing and this is another step Intel and Microsoft are taking together to enable scalable, cost effective, large data warehouses for advanced analytics. Intel and Microsoft engineering collaborated to enable a 100TB data warehouse within a single 4-socket Intel Xeon E7 v4 server, running Intel SATA SSD Storage. Intel will come and share these impressive performance results with PASS community.

@nxtgms

Another fascinating customer that will join me at PASS is NextGames (@nxtgms). Kalle Hiitola (@kallehiitola) the CTO and Co-Founder of Next Games will tell their story. Next Games is a Finnish game developer and publisher based in Helsinki. They develop free to play games for iOS and Android. You might know some other big names coming from the same region like Supercell and Rovio. With the help of Azure they have been able to create globally scalable games that have close to 17 million downloads!

The Walking Dead No Man's Land

NextGames will talk about how Azure and our NoSQL service (Azure DocumentDB) and how it powers their games. Biggest of their titles is The Walking Dead No Man’s Land with millions of installs. For a modern player everything needs to happen instantly or they lose their attention and to prevent that they needed the most powerful database they could get – Azure DocumentDB (@DocumentDB).

Integral Analytics Inc

Another amazing customer that will join me on the stage is Integral Analytics. Integral Analytics is a data science and analytics software company that provides core operational, planning, and valuation applications for utilities and other participants in the electric-energy industry. Integral Analytics’ proprietary products help the largest energy companies in the United States and Canada navigate the “grid edge” reliably and cost-efficiently. To perform its mission successfully, Integral Analytics needed a cloud provider that supports batch processing, real-time processing, easy development, and integrated advanced-analytics services. Come and find out directly from Integral Analytics about Azure SQL Data Warehouse (#AzureSqlDW).

Julie Koesmarno

Another amazing presenter that I will have with me on the stage will be Julie Koesmarno. Many of you know Julie very well as@MsSQLGirl. Julie will present an incredible demo called the “Big Cognition”. Software thus far has been “sterile” and unable as it is to understand or use human emotions, or combine it with anything else. Using our cutting-edge technology, you can now extract emotional sentiments from images, videos, speech and text, and you can do it in bulk. You can now join emotions from image content with any other type of data you have and do incredibly powerful analytics and intelligence over it. This is what I mean by Big Cognition. It’s not just extracting one piece of cognitive information at a time, not just about understanding an emotion or whether there’s an object in an image, but rather it’s about joining all the extracted cognitive data with other types of data, so you can do some real magic with it. You really don’t want to miss this demo by Julie.

Another partner I will be talking about at the keynote is eSmart Systems (@eSmart_Systems). I will talk about their Connected Drone project.

eSmart Systems

The objective of Connected Drone is to support inspections of power lines which, today, is performed either by ground crews walking miles and miles of power lines, or through dangerous helicopter missions to aerially monitor these lines (if there is one place you don’t want humans to be in helicopters, it’s over high power lines). With Connected Drones, eSmart uses deep learning to automate as much of the inspection process as possible. As they fly over power lines, the drones stream live data through Azure for analytics. eSmart Systems uses different types of neural networks including deep neural networks (DNNs) to do this. They analyze both still images and videos from the drones and are able to recognize objects in real time. I will tell you how the combination of our powerful database engines with Deep Learning can enable previously unthought-of scenarios and products.

Jen Stirrup

In conclusion, I will have a SQL Server MVP, Jen Stirrup (@jenstirrup) join me on the stage. Jen is very well-known in the SQL PASS community and is also a PASS board member. Jen wanted me to keep her demo a surprise… You’ll just have to watch it. All I’ll say is just two things: it’s something that’s never been done at PASS Summit before and secondly I am really excited to have her present with me in the keynote. In the end, this demo might be all people will be talking about after the keynote.

SQL PASS is a must-watch, must-see, must do event! I look forward to see you all there next week.

@josephsirosh

Explore your MYOB Advanced Data with Power BI

$
0
0
MYOB Advanced is a cloud based ERP software that allows you to manage financials and inventory. The Power BI content pack for MYOB Advanced turns on insightful sales reporting out-of-the-box. With limited expertise needed, managers and stakeholders can access a set of sales dashboards and reports and view KPIs, such as monitoring opportunity pipelines to see progress versus sales goals. It allows users to understand the volume of won and lost opportunities, and determine performance over time, such as month-over-month or year-over-year.

Major Breakthroughs from Microsoft Research this Week – in Conversational Speech, FPGA Acceleration & Genomic Sequencing

$
0
0

Reposted from the Microsoft Next blog.
This has been a week of extraordinary breakthroughs from Microsoft Research, and this post recaps three major announcements:

1. Historic Achievement: Microsoft Researchers Reach Human Parity in Conversational Speech Recognition

Microsoft has made a major breakthrough in speech recognition, creating a technology that recognizes the words in a conversation as well as a person does. In a paper published Monday, a team of researchers and engineers in Microsoft Artificial Intelligence and Research reported a speech recognition system that makes the same or fewer errors than professional transcriptionists. The researchers reported a word error rate (WER) of 5.9 percent, down from the 6.3 percent WER the team reported just last month. The 5.9 percent error rate is about equal to that of people who were asked to transcribe the same conversation, and it’s the lowest ever recorded against the industry standard Switchboard speech recognition task.

“We’ve reached human parity,” said Xuedong Huang, the company’s chief speech scientist. “This is an historic achievement.”

Click here or on the image below to read the full blog post.


Microsoft researchers from the Speech & Dialog research group include, from back left, Wayne Xiong,
Geoffrey Zweig, Xuedong Huang, Dong Yu, Frank Seide, Mike Seltzer, Jasha Droppo and Andreas Stolcke.
(Photo by Dan DeLong)

2. The Moonshot that Succeeded: How Bing & Azure are Using an AI Supercomputer in the Cloud

A team of Microsoft engineers and researchers has created a system that uses a reprogrammable computer chip called a field programmable gate array, or FPGA, to accelerate Bing and Azure. Utilizing the FPGA chips, Microsoft teams can write their algorithms directly onto the hardware they are using, instead of using potentially less efficient software as the middle man. What’s more, an FPGA can be reprogrammed at a moment’s notice to respond to new advances in artificial intelligence or meet another type of unexpected need in a datacenter.

Traditionally, engineers might wait two years or longer for hardware with different specifications to be designed and deployed.

“This was a moonshot project that succeeded,” said Sitaram Lanka, who runs ranking platform for Bing and has been a key collaborator on the project, called Catapult, since its inception about five years ago.

Click here or on the image below to read the full blog post.


Project Catapult team members, from left, Adrian Caulfield, Doug Burger, Andrew Putnam, Eric Chung and Sitaram Lanka.
(Photography by Scott Eklund/Red Box Pictures) 

3. Microsoft Computing Method Makes Key Aspect of Genomic Sequencing Seven Times Faster

Microsoft has come up with a way to significantly reduce the time it takes to do the major computational aspects of sequencing a genome. Microsoft’s method of running the Burrows-Wheeler Aligner (BWA) and the Broad Institute’s Genome Analysis Toolkit (GATK) on its Azure cloud computing system is seven times faster than the previous version, allowing researchers and medical professionals to get results in just four hours instead of 28. BWA and GATK are two of the most common computational tools used in combination for genome sequencing.

The time savings is critical for a number of reasons. For example, it could allow doctors to diagnose rare and dangerous genetic conditions 24 hours earlier, getting the patient lifesaving treatment faster. David Heckerman, who directs Microsoft’s genomics group, said the requests from hospitals, clinics and research institutions to process genomics data is growing at an extremely high rate.

“There’s a lot of actionable information in which speed is really important,” said Ravi Pandya, a principal software architect in Microsoft’s genomics group who has been key to this acceleration work.

Click here or on the image below to read the full blog post.


David Heckerman (Photography by Scott Eklund/Red Box Pictures)


Ravi Pandiya 

CIML Blog Team

This Week on Windows: Halo Wars 2, Minecraft, Viber and more

$
0
0

We hope you enjoyed this week’s episode of This Week on Windows! Learn more about Instagram’s arrival on Windows 10 PCs and tablets and next week’s Microsoft Windows 10 Event, or head over here to read our Windows 10 Tip on four ways to get the most out of Microsoft Edge.

Here’s what’s new in the Windows Store this week:

Pre-order Halo Wars 2 for Xbox One and Windows 10

Restricted Content

Confirm your age to continue






The last time we saw the crew of the UNSC Spirit of Fire in Halo Wars, they were settling in for a long cryosleep on their way home, knowing that with a little luck, they’d make it back to civilized space in one piece. Nearly 30 years later, they’re awakened to a new threat to the Halo universe and find themselves as the one thing standing between hope and annihilation. Halo Wars 2 will take us back to the Ark, introduce new heroes and villains, and deliver a new multiplayer mode that has the potential to push the real-time strategy genre forward. Read more over at Xbox Wire and pre-order Halo Wars 2 here!

Get ready for Halloween with the Shocktober Collection in the Windows Store, available Oct. 25-31

Shocktober Collection in the Windows Store

The Shocktober Collection in the Windows Store just might be the ultimate gathering of curated Halloween content, with dozens of music and movie offerings to set your spine a-tingling. Don’t miss The Walking Dead: Michonne for 50 percent off, the Polarr Editor Pro app for 90 percent off and Marilyn Manson’s album Pale Emperor for only 31 cents! And, starting Oct. 28, you can rent the movies The Witch and Insidious for only 31 cents. Look for the collection in the Windows Store on Oct. 25!

Minecraft: Windows 10 Edition Beta– Boss Update

 Boss update for Minecraft: Windows 10 Edition Beta

A new Boss Update for Minecraft rolls out big changes and cool features, including some of the most ferocious bosses ever devised – Elder Guardians and a new version of the Wither. Ocean monuments, new blocks and beacons are here, along with Add-Ons, which let you change the way things in your game look and behave. In fact, two sample Add-Ons are available for free download this Friday, Oct. 21, at https://minecraft.net/en/addons. How long can you survive in this brave new Minecraft world? Download the new Minecraft Boss Update and find out today.

Viber for Windows 10 – Free 

Viber for Windows 10

Following July’s introduction of Viber for Windows 10, the app just added lots of enrichments to the user experience – features like Media Gallery in the chat info screen, which collects all the photos, videos and links from your conversations in one easy-to-reference location. Large emoticons are also here to give your messages more impact, and now you can answer video calls with video – no fumbling for the video button.

Alice Through the Looking Glass– Buy from $14.99

Alice Through the Looking Glass, available in the Windows Store

In this brand-new whimsical adventure based on the beloved characters of Lewis Carroll, Alice returns to the magical world of Underland, where she must travel back in time to rescue her old friend, the Mad Hatter. Watch Alice Through the Looking Glass, available now to rent or own in the Movies & TV section of the Windows Store.

Have a great weekend!

Camera APIs with a dash of cloud intelligence in a UWP app (App Dev on Xbox series)

$
0
0

Apps should be able to see, and with that, they should be able to understand the world. In the sixth blog post in the series, we will cover exactly that, how to build UWP apps that take advantage of the camera found on the majority of devices (including the Xbox One with the Kinect) and build a compelling and intelligent experience for the phone, desktop, and the Xbox One. As with the previous blog posts, we are also open sourcing Adventure Works, a photo capture UWP sample app that uses native and cloud APIs to capture, modify and understand images. The source code is available on GitHub right now, so make sure to check it out.

If you missed the previous blog post from last week on Internet of Things, make sure to check it out. We covered how to build a cross-device IoT fitness experience that shines on all device form factors and how to use client and cloud APIs to make a real time connected IoT experience. To read the other blog posts and watch the recordings from the App Dev on Xbox live event that started it all, visit the App Dev on Xbox landing page.

Adventure Works

image1

Adventure Works is a photo capture UWP sample app that takes advantage of the built in UWP camera APIs for capturing and previewing the camera stream. Using Win2D, an open source library for 2D graphics rendering with GPU acceleration, the app can enhance any photo by appling rich effects or filters, and by using intelligent Cognitive Services API it can analyze any photos to auto tag and caption it appropriately, and more importantly, detect people and emotion.

Camera APIs

Camera and MediaCapture API

The first thing we need to implement is a way to get images into the app. This can be done via a variety of devices; a phone’s forward facing camera, a laptop’s integrated webcam, a USB web cam and even the Kinect’s camera. Fortunately, when using the Universal Windows Platform we don’t have to worry about the low level details of a camera because of the MediaCapture API. Let’s dig into some code on how to get the live camera stream regardless of the Windows 10 device you’re using.

To get started, we’ll need to check what cameras are available to the application and check if any of them are front facing cameras:


var allVideoDevices = await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture);

var desiredDevice = allVideoDevices.FirstOrDefault(device => device.EnclosureLocation != null && device.EnclosureLocation.Panel == Windows.Devices.Enumeration.Panel.Front);

var cameraDevice = desiredDevice ?? allVideoDevices.FirstOrDefault();

We can query the device using DeviceInformation.FindAllAsync to get a list of all devices that support video capture. What you get back from that Task is a DeviceInformationCollection object. From there you can use LINQ to get the first device in the list that reports being in the front panel.

The next line of code covers the scenario where the devices doesn’t have a front facing camera; in that case it just gets the first camera in the list. This is a good fallback for devices that don’t report being in the panel or the device just doesn’t have a front facing camera.

Now it’s time to initialize MediaCapture APIs using the selected camera.


_mediaCapture = new MediaCapture();

var settings = new MediaCaptureInitializationSettings { VideoDeviceId = _cameraDevice.Id };
await _mediaCapture.InitializeAsync(settings);

To start this stage, instantiate a MediaCapture object (be sure to keep the MediaCapture reference as a class field because you must Dispose when you’re done using it later on). Now we create a MediaCaptureInitializationSettings object and use the camera’s Id to set the VideoDeviceId property. Finally, we can initialize the MediaCapture by passing the settings to the InitializeAsync method.

At this point we can start previewing the camera, but before we do, we’ll need a place for the video stream to be shown in the UI. This is done with a CaptureElement:

The CaptureElement has a Source property; we set that using the MediaCapture and then start the preview:


PreviewControl.Source = _mediaCapture;

await _mediaCapture.StartPreviewAsync();

There are other considerations like device rotation and resolution, which the MediaCapture has easy to use APIs to access and modify those properties of the device and stream. Take a look at the Camera class in Adventure Works for a full implementation.

Effects

Now that we have a video stream, we can do a number of things above and beyond just taking a photo or recording video.  Today, we’ll discuss a few possibilities: applying a photo effect with Win2D, applying real time video effect using Win2D and real time face detection.

Win2D

Win2D is an easy-to-use Windows Runtime API for immediate mode 2D graphics rendering with GPU acceleration. It can be used to apply effects to photos, which is what we do in the Adventure Works demo application after a photo is taken. Let’s take a look at how we accomplish this.

At this point in the app, the user has already taken a photo, the photo is saved in the app’s LocalFolder, and the PhotoPreviewView is shown. The user has chosen to apply some filters by clicking the “Filters” AppBarButton, which shows a GridView with a list of photo effects they can apply.

Okay, now let’s get to the code (note that the code is summarized, checkout the sample app for the full code in context). The PhotoPreviewView has Win2D CanvasControl in main section of the view:

When the preview is intially shown, we load the image from the file into that Canvas. Take note that Invalidate() forces the bitmap to be redrawn:


_file = await StorageFile.GetFileFromPathAsync(photo.Uri);

var stream = await _file.OpenReadAsync();
_canvasImage = await CanvasBitmap.LoadAsync(ImageCanvas, stream);

ImageCanvas.Invalidate();

Now that the UI shows the photo, the user can select an effect from the list. This fires the GridView’s SelectionChanged event and in the event handler we take the user’s selection and set it to a _selectedEffectType field:


private void Collection_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    _selectedEffectType = (EffectType)e.AddedItems.FirstOrDefault();
    ImageCanvas.Invalidate();
}

Since calling Invalidate forces a redraw, it will hit the following event handler and use the selected effect:


private void ImageCanvas_Draw(CanvasControl sender, CanvasDrawEventArgs args)
{
    var ds = args.DrawingSession;
    var size = sender.Size;
    ds.DrawImageWithEffect(_canvasImage, new Rect(0, 0, size.Width, size.Height),
                           _canvasImage.GetBounds(sender), _selectedEffectType);
}

The DrawImageWithEffect method is an extension method found in EffectsGenerator.cs that takes in a specific EffectType (also defined in EffectsGenerator.cs) and draws the image to the canvas with that effect.


public static void DrawImageWithEffect(this CanvasDrawingSession ds, 
                                       ICanvasImage canvasImage, 
                                       Rect destinationRect, 
                                       Rect sourceRect, 
                                       EffectType effectType)
{
    ICanvasImage effect = canvasImage;

    switch (effectType)
    {
        case EffectType.none:
            effect = canvasImage;
            break;
        case EffectType.amet:
            effect = CreateGrayscaleEffect(canvasImage);
            break;
	 // ...
    }

    ds.DrawImage(effect, destinationRect, sourceRect);
}
private static ICanvasImage CreateGrayscaleEffect(ICanvasImage canvasImage)
{
    var ef = new GrayscaleEffect();
    ef.Source = canvasImage;
    return ef;
}

Win2D provides many different effects that can be applied as input to the built in Draw methods. A simple example is the GrayscaleEffect which simply changes the color of each pixels, but there are also effects that can do transforms and much more.

Win2D Video Effects

You can do a lot with Win2D and the camera. One more advanced scenario is to use Win2D to apply real time video effects to any video stream, including the camera preview stream so that the user can see what the effect looks like before they take the photo. We don’t do this in Adventure Works, but it’s worth touching on. Let’s take a quick look.

Applying a video effect on a video stream starts with a VideoEffectDefinition object. This is passed to the MediaCapture by calling mediaCapture.AddVideoEffectAsync() and passing in that VideoEffectDefinition. Let’s take a simple example, applying a grayscale effect.

First, create a class in a UWP Windows Runtime Component project and add a public sealed class GrayScaleVideoEffect that implement IBasicVideoEffect.


public sealed class GrayscaleVideoEffect : IBasicVideoEffect

The interface requires several methods (you can see all of them here); the one we’ll focus on now is ProcessFrame() where each frame is passed and an output frame is expected. This is where you can use Win2D to apply the same effects to each frame (or analyze the frame for information).

Here’s the code:


public void ProcessFrame(ProcessVideoFrameContext context)
{
    using (CanvasBitmap inputBitmap = CanvasBitmap.CreateFromDirect3D11Surface(_canvasDevice, context.InputFrame.Direct3DSurface))
    using (CanvasRenderTarget renderTarget = CanvasRenderTarget.CreateFromDirect3D11Surface(_canvasDevice, context.OutputFrame.Direct3DSurface))
    using (CanvasDrawingSession ds = renderTarget.CreateDrawingSession())
    {
        var grayscale = new GrayscaleEffect() { Source = inputBitmap };
        ds.DrawImage(grayscale);
    }
}

Back to the MediaCapture element, to add this effect to the camera preview screen, you need to call the AddVideoEffectAsync:


await _mediaCapture.AddVideoEffectAsync(
new VideoEffectDefinition(typeof(GrayscaleVideoEffect).FullName),
                            MediaStreamType.VideoPreview);

That’s all there is to the effect. You can see a more complete demo of applying Win2D video effect here in the official Win2D samples on GitHub and you can install the Win2D demo app from the Windows Store here.

Face Detection

The VideoEffectDefinition can be used for much more than just applying beautiful image effects. You can also use it to process the frame for information. You can even detect faces using one! Luckily, this VideoEffectDefintion has already been created for you, the FaceDetectionEffectDefinition!

Here’s how to use it (see the full implementation here):


var definition = new Windows.Media.Core.FaceDetectionEffectDefinition();
definition.SynchronousDetectionEnabled = false;
definition.DetectionMode = FaceDetectionMode.HighPerformance;

_faceDetectionEffect = (await _mediaCapture.AddVideoEffectAsync(definition, MediaStreamType.VideoPreview)) as FaceDetectionEffect;

You only need to instantiate the FaceDetectionEffectDefinition, set some of the properties to your needs and then add it to the initialized MediaCapture. The reason we’re taking the extra step of setting the _faceDetectionEffect private field is so that we can spice it up a little more by hooking into the FaceDetected event:


_faceDetectionEffect.FaceDetected += FaceDetectionEffect_FaceDetected;
_faceDetectionEffect.DesiredDetectionInterval = TimeSpan.FromMilliseconds(100);
_faceDetectionEffect.Enabled = true;

Now, whenever that event handler is fired, we can, for example, snap a photo, start recording, or even process the video for more information, like detecting when someone is smiling! We can use the Microsoft Cognitive Services FaceAPI to detect a smile, let’s take a look at this a little further.

Cognitive Services

Microsoft Cognitive Services let you build apps with powerful algorithms based on Machine Learning using just a few lines of code. To use these APIs, you could use the official NuGet packages, or call the REST endpoints directly. In the Adventure Works demo we use three of these to analyze photos: the Emotion API, Face API and Computer Vision API.

Emotion API

Let’s take a look at how we can detect a smile using the Microsoft Services Emotion API. As mentioned above where we showed how to use the FaceDetectionEffectDefinition, we hooked into the FaceDetected event. This is a good spot to check to see if the people in the preview are smiling in real-time and then take the photo at just the right time.

When the FaceDetected event is fired it is passed two parameters: a FaceDetectionEffect sender and a FaceDetectedEventArgs args. We can determine if there is a face available by checking the ResultFrame.DetectedFaces property in the args.

In Adventure Works, when the handler is called (see here for full event handler), first we check if there are any DetectedFaces in the image, and if so, we can greb the location of each face within the frame and call the Emotion API through our custom method, CheckIfEveryoneIsSmiling:


public async Task CheckIfEveryoneIsSmiling(IRandomAccessStream stream, 
    IEnumerable faces, double scale)
{
    List rectangles = new List();

    foreach (var face in faces)
    {
        var box = face.FaceBox;
        rectangles.Add(new Rectangle()
        {
            Top = (int)((double)box.Y * scale),
            Left = (int)((double)box.X * scale),
            Height = (int)((double)box.Height * scale),
            Width = (int)((double)box.Width * scale)
        });
    }

    var emotions = await _client.RecognizeAsync(stream.AsStream(), rectangles.ToArray());

    return emotions.Where(emotion => GetEmotionType(emotion) == EmotionType.Happiness).Count() == emotions.Count();
}

We use the RecognizeAsync method of the EmotionServiceClient to analyze the emotion of each face in the preview frame. We make the assumption that if everyone is happy in the photo they must be smiling.

Face API

Microsoft Cognitive Services Face API allows you to detect, identify, analyze, organize, and tag faces in photos. More specifically, it allows you to detect one or more human faces in an image and get back face rectangles for where in the image the faces are.

We use the API to identify faces in the photo so we can tag each person. When the photo is captured, we analyze the faces by calling our own FindPeople method and passing it the photo file stream:


public async Task> FindPeople(IRandomAccessStream stream)
{
    Face[] faces = null;
    IdentifyResult[] results = null;
    List photoFaces = new List();

    try
    {
        // find all faces
        faces = await _client.DetectAsync(stream.AsStream());

 results = await _client.IdentifyAsync(_groupId, faces.Select(f => f.FaceId).ToArray());

        for (var i = 0; i < faces.Length; i++)
        {
            var face = faces[i];
            var photoFace = new PhotoFace()
            {
                Rect = face.FaceRectangle,
                Identified = false
            };

            if (results != null)
            {
                var result = results[i];
                if (result.Candidates.Length > 0)
                {
                    photoFace.PersonId = result.Candidates[0].PersonId;
                    photoFace.Name = _personList.Where(p => p.PersonId == result.Candidates[0].PersonId).FirstOrDefault()?.Name;
                    photoFace.Identified = true;
                }
            }

            photoFaces.Add(photoFace);
        }
    }
    catch (FaceAPIException ex)
    {
    
    }

    return photoFaces;
} 

The FaceServiceClient API contains several methods that allow us to easily call into the Face API in Cognitive Services. DetectAsync allows us to see if there are any faces in the captured frame, as well as their bounding box within the image. This is great for locating the face of a person in the image so you can draw their name (or something else more fun). The IdentifyAsync method can use the faces found in the DetectAsync method to identify known faces and get their name (or id for more unique identification).

Not shown here is the AddPersonFaceAsync method of the FaceServiceClient API which can be used to improve the recognition of a specific person by sending another image for that person to train the model better. And to create a new person if that person has not been added to the model, we can use the CreatePersonAsync method. To see how all of these methods work together in the Adventure Works sample, take a look at FaceAPI.cs on Github.

Computer Vision API

You can take this much further by implementing the Microsoft Services Computer Vision API and get information from the photo. Again, let’s go back to PhotoPreviewView in the Adventure Works demo app. If the user clicks on the Details button, we call the AnalyzeImage method where we pass the photo’s file stream to the VisionServiceClient AnalyzeImageAsync method and specify the VisualFeatures that we expect in return. It will analyze the image and return a list of tags describing what the API detected in the photo, a short description of the image, detected faces, and more (see the full implementation on GitHub).


private async Task AnalyzeImage()
{
    var stream = await _file.OpenReadAsync();

    var imageResults = await _visionServiceClient.AnalyzeImageAsync(stream.AsStream(),
                new[] { VisualFeature.Tags, VisualFeature.Description,
                        VisualFeature.Faces, VisualFeature.ImageType }); 
    foreach (var tag in imageResults.Tags)
    {
        // Take first item and use it as the main photo description
        // and add the rest to a list to show in the UI
    }
}

Wrap up

Now that you are familiar with the general use of the APIs, make sure to check out the app source on our official GitHub repository, read through some of the resources provided, watch the event if you missed it, and let us know what you think through the comments below or on twitter.

And come back next week for another blog post in the series where we will extend the Adventure Works example with some social features through enabling Facebook and Twitter login and sharing, integrating project Rome, and adding Maps and location.

Until then, happy coding!

Resources

Previous Xbox Series Posts

Download Visual Studio to get started.

The Windows team would love to hear your feedback.  Please keep the feedback coming using our Windows Developer UserVoice site. If you have a direct bug, please use the Windows Feedback tool built directly into Windows 10.

Linux Integration Services Download 4.1.2-2 hotfix

$
0
0

We’ve just published a hotfix release of the Linux Integration Services download, version 4.1.2-2.

This release addresses two critical issues:

“Do not lose pending heartbeat vmbus packets” (for versions 5.x, 6.x, 7.x)
Hyper-V hosts can be configures to sent “heartbeat” packets to guests to see if they are active, and reboot them when they do not respond. These heartbeat packets can queue up when a guest is paused expecting a response when the guest is re-activated, for example when a guest is moved by live migration. This fix corrects a problem where some of these packets could be dropped leading the host to reboot an otherwise healthy guest.

“Exclude UDP ports in RSS hashing” (for version 6.x, 7.x)
While improving network performance by taking advantage of host-supported offloads we had introduced a problem with UDP workloads on Azure. This change fixes excessive UDP packet loss in this scenario.

Linux Integration Services 4.1.2-2 can be downloaded here.


CppRestSDK 2.9.0 is available on GitHub

$
0
0

We are delighted to announce a new version of CppRestSDK (Casablanca) 2.9.0, this new version available on GitHub introduces new features and fixes issues reported on the 2.8.0 version. The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.

We added
  • support for basic authentication on Linux.
  • static library support for Windows xp
  • a project for compiling as a static lib on Windows
  • a websocket_client_config option for ssl verify mode
  • host based connection pool map on non windows http_clients

We fixed issues of Linux, OSX and Android versions. Here are the set of changes going into this release:

Linux
  • Merged #70&#65 which should fix building on CentOS/RedHat.
  • #143 Work around SSL compression methods memory leak in ASIO.
  • #82 Fixed ambiguous call to begin when using with boost library.
  • #117 Fix header reading on linux listener using HTTPS.
  • #97 Add support for basic authentication.
  • #206 remove warnings-errors for system-headers under linux; honour http_proxy env-variable.
OSX
  • #114 Removed redundant std::move() that was causing errors on Xcode 7.3 gcc.
  • #140 Fix returning std::move causing build failure on osx.
Android
  • #137 Fix android build script for linux, remove libiconv dependency.
  • Use Nuget packages built with Clang 3.8 (VS 2015 Update3) and Android NDK 11rc. Update built scripts for the same.
Windows
  • #150 Add static library for windows xp.
  • #115 Added projects which target v140_xp to resolve Issue#113.
  • #71 Add a project for compiling as a static lib.
WebSockets
  • #102 Added websocket_client_config option for ssl verify mode.
  • #217 Fixed race condition in Casablanca WinRT Websocket client.
http_client
  • #131 Update to include access control allow origin.
  • #156 add host based connection pool map on non windows http_clients.
  • #161 Header parsing assumes whitespace after colon.
  • #146 Fix ambiguous reference to ‘credentials’
Uri
  • #149 Some perf improvements for uri related code.
Json

· #86 Fix obtaining raw string_t pointer from temporary.

· #96 Fix typo hexidecimal/hexadecimal.

  • #116 Fixing latin1 to UTF-16 conversion.
pplx
  • #47 Fixing .then to work with movable-only types.

As always, we trust the community to inform our next steps so, let us know what you need, how to improve Casablanca, by continuing to create an issue or a pull request on https://github.com/Microsoft/cpprestsdk

Beware of Hicurdismos: It’s a fake Microsoft Security Essentials installer that can lead to a support call scam

$
0
0

Wouldn’t it be a shame if, in trying to secure your PC, you inadvertently install malware and run the risk of being scammed?

We recently discovered a threat detected as SupportScam:MSIL/Hicurdismos.A that pretends to be a Microsoft Security Essentials installer. Microsoft Security Essentials is our antimalware product for Windows 7 and earlier. In Windows 10 and Windows 8, Windows Defender provides antimalware protection and is installed and enabled by default when Windows is installed. However, some users may believe they also need to download and install Microsoft Security Essentials.

Hicurdismos uses a fake Windows error message (sometimes called a “blue screen of death”, or BSoD) to launch a technical support scam. A real BSoD is a fatal error in which the screen turns blue and the computer crashes. Recovery from a BSoD error typically requires the user to reboot the computer.

The fake BSoD screen includes a note to contact technical support. Calling the indicated support number will not fix the BSoD, but may lead to users being encouraged to download more malware under the guise of support tools or software that is supposed to fix a problem that doesn’t exist.

Interestingly, the fake BSoD screen used by Hicurdismos mimics an error message used in Windows 8 and Windows 10, so users of these new Windows versions could also be at risk of being tricked by Hicurdismos.

The threat of technical support scams has been around for years, but it’s recently been observed to be growing. We’ve seen attackers becoming more sophisticated with their social engineering tactics to try to mislead users into calling for technical support and then they are asked for payment to “fix the problem” on the PC that does not exist. Real error messages from Microsoft do not include support contact details. See the bottom of this blog for links and information on how to contact Microsoft Support.

Hicurdismos displays a fake BSoD message that has contact details for fake support. Note: The real messages do not include support contact details, nor when you call for support are you asked for payment.

Figure 1. Hicurdismos displays a fake BSoD message that has contact details for fake support. Note: The real messages do not include support contact details, nor when you call for support are you asked for payment.

Hicurdismos is an installer that arrives via a drive-by download. SmartScreen Filter in Internet Explorer and Microsoft Edge flags this threat using the below prompts cautioning the user to not run or save the malware:

You will not get warnings like these when downloading and installing legitimate programs from Microsoft.

If the malicious installer is downloaded on the computer, it mimics the real Microsoft Security Essentials installer by using a similar icon. However, closer inspection will reveal differences in the file properties, including the filename. Hicurdismos uses the file name setup.exe.

Screenshot of the SmartScreen message checking the user whether they really intend to run the executable file

Figure 2. SmartScreen message notifying you about running an executable file that could harm your PC.

A screenshot of the SmartScreen message notifying the user that the publisher of the executable can't be verified and checking whether they would still want to run it

Figure 3. SmartScreen message notifying you that the program you are about to run hasn’t been verified, and doing an extra check of whether you’d still run it.

The Hicurdismos installer (left) attempts to mimic the icon of the real Microsoft Security Essentials installer (right), but file properties reveal that it is not the same.

Figure 4. The Hicurdismosinstaller (left) attempts to mimic the icon of the real Microsoft Security Essentials installer (right), but file properties reveal that it is not the same.

The file setup.exe is a SmartInstaller package, which contains a malicious file that pretends to be Microsoft Security Essentials. Unlike the installer, the malicious file has the same file property information as the legitimate Microsoft Security Essentials executable:

The file property information of Hicurdismos has the same details as Microsoft Security Essentials.

Figure 5. The file property information of Hicurdismos has the same details as Microsoft Security Essentials.

When run, the malware immediately renders the fake BSoD experience. To do so, it performs the following:

  • Hides the mouse cursor (to make the user think the system is not responding)
  • Disables Task Manager (to prevent the user from terminating the process)
  • Displays the BSoD image, which occupies the entire screen (to prevent the user from using the PC)

Disassembly shows how the malware hides the cursor and disables Task Manager

Figure 6. Disassembly shows how the malware hides the cursor and disables Task Manager

Disassembly shows how the malware displays the fake BSoD

Figure 7. Disassembly shows how the malware displays the fake BSoD

The malware drops a copy of itself in the following path:

    “%SystemRoot%\bluesquarez llc\sysprotector\microsoft security essentials.exe

It also creates an auto start launch point in the registry:

   In subkey: HKEY_USERS\\Software\Microsoft\Windows\CurrentVersion\Run

   Sets value: “Sysprotector

   With data: “%SystemRoot%\bluesquarez llc\sysprotector\microsoft security essentials.exe

 

Mitigation and Prevention

Hicurdismos misleads users and lures them into calling a number that can lead to a fake technical support scam. Like most social engineering techniques, it can be avoided by knowledge and alertness. Some important things to note:

  • Real error message screens do not include a support phone number, instead they will provide you with an error code and instructions to search for more information.
  • On Windows 10, Windows Defender is built-in, so there is no need to install Microsoft Security Essentials.
  • Microsoft installers are signed by a Microsoft certificate.

If you are infected with this scam, use Windows Defender Offline to scan your PC.

Comparing the real BSoD screen (left) and the fake BSoD (right) side-by-side shows the additional line that contains the fake support contact details

Figure 8. Comparing the real BSoD screen (left) and the fake BSoD (right) side-by-side shows the additional line that contains the fake support contact details

 

Report the incident to Microsoft and contact your local scam-reporting organization. Organizations for the United States, Canada, United Kingdom, and Australia include:

When you receive a phone call or see a pop-up window on your PC and you are uncertain whether it is from someone at Microsoft, don’t take the risk. Reach out directly to one of our technical support experts dedicated to helping you at the Microsoft Answer Desk.

In case you have already engaged with and paid for a fake support:

  • Apply all security updates as soon as they are available. Do a full scan to remove the threat.
  • Change your passwords.
  • Call your credit card provider to reverse the charges, if you have already paid.
  • Monitor anomalous logon activity. Block traffic to services that you would not normally access.

Reference SHA1: e1e78701049a5e883a722a98cdab6198f7bd53a1

 

Francis Tan Seng and Alden Pornasdoro

MMPC

In Case You Missed It – This Week in Windows Developer

$
0
0

You got the power this week with Windows Developer. From flight control and IoT kit updates, to the magic of camera APIs, read on to learn about the new capabilities to deliver more control over your apps.

Package rollout power

You might have streamlined your app management with the rollout of the Windows Submission API earlier this year. Now, we’ve released two new features for the API that give you more power over package rollouts. Click below to learn more.

IoT for you and me

Adafruit and Seeed are our latest partners bringing IoT to all developers with easy-to-use kits. Adafruit’s Windows 10 IoT Core Starter Kit not only gets you started quickly, but the new version also includes an upgrade to the new Rasperry Pi 3. Seeed Studio’s Grove Starter Kit for IoT is also based on Raspberry Pi, and it builds on the great design work that Seeed and their partner Dexter Industries have done around the Grove connector. Click through to get the latest on the new kits.

Magic with camera APIs

Almost any device you pick up these days has a camera in it, unlocking real time opportunities like never before. So take advantage! Open up a world of opportunities for your app and end users with the magic of camera API development skills, outlined in our latest App Dev on Xbox blog post. Click through for the walk-through.

Download Visual Studio to get started!

The Windows team would love to hear your feedback. Please keep the feedback coming using our Windows Developer UserVoice site. If you have a direct bug, please use the Windows Feedback tool built directly into Windows 10.

Update 1610 for Configuration Manager Technical Preview Branch – Available Now!

$
0
0

Hello everyone! Update 1610 for the Technical Preview Branch of System Center Configuration Manager has been released. Technical Preview releases give you an opportunity to try out new Configuration Manager features in a test environment before they are made generally available. This month’s new preview features include:

  • Improvements to the notification experience for high-impact task sequence and required application deployments – Task sequence deployments that have a high-impact to the end user,such asoperating system deployments for example, now display more intrusive notifications. However, end users can dismiss (snooze) these notifications, and control when they reappear. Any relevant client settings for notification frequency are still honored.
  • Deny previously approved application requests– As an administrator, you can deny a previously approved application request. This prevents new installations of the applicationTo install this application later, users must resubmit a request. If the application was previously installed, it will not be uninstalled.
  • Filter by content size in automatic deployment rules– Use the content size filter in automatic deployment rules to prevent large software updates from automatically downloading to better support simplified Windows down-level servicing when network bandwidth is limited.
  • Exclude clients from automatic upgrade– When you configure settings to control how clients automatically upgrade, you can now specify a collection to exclude specific clients from the upgrade. This applies to automatic upgrade as well as other methods such as software update-based upgrade. This can be used for a collection of computers that need greater care when upgrading the client.

Update 1610 for Technical Preview Branch is available in the Configuration Manager console. In addition, we updated the baseline version of Configuration Manager Technical Preview branch available on TechNet Evaluation Center. Now it is based on the Technical Preview Branch version 1610. Baseline bits are used for new installations.

We would love to hear your thoughts about the latest Technical Preview! To provide feedback or report any issues with the functionality included in this Technical Preview, please use Connect. If theres a new feature or enhancement you want us to consider for future updates, please use the Configuration Manager UserVoice site.

Thanks,

The System Center Configuration Manager team

Configuration Manager Resources:

Documentation for System Center Configuration Manager Technical Previews

Documentation for System Center Configuration Manager

System Center Configuration Manager Forums

System Center Configuration Manager Support

Download the Configuration Manager Support Center

System Center Configuration Manager and Endpoint Protection (technical preview branch version 1610

Exploring ServiceStack's simple and fast web services on .NET Core

$
0
0

Northwind - ServiceStack styleI've been doing .NET Open Source since the beginning. Trying to get patches into log4net was hard without things like GitHub and Twitter. We emailed .patch files around and hoped for the best. It was a good time.

There's been a lot of feelings around .NET Open Source over the last decade or so - some positive, some negative. There's been some shining lights though and I'm going to do a few blog posts to call them out. I think having .NET Core be cross platform and open source will be a boon for the .NET Community. However, the community needs to also help out by using non-Microsoft OSS, supporting it, doing PRs, helping with docs, giving talks on new tech and spreading the word.

While some OSS projects are purely volunteer projects, ServiceStack has found some balance with a per-developer pricing model. They also support free usage for small projects. They've got deep integration with all major IDEs and support everything from VS, Xcode, INtelliJ, and the commandline.

ServiceStack Logo

One major announcement in the least few days as been ServiceStack 4.5.2 on .NET Core! Effectively one year to the day from the feature request and they did it! Their announcement paragraph says it best, emphasis mine.

Whilst the development and tooling experience is still in a transitionary period we believe .NET Core puts .NET Web and Server App development on the cusp of an exciting future - the kind .NET hasn’t seen before. The existing Windows hosting and VS.NET restraints have been freed, now anyone can develop using .NET’s productive expertly-designed and statically-typed mainstream C#/F# languages in their preferred editor and host it on the most popular server Operating Systems, in either an all-Linux, all-Windows or mixed ecosystem. Not only does this flexibility increase the value of existing .NET investments but it also makes .NET appeal to the wider and highly productive developer ecosystem who’ve previously disregarded .NET as an option.

Many folks ran (and run) ServiceStack on Mono, but it's time to move forward. While Mono is still a fantastic stack on many platforms that .NET Core doesn't support, for mainstream Linux, .NET Core is likely the better choice.

If you’re currently running ServiceStack on Mono, we strongly recommend upgrading to .NET Core to take advantage of its superior performance, stability and its top-to-bottom supported Technology Stack.

I also want to call out ServiceStack's amazing Release Notes. Frankly, we could all learn from Release Note this good - Microsoft absolutely included. These release notes are the now Gold Standard as far as I'm concerned. Additionally, ServiceStack's Live Demos are unmatched.

Enough gushing. What IS ServiceStack? It's a different .NET way for creating web services. I say you should give it a hard look if you're making Web Services today. They say this:

Service Stack provides an alternate, cleaner POCO-driven way of creating web services.

  • Simplicity
  • Speed
  • Best Practices
  • Model-driven, code-first, friction-free development
  • No XML config, no code-gen, conventional defaults
  • Smart - Infers intelligence from strongly typed DTOs
  • .NET and Mono
  • Highly testable - services are completely decoupled from HTTP
  • Mature - over 5+ years of development
  • Commercially supported and Continually Improved

They've plugged into .NET Core and ASP.NET Core exactly as it was design. They've got sophisticated middleware and fits in cleanly and feels natural. Even more, if you have existing ServiceStack code running on .NET 4.x, they've designed their "AppHost" such that moving over the .NET Core is extremely simple.

ServiceStack has the standard "Todo" application running in both .NET Full Framework and .NET Core. Here's two sites, both .NET and both ServiceStack, but look what's underneath them:

Getting Started with Service Stack

There's a million great demos as I mentioned above with source at https://github.com/NetCoreApps, but I love that ServiceStack has a Northwind Database demo here https://github.com/NetCoreApps/Northwind. It even includes a Dockerfile. Let's check it out. I was able to get it running in Docker in seconds.

>git clone https://github.com/NetCoreApps/Northwind
>cd Northwind
>docker build -t "northwindss/latest" .
>docker run northwindss/latest
Project Northwind.ServiceModel (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Northwind.ServiceInterface (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Northwind (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
Hosting environment: Production
Content root path: /app/Northwind
Now listening on: https://*:5000
Application started. Press Ctrl+C to shut down.

Let's briefly look at the code, though. It is a great sample and showcases a couple cool features and also is nicely RESTful.

There's some cool techniques in here. It uses SqLITE for the database and the database itselfis created with this Unit Test. Here's the ServiceStack AppHost (AppHost is their concept)

public class AppHost : AppHostBase
{
public AppHost() : base("Northwind Web Services", typeof(CustomersService).GetAssembly()) { }

public override void Configure(Container container)
{
container.Register(
new OrmLiteConnectionFactory(MapProjectPath("~/App_Data/Northwind.sqlite"), SqliteDialect.Provider));

//Use Redis Cache
//container.Register(new PooledRedisClientManager());

VCardFormat.Register(this);

Plugins.Add(new AutoQueryFeature { MaxLimit = 100 });
Plugins.Add(new AdminFeature());

Plugins.Add(new CorsFeature());
}
}

Note host the AppHost base references the Assembly that contains the CustomersService type. That's the assembly that is the ServiceInterface. There's a number of Services in there - CustomersService just happens to be a simple one:

public class CustomersService : Service
{
public object Get(Customers request) =>
new CustomersResponse { Customers = Db.Select() };
}

The response for /customers is just the response and a list of Customers:

[DataContract]
[Route("/customers")]
public class Customers : IReturn {}

[DataContract]
public class CustomersResponse : IHasResponseStatus
{
public CustomersResponse()
{
this.ResponseStatus = new ResponseStatus();
this.Customers = new List();
}

[DataMember]
public List Customers { get; set; }

[DataMember]
public ResponseStatus ResponseStatus { get; set; }
}

Customers has a lovely clean GET that you can see live here: http://northwind.netcore.io/customers. Compare its timestamp to the cached one at http://northwind.netcore.io/cached/customers.

[CacheResponse(Duration = 60 * 60, MaxAge = 30 * 60)]
public class CachedServices : Service
{
public object Get(CachedCustomers request) =>
Gateway.Send(new Customers());

public object Get(CachedCustomerDetails request) =>
Gateway.Send(new CustomerDetails { Id = request.Id });

public object Get(CachedOrders request) =>
Gateway.Send(new Orders { CustomerId = request.CustomerId, Page = request.Page });
}

You may find yourself looking at the source for the Northwind sample and wondering "where's the rest?" (no pun intended!) Turns out ServiceStack will do a LOT for you if you just let it!

The Northwind project is also an example of how much can be achieved with a minimal amount of effort and code. This entire website literally just consists of thesethreeclasses. Everything else seen here is automatically provided by ServiceStack using a code-first, convention-based approach. ServiceStack can infer a richer intelligence about your services to better able to provide more generic and re-usable functionality for free!

ServiceStack is an alternative to ASP.NET's Web API. It's a different perspective and a different architecture than what Microsoft provides out of the box. It's important and useful to explore other points of view when designing your systems. It's especially nice when the systems are so thoughtfully factored, well-documented and designed as ServiceStack. In fact, years ago I wrote their tagline: "Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all."

Have you used ServiceStack? Have you used other open source .NET Web Service/API frameworks? Share your experience in the comments!


Sponsor: Big thanks to Telerik! 60+ ASP.NET Core controls for every need. The most complete UI toolset for x-platform responsive web and cloud development. Try now 30 days for free!



© 2016 Scott Hanselman. All rights reserved.
     
Viewing all 13502 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>