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

Adobe Flash support on Windows Server 2016

$
0
0

With the changes that have occurred to further align the Windows Server and Client desktop experiences, one of the most commonly asked questions is “Does Windows Server 2016 ship with Adobe Flash?”

Answer: Adobe is included and does ship on the Windows Server 2016 media. It can be installed by adding the Remote Desktop Session Host (RDSH) role.

Your thoughts, questions and feedback are very valuable to us and we encourage you to share them in the comments section below.

Derk Benisch
Senior Program Manager


Work Folders for Android can now upload files!

$
0
0

Hi all,

I’m Jeff Patterson, Program Manager for Work Folders.

We’re excited to announce that we’ve released an updated version of Work Folders for Android which enables users to sync files that were created or edited on their Android device.

whatsnew

Overview

Work Folders is a Windows Server feature since 20012 R2 that enables individual employees to access their files securely from inside and outside the corporate environment. The Work Folders app connects to the server and enables file access on your Android phone and tablet. Work Folders enables this while allowing the organization’s IT department to fully secure that data.

What’s New

Using the latest version of Work Folders for Android, users can now:

  • Sync files that were created or edited on their device
  • Take pictures and write notes within the Work Folders application
  • When working within other applications (i.e., Microsoft Word), the Work Folders location can be selected when opening or saving files. No need to open the Work Folders app to sync your files.

For the complete list of Work Folders for Android features, please reference the feature list section below.

import

save

Work Folders for Android – Feature List

  • Sync files that were created or edited on your device
  • Take pictures and write notes within the Work Folders app
  • Pin files for offline viewing. Saves storage space by fully showing all available files but locally storing and keeping in sync only the files you care about.
  • Files are always encrypted. On the wire and at rest on the device.
  • Access to the app is protected by an app passcode – keeping others out even if the device is left unlocked and unattended.
  • Allows for DIGEST and Active Directory Federation Services (ADFS) authentication mechanisms including multi factor authentication.
  • Search for files and folders
  • Open files in other apps that might be specialized to work with a certain file type

Android Version Support

  • Work Folders for Android is supported on all devices running Android Version 4.4 KitKat or later.

Known Issues

  • Microsoft Office files are read-only when opening the files from the Work Folders app. To workaround this issue, open the file from the Office application (e.g., Microsoft Word).

Blogs and Links

 If you’re interested in learning more about Work Folders, here are some great resources:

 Introduction and Getting Started

Advanced Work Folders Deployment and Management

Videos

Thanks,

Jeff Patterson and Fabian Uhse
Work Folders PM team

 

Submit your work and attend our next Dashboard Makeover

$
0
0
Ask the experts at Microsoft and find out if the visual design of your work is helping to project your data story, or just creating confusion. Attend the live webinar on November 17, 2016 to see how our Power BI pros turn dashboards and reports from standard to shiny, sharing insights more efficiently and making a bigger impact on your audience. If you want to learn more about dashboard and report design, with or without a submission of your own, register now for the Dashboard Makeover webinar!

Microsoft Azure SQL Database provides unparalleled performance with In-Memory technologies

$
0
0

Azure SQL Database built-in In-Memory technologies are now generally available for the Premium database tier including Premium pools. In-memory technology helps optimize the performance of transactional (OLTP), analytics (OLAP), as well as mixed workloads (HTAP). These technologies allow you to achieve phenomenal performance with Azure SQL Database – 75,000 transactions per second for order processing (11X perf gain) and reduced query execution time from 15 seconds to 0.26 (57X perf). You can also use them to reduce cost – on a P2 database obtain 9X perf gain for transactions or 10X perf gain for analytics queries by implementing In-Memory technologies, without any additional cost! See below for details about these performance and cost savings results.

  • In-Memory OLTP increases throughput and reduces latency for transaction processing. Scenarios such as trading and gaming really see the performance benefits. Another common scenario is data ingestion from events or IoT devices. You can also use it to speed up caching, data load, and temp table and table variable scenarios.
  • ClusteredColumnstore Indexes reduce storage footprint (up to 10X) and improve performance for reporting and analytics queries. Use it with fact tables in your data marts to fit more data in your database and improve performance. Use it with historical data in your operational database to archive and be able to query up to 10 times more data.
  • Non-clustered Columnstore Indexes for Hybrid Transactional and Analytical Processing (HTAP):gain real-time insights into your business by querying the operational database directly, without the need to run an expensive ETL process and wait for the data warehouse to be populated. Non-clustered Columnstore indexes allow very fast execution of analytics queries on the OLTP database, while reducing the impact on the operational workload.
  • In-Memory OLTP and Columnstore can also be combined: you can have a memory-optimized table with a columnstore index, allowing you to both perform very fast transaction processing and run analytics queries very fast on the same data.

Quorum Business Solutions provides innovative software as a service (SaaS) solutions for field operations in the Oil and Gas industry running on Microsoft Azure. With In-Memory OLTP they were able to grow their business by onboarding new customers and supporting organizations at much larger scale, without spending more on more database throughput.

clip_image002“Scalable performance is critical with our IoT platform for oil and gas that must run 24/7/365.  The addition of In-Memory OLTP tables and native-compiled stored procedures on Azure SQL Database for a few key operations immediately reduced our overall DTU consumption by seventy percent.  Without in-memory tables, our growth would have required significant effort to multiple areas of the platform to maintain performance.  For data-centric services, in-memory support provides instant scale to existing applications with little to no changes outside of the database.” Mark Freydl, solution architect, Quorum Business Solutions 

For more details about Quorum Business Solutions’ use of Azure SQL Database and the benefits they see with In-Memory OLTP, read this case study.

Spotlight is a solution provided by Quest for the monitoring of SQL Server deployments in their customers’ data centers and in the cloud. They leverage In-Memory OLTP to speed up the processing of requests and events such that Quest’s customers learn about any potential issues in their environments very quickly.

quest-logo“Quest’s customers rely on Spotlight to tell them in a timely manner about issues in their SQL Server environments. Quest relies on In-Memory OLTP in Azure SQL Database to provide a robust base on which to build Spotlight features quickly and deliver them to customers. With In-Memory OLTP, we get extremely high throughput and all the goodness of a flexible and well understood programming model based on T-SQL – this means we can deliver a high quality experience to our Spotlight customers very quickly.” Patrick O’Keeffe, executive director, software engineering (information management)

M-Files provides enterprise information management solutions that eliminate information silos and provide quick and easy access to the right content from any core business system and device. Non-clustered columnstore indexes allow running very fast analytical queries on the document data, in turn allowing M-Files’ customers to gain insights and find information much faster.

clip_image006“Lightning fast analytical queries as well as online transactions are a critical success factor in M-Files implementations. The addition of updatable non-clustered columnstore indexes in Azure SQL Database and in Microsoft SQL Server 2016 helped us to achieve over 10x faster queries in critical workloads at our customers without significant performance cost on online transaction processing. The change required no code changes in our application and provided instant performance boost both to our clients on-premises as well as to our M-Files Cloud Vault users in Azure.” Antti Nivala, founder and CTO

Performance and cost savings benefits

Both In-Memory OLTP and Columnstore Indexes achieve their respective performance benefits by utilizing resources such as CPU and IO more efficiently. Each Azure SQL Database pricing tier has a certain amount of resources allocated to it. Since In-Memory technologies are more resource-efficient, this means that you can achieve performance gains without having to increase your pricing tier. On the flip side, you can achieve the same performance level with a lower pricing tier when adopting In-Memory technologies in your database.

Some performance results for In-Memory OLTP in Azure SQL Database:

  • Order processing benchmark (scale factor 100, with 400 clients) on P15 (the highest tier at the time of writing): 75,000 transactions per second (TPS) with In-Memory OLTP, compared with 6,800 TPS with traditional tables and stored procedures, which translates to 11X performance gain with In-Memory OLTP.
  • Also lower performance tiers show impressive results. For a P2 with the same workload (scale factor 5, with 200 clients): 8,900 TPS with In-Memory OLTP, compared with 1,000.
  • 30-40% performance gain just by replacing traditional table-valued parameters (TVPs) with memory-optimized TVPs: High Speed IoT Data Ingestion Using In-Memory OLTP in Azure

Performance results for Columnstore indexes, using the sample on this page:

  • Using a P15 database (the highest performance tier at the time of writing), the query runs in 0.26 seconds with Columnstore, while it runs in 15 seconds when using traditional indexes with page compression. This translates to a performance gain of 58X!
  • Even with lower pricing tiers you see significant performance benefits: using a P1 database, the query runs in 4.8 seconds with Columnstore, while it runs in 27 seconds using traditional indexes with page compression. A performance gain of 5.6X without increasing the pricing tier!

Try out In-Memory technologies in Azure SQL Database today

For more information about In-Memory technologies in Azure SQL Database, tips on how to get started, as well as samples, check out the SQL In-Memory documentation.

 

Stay tuned on this blog for more detailed information about the individual In-Memory technologies over the next few weeks!

VS Team Services Update – Nov 7

$
0
0

This week we are rolling out our sprint 108 work to Team Services.  You can read the release notes for details.

It’s another comparatively “light” sprint.  It’s the last sprint that should be significantly affected by our work to wrap up shipping TFS 15.  We’re pretty much done, have incorporated the feedback we got from RC2 and feel we are about ready.  Looking forward to getting TFS 15 shipped.

One of the biggest things we’ve delivered this sprint is integration with the new Microsoft Teams collaboration tool.  We’ve enabled chat integration and hosting of our Kanban board in a team context.  It’s still preview and has some rough edges.  We’ll keep refining it but we’re pretty excited about it.

We also released a lot of improvements to our build and release pipeline – including long awaited support for .NET Core, Docker improvements and much more.

A little “peeking ahead” thought… Our next deployment (sprint 109) will start in just over 2 weeks.  That will be the last deployment for the year – we’re going to skip 110 because it falls right in the middle of the Christmas holidays.  Our next sprint deployment (after 109) will be 111 in early January.

We also have our annual Connect(); event next week in New York.  We’ll be announcing a bunch of cool new stuff.  I encourage you to tune in if you get the chance.

Brian

UK Ministry of Defence on the frontline of cloud-based data protection with Office 365 Advanced Threat Protection

$
0
0

ministry-of-defence


Today’s post was written by Ron Markezich, corporate vice president for Microsoft.

Today, providing security on any front requires a willingness to adopt leading-edge technologies. So it’s great to see the Ministry of Defence (MOD) in the United Kingdom assume a leadership role in their decision to adopt the Microsoft Cloud, as well as Office 365 Advanced Threat Protection and Customer Lockbox from a Microsoft U.K. data center.

According to Mike Stone, chief digital and information officer (CDIO) at the Ministry of Defence, Microsoft cloud services bring world-class reliability and performance to its operations in a way that fits perfectly with its digital transformation agenda:

“The MOD chose Microsoft cloud technologies to support our transition to a more cost-effective, modern and agile organisation. Microsoft offers the security, privacy, control and transparency that meets our stringent criteria for cloud services—all available from data centres in the U.K. Additional cloud-based services such as Advanced Threat Protection provide us with complementary capabilities to keep our employees productive and our network secure.”

Mike’s statement resonates with any highly regulated government entity that must find the right balance between enabling employees with anytime, anywhere data access while ensuring security.

Now that more than 95,000 MOD mailboxes will be protected with Office 365 Advanced Threat Protection, staff will stay productive and secure around the clock. That’s because, despite the escalating severity and complexity of today’s malware, Advanced Threat Protection offers better protection and control. Additionally, with Customer Lockbox, the MOD gets full visibility and control of their customer data during service operations, which can help them meet compliance obligations.

Aligning its vision for digital transformation with the Microsoft Cloud, the MOD gets the best of both worlds—productivity-enhancing agility in a highly secure online environment. I’m happy to see that by empowering staff to achieve its goals in our rapidly evolving digital world, the MOD is entering a new era of heightened performance—at home and abroad.

—Ron Markezich

The post UK Ministry of Defence on the frontline of cloud-based data protection with Office 365 Advanced Threat Protection appeared first on Office Blogs.

How Did the Pollsters Get It So Wrong?

$
0
0

Re-posted from the Revolutions blog.

A lot of what we do in the big data, machine learning & data science community is to build tools and solutions that help us predict the seemingly unpredictable. With the US elections, though, pretty much all the pollsters and the models behind them got it dead wrong. All the major polls consistently put Clinton down as a solid favorite, with her win probability exceeding 70% the day prior to the elections.

So what went wrong with these forecasts? There are three possibilities:

  • The models were plain wrong.
  • The models were right, but the result was a fluke.
  • The data used the models was bad.

Which one was it? Join the debate at the original post here or by clicking the image below, which captures a major shift in mood towards Trump that nobody quite predicted:


Country shift from 2012 (Image Source: New York Times) 

Regardless of the factors at play, last night wasn’t the best advertisement for political forecasters and pundits. There will, no doubt, be much analysis on this topic in the weeks to come. Perhaps, in a constructive spirit, we can harvest relevant datasets from the post-election process and put them to good use, like in a future Cortana Intelligence competition! Who knows – we may even be able to help the pollsters get things right during the next major election cycle!

CIML Blog Team

Announcing Windows 10 Insider Preview Build 14965 for Mobile and PC

$
0
0

Hello Windows Insiders!

Today we are excited to be releasing Windows 10 Insider Preview Build 14965 for Mobile and PC to Windows Insiders in the Fast ring.

Language Packs for PC have been slightly delayed for this build. For those of you with Language Packs installed, we recommend holding off checking for updates and taking this build until the Language Packs are published. We expect these to be fully published in a few hours.

What’s new in Build 14965

Controlling external monitors from tablets just got easier (PC): You can now drive content on a second display from your tablet without ever having to attach a mouse. The virtual touchpad lets you do more with a tablet and a second screen – just connect to another monitor, PC, or TV, go to Action Center and tap on the “Project” Quick Action to extend your screen. Use it just like you would a physical touchpad to control content on the connected screen. To enable it, press and hold on the taskbar and select “Show touchpad button”. A touchpad icon will now appear in the notification area (just like Windows Ink Workspace does), and tapping on it will bring it up the virtual touchpad.

Virtual touchpad

You’ve seen the work we’ve been doing for precision touchpad customization with the last few builds, and the virtual touchpad is no exception. While the virtual touchpad is open, go to Settings > Devices > Touchpad and you’ll be able to tweak the touchpad settings to your preferences.

Sticky Notes update (PC): Windows Insiders in the Fast ring will receive will receive Sticky Notes app update to version 1.2.9.0 today and we’re very excited to share what it includes!

  • We’ve expanded our support for Insights to many more languages and regions, with even more to come in further updates, stay tuned! Specifically, with this version:
    • We’ve added flight detection for Germany (Germany), in more English locales (Canada, Great Britain, India, Arabia), Spanish (Spain & Mexico), French (France, Canada), Italian (Italy), Japanese (Japan), and Portuguese (Brazil).
    • We’ve added email & URL recognition for every locale (except Chinese (simplified or traditional), Korean, or Japanese, which we’re still working on).
    • We’ve added phone number recognition to all English, German, Spanish, French and Italian locales.
    • We’ve added address recognition support for English (Great Britain) and Spanish (United States).
    • We’ve added time recognition (prompting to create a Cortana reminder) to English (Great Britain), English (Australia) and English (India).
    • We’ve added stock recognition (for example, $MSFT) to English (Australia), English (Canada), English (India), German (Germany), Spanish (Spain), Spanish (Mexico), French (France), French (Canada), Japanese (Japan) and Portuguese (Brazil).
  • If Insights in Sticky Notes isn’t turned on automatically for you, tap “…” > Settings gear >“Enable insights”. Note: The language and region used to detect Insights in Sticky Notes is based off of the active keyboard. We’re currently investigating some issues where Insights may not show up as expected if you switch keyboards while typing in Sticky Notes.
  • We’ve fixed some issues with Undo and Redo (CTRL + Z/CTRL + Y) while typing, so they’ll now do so more reliably.
  • We’ve improved the performance of text input while typing.
  • It’s now easier than ever to get the latest Sticky Notes app updates. When our next update is available, we’ll show an in-app prompt so all you have to do is click ‘Update’.
  • We’ve also done a whole lot of UI/UX polishing and performance improvements that we hope you enjoy.

We’re been making a bunch of improvements based on your feedback, and have more to come, so let us know what you’d like to see next! In recent versions of Sticky Notes, we’ve added support for many of your favorite keyboard shortcuts, including CTRL + B (bold), CTRL + I (italic), CTRL + N (new note) and CTRL + D (delete note), added a new context menu for easy copy/paste, reduced the minimum note size for typists, as well as generally improved our reliability and performance.

Windows Ink Workspace Improvements (PC): This build includes a number of improvements to the Windows Ink Workspace.

  • We increased the number of Recently Used apps shown in the Windows Ink Workspace to 6, and added a link to quickly access your pen settings.
  • We’ve improved the performance of loading Sketchpad when there’s a lot of ink present on the sketch.
  • We’ve updated the new protractor, so that you can use the scroll-wheel on your mouse to shrink/expand it (depending on the direction of the scrolling).
  • We fixed an issue where, when using Sticky Notes in the Windows Ink Workspace, the background would ding when tapped.
  • We fixed an issue where inking and resizing the protractor at the same time would result in Sketchpad crashing.
  • We’ve updated the “Pen & Windows Ink” Settings for pen users to now include a link to the handwriting training tool – simply click on “Get to know my handwriting” to launch it. We’ve also improved how we learn from your handwriting samples – try it out and let us know what you think!

Enhancing the Address Bar in Registry Editor (PC): We were really excited to hear how excited you were about the new address bar in Registry Editor, and based on your feedback, we’ve already incorporated two new features:

  1. You can now use CTRL + L to set focus to the address bar – while we already supported ALT + D, we recognize that some people prefer this keyboard shortcut instead, so now you have the option to use either one
  2. You can now use shorthand notation for HKEY names – you told us that when sharing registry paths you always use shorthand notation (HKCU) instead of typing out the full HKEY name (i.e. HKEY_CURRENT_USER), so we should support them in the address bar, and you know what? We agree! You can now just use “HKCR”, “HKCU”, “HKLM”, and “HKU” instead of typing or pasting the respective full name “HKEY_CLASSES_ROOT”, “HKEY_CURRENT_USER”, “HKEY_LOCAL_MACHINE”, or “HKEY_USERS” into the address bar.

Improving Your Hyper-V VM experience (PC): Following the new VM scaling options mentioned in last week’s build, we’ve fixed an issue where depending on the zoom level selected, the VM window might not be created large enough to avoid scrollbars, despite their being enough space for it. We also updated the logic so that when you pick a particular zoom level, that zoom level preference will be preserved for the next VM connection. Along the way, we fixed an issue where the title bar of a maximized VM window would be occluded when taskbar had been set to on top.

Other improvements and fixes for PC

  • We have fixed the issue causing Internet Explorer to crash a few seconds after launch.
  • We fixed an issue where, when using Cortana in French (France or Canada), the “Prendre une ” (take a picture, video, or selfie) command was redirecting to a Bing search rather than opening the Camera app as expected.
  • We’ve made some graphics improvements so the system will now respond better when WIN + L is pressed while playing a full screen game.
  • We’ve updated the ALT + F4 Shutdown dialog to better respond to DPI changes when connected to an external monitor. We also fixed an issue where the tooltips for the taskbar notification area items would be incorrectly sized after a DPI change until rebooting the machine or otherwise signing out and back in.
  • We’ve fixed an issue where File Explorer might crash when creating or renaming a folder on a network share.
  • We fixed an issue resulting in the text on the Outlook Calendar tile on the Start menu being slightly fuzzy.
  • We fixed an issue where deleted files might reappear in File Explorer with a 0 byte size.
  • We fixed an issue resulting in a Windows Default Lock Screen window sometimes appearing after logging in.
  • We fixed an issue resulting in File Explorer crashing after right-clicking an app in Task Manager and selecting “Open File Location”.
  • We’ve updated our migration logic so that going forward from Build 14965, preferred UAC settings, startup shortcuts, and File Explorer folders that had been pinned to the Start menu will all now be preserved across upgrades.
  • We fixed an issue resulting in vertical lists written in XAML, such as those found in Groove Music, unexpectedly animating in from the side.
  • We fixed an issue resulting in Cortana crashing if you typed “Create an appointment” then clicked on the resulting suggestion to “Create an appointment”.
  • We fixed an issue where in Microsoft Edge, after cancelling a file download, the progress bar for the next file downloaded might appear to be stuck at the point at which the old file’s download was at when it was cancelled.
  • We fixed an issue that could result in the Japanese Input Method Editor (IME) periodically showing the candidate window in the upper left corner of the desktop and not being able to enter text into the Office 2016 apps and some other text editors.

Other improvements and fixes for Mobile

  • We fixed an issue where, when using Cortana in French (France or Canada), the “Prendre une ” (take a picture, video, or selfie) command was redirecting to a Bing search rather than opening the Camera app as expected.
  • We fixed an issue resulting in Cortana crashing if you typed “Create an appointment” then tapped on the resulting suggestion to “Create an appointment”.
  • We improved the performance for English (India) text prediction.
  • We fixed an issue in Data Usage Settings, where after selecting the data plan to be unlimited, it would still prompt to set a limit. We’ve also made it easier in the Data Usage Settings for those with dual SIM phones to differentiate between the cellular data use on each SIM, and fixed a few other polish issues, including that the sort by dropdown on the Usage Details page was unexpectedly wide.
  • We fixed an issue where Narrator wasn’t giving feedback when adjusting sliders, for example in Settings, or in the Volume flyout.
  • We fixed a migration issue resulting in Microsoft Edge to fail to launch for some Insiders after updating to a new build.

November 2016 Bug Bash Update

This week we kicked off our internal Bug Bash and are including Windows Insiders, which will run through Sunday November 13th. Everything you need to know about how to get started with the Bug Bash can be found in the Feedback Hub article here. This build can be used for the Bug Bash. We wanted to take a moment and say THANK YOU for participating in the Bug Bash alongside us and providing great feedback. Engineering teams are actively going through your feedback, understanding the issues, prioritizing, and then determining what next to do. Your feedback counts and goes a long way in helping shape Windows 10 as we make important engineering decisions! If you have feedback on how the November 2016 Bug Bash is going for you, let us know.

We will be live streaming Bug Bush Quests at https://beam.pro/WindowsInsider this weekend if you want to join us in completing Quests together. We will be online Saturday November 12th from 1-3PM PST (21:00 UTC).

Known issues for PC

  • Double-clicking on an Excel document to open it from File Explorer will crash Microsoft Excel. The workaround is to open the document from within Excel.
  • Microsoft Studios games like Microsoft Sudoku, Jigsaw, Minesweeper, Taptiles, and Treasure Hunt may freeze at the splash screen on launch.

Known issues for Mobile

  • If you used the previous ‘date change’ workaround to update to Build 14951 or Build 14955: Please don’t use it any longer! The Microsoft account (MSA) ticket on your device needs to expire and then you’ll be offered today’s build. If you changed your date by 30 years… you’ll want to do a device reset.
  • You will be unable to install additional languages, keyboards, and speech packs on your phone for the next few weeks. If you have existing languages, keyboards, and speech packs installed – they will carry over when you update to new builds. You just can’t install any new ones. If you do a hard reset of your phone on these builds – you will also be unable to install additional languages, keyboards, and speech packs. You can use Windows Device Recovery Tool to go back to Windows Phone 8.1 or Windows 10 Mobile, install any languages, keyboards, and speech packs you need and then update to the latest build in the Fast ring as a workaround.

Team Updates

How are you all enjoying the Bug Bash this week? One of my favorite things to do during these is to use or build a tech that I am not as familiar with so that I am a.) using the product in a different way and b). learning something new. This week, I am investing some deeper IoT learnings. A few weeks ago at Ignite NZ, I attended a session on Smart Cities made with IoT. Of course, this was a fascinating talk about how using the cloud, automation, sensors and data, we are able to build far more energy-efficient, safer, more connected buildings. I’ve been continuing my investigating of Smart Cities and have loved learning more about our partner company AvePoint’s Smart City app that they demoed at Worldwide Partner Conference in July, but unveiled just recently as a trial called Try Citizen Services (a Windows 10 app) and the fastest/easiest way to demo/trial AvePoint Citizen Services. I found this to be a really cool self-guided, click-through demo of the solution.

A lot more about this can be found available on AppSource. I plan to do an experiment with Azure IoT and Windows 10 to see if I can “smartly” build up my neighborhood in Seattle!

The MVP Summit kicked off earlier this week in Redmond. I had a blast getting to meet many Windows Insiders at the MS Dev Show meetup where I talked about future-tech and innovation.

Bill Karagounis,Jeremiah Marble and I also did session on CoCreating for our Community and Inside the Windows Insider Program which resulted in quite a lively discussion with our Insiders! Slides can be found here.

And on a more personal note, congrats to Windows Insider Michael Gillett and Aimee Hardwick both of who I had the pleasure of meeting last Saturday night. They just got engaged on top of the Space Needle during the MVP Summit!

#WIndowsInsiderLove

Thank you everyone and keep hustling,
Dona <3


.NET Core Data Access

$
0
0

.NET Core was released a few months ago, and data access libraries for most databases, both relational and NoSQL are now available. In this post, I’ll detail what client libraries are available, as well as show code samples for each of them.

ORM

EF Core

Entity Framework is Microsoft’s Object-Relational Mapper for .NET, and as such is one of the most-used data access technologies for .NET. EF Core, released simultaneously with .NET Core, is a lightweight and extensible version of Entity Framework that works on both .NET Core and .NET Framework. It has support for Microsoft SQL Server, SQLite, PostgreSQL, MySQL, Microsoft SQL Server Compact Edition, with more, such as DB2 and Oracle, to come.

What follows is an example of EF Core code accessing a blog’s database. The full tutorial can be found on the EF documentation site.

Dapper

Dapper is a micro-ORM built and maintained by StackExchange engineers. It focuses on performance, and can map the results of a query to a strongly-typed list, or to dynamic objects. .NET Core support is currently in beta.

Relational databases

SQL Server

The Microsoft SQL Server client library is built into .NET Core. You don’t have to use an ORM, and can instead go directly to the metal and talk to a SQL Server instance or to an Azure SQL database using the same APIs from the System.Data.SqlClient package.

PostgreSQL

PostgreSQL is an open source relational database with a devoted following. The Npgsql client library supports .NET Core.

Another interesting library for PostgreSQL that is compatible with .NET Core is Marten. Marten uses PostgreSQL storage to implements a document database.

MySQL

MySQL is one of the most commonly used relational databases on the market and is open source. Support for .NET Core is now available, both through EF Core and directly through the MySQL Connector for .NET Core.

SQLite

SQLite is a self-contained, embedded relational database that is released in the public domain. SQLite is lightweight (less than 1MB), cross-platform, and is extremely easy to embed and deploy with an application, which explains how it quietly became the most widely deployed database in the world. It’s commonly used as an application file format.

You can use SQLite with EF Core, or you can talk to a SQLite database directly using the Microsoft.Data.Sqlite library that is maintained by the ASP.NET team.

There’s another SQLite package that’s compatible with .NET Core called SQLitePCL.raw.

NoSQL

Azure DocumentDB

Azure DocumentDB is a NoSQL database service built for fast and predictable performance, high availability, automatic scaling, and ease of development. Its flexible data model, consistent low latencies, and rich query capabilities make it a great fit for web, mobile, gaming, IoT, and many other applications that need seamless scale. Read more in the DocumentDB introduction. DocumentDB databases can now be used as the data store for apps written for MongoDB. Using existing drivers for MongoDB, applications can easily and transparently communicate with DocumentDB, in many cases by simply changing a connection string. The next version of the DocumentDB client library, which will be available around the Connect event, supports .NET Core.

MongoDB

MongoDB is a document database with an official .NET driver that supports .NET Core.

RavenDB

RavenDB is a document database that is not only compatible with .NET Core, it’s also built with it.

Redis

Redis is one of the most popular key-value stores.

StackExchange.Redis is a high performance Redis client that is maintained by the StackExchange team.

ServiceStack has its own Redis client library, that is compatible with .NET Core, like the rest of ServiceStack.

Cassandra

Apache Cassandra is a highly scalable and fault-tolerant NoSQL database. DataStax is a C# driver for Cassandra with built-in support for mapping Cassandra data to CLR objects. The latest version is compatible with .NET Core.

CouchBase

CouchBase is an open source document database that is popular in mobile applications. The offical Couchbase client library is compatible with .NET Core.

CouchDB

CouchDB is a document database that I personally like a lot for its simplicity. It can scale from small devices such as a Raspberry Pi to cloud applications. It uses a very simple HTTP and JSON-based API, which limits the need for a client library. C# client libraries do exist, but none of them support .NET Core today as far as I can tell except for Kanapa which hasn’t been updated for a while. It’s very easy to interact with the database through its REST API nonetheless.

YesSql

YesSql is an interesting library that implements a transactional document database on top of relational stores such as SQL Server.

Lucene.NET

Finally, I want to mention Lucene.NET. It’s not technically a database, but it’s so useful in setting up full-text search on a data-driven project that a post on data access wouldn’t be complete without it. The team has put a lot of work into the new version of Lucene to implement new features and major improvements, and they also made it compatible with .NET Core. It’s still early, but prerelease packages will soon be available.

What about OLE DB?

OLE DB has been a great way to access various data sources in a uniform manner, but it was based on COM, which is a Windows-only technology, and as such was not the best fit for a cross-platform technology such as .NET Core. It is also unsupported in SQL Server versions 2014 and later. For those reasons, OLE DB won’t be supported by .NET Core.

Keeping track

More database support for .NET Core will no doubt become available in the future, and we’ll make sure to highlight new client libraries in our Week in .NET posts as they get announced. In the meantime, I hope this post helps get you started with .NET Core application development.

System Center Operations Manager Assessment on Operations Management Suite – Public Preview!

$
0
0

Are you worried about the health of your Operations Manager environment? Looking for a tool that can help keep Operations Manager up-to-date and run efficiently?

We present you the System Center Operations Manager Assessment solution that assesses the risk and health of your System Center Operations Manager Server environments. This solution is available to all 2012 SP1 and 2012 R2 Operations Manager users on Operations Management Suite (OMS) for free!

Solution Description

System Center Operations Manager Assessment solution on OMS assesses your Operations Manager environment against best practices that were collected over the years from Microsoft Knowledge Base articles and field engineers across multiple environments, industries and scenarios. This solution provides a health check and risk assessment of the Operations Manager environment and recommendations to fix the issues identified.

Installing and Configuring the solution

Use the following information to install and configure the solution

Configure the System Center Operations Manager Assessment rule

System Center Operations Manager Assessment Solution’s Management Pack consists of a rule by name “Microsoft System Center Advisor SCOM Assessment Run Assessment Rule”. This rule is responsible for the run of the assessment. To enable the rule and configure the frequency, follow the steps below.

Enable the assessment to run

By default, “Microsoft System Center Advisor SCOM Assessment Run Assessment Rule” rule is in disabled state. To run the assessment, this rule has to be enabled against a Management Server. To do this, follow the steps below:

  • Enable the rule for a specific Management Server
    • In the Authoring workspace of the Ops Manager console, search for the Rule “Microsoft System Center Advisor SCOM Assessment Run Assessment Rule” in Rules pane
    • From the search results appeared, select the one with “Type: Management Server”
    • Right click on the above selected rule and click on Overrides  For a specific object of class: Management Server
    • Select the Management Server that this rule should execute on from the available Management servers
    • Make sure to change the property value of Enable to “True” as in the screenshot shown below:

1

While still in this window, to configure the frequency of the run, follow the steps below

Configure the frequency of the run

The assessment is configured to run 10080 minutes (or 7 days), the default interval. This interval can be overridden to a value of at least 1440 minutes (or 1 day). This value represents the minimum time gap required between successive assessment runs. To override the interval, follow the steps below:

  • Override the interval of the assessment run
    • In the Authoring workspace of the Ops Manager console, search for the Rule “Microsoft System Center Advisor SCOM Assessment Run Assessment Rule” in Rules pane
    • From the search results appeared, select the one with “Type: Management Server”
    • Right click on the above selected rule and click on “Override the Rule  For all objects of class: Management Server”
    • Change the parameter value of Interval to the desired interval value.
      In the screenshot below, this value is set to 1440 minutes i.e. 1 day
      2
    • Note that if the value is set to less than 1440 minutes, then the rule runs at a one day interval i.e. the rule ignores this interval value and runs at a frequency of 1 day

Set the Run As account for System Center Operations Manager Assessment

OMS builds upon management packs for workloads to provide value-add services. Each workload requires workload-specific privileges to run management packs in a different security context, such as a domain account. You need to provide credential information by configuring an Operations Manager Run As account.

Use the following information to set the Operations Manager run-as account for System Center Operations Manager Assessment.

  • In the Operations Manager Console, go to the Administrations tab
  • Under the Run As Configuration, click Accounts
  • Create the Run As Account, following through the Wizard, creating a Windows account. The account to be used is the one identified and having all the prerequisites below
    • A domain account member of the local Administrators group on all servers in the environment (All Operations Manager Roles – Management Server, OpsMgr Database, Data Warehouse, Reporting, Web Console, Gateway)
    • Operation Manager Administrator Role for the management group being assessed
    • Execute the script to grant granular permissions to the account on SQL instance used by Operations Manager.
      Note: If this account has sysadmin rights already, then skip the script execution.
  • Under Distribution Security, select More secure
  • Specify the Management Server on which this account will be distributed
  • Go back to the Run As Configuration and click Profiles
  • Search for the System Center Operations Manager Assessment Profile
  • The profile name should be, “Microsoft System Center Advisor SCOM Assessment Run As Profile”
  • Right click and update its properties, and add the recently created Run As Account we just created in step 3

 SQL Script to grant granular permissions to the Run As account

Execute below script to grant required permissions to the Run As account on the SQL Instance used by Operations Manager

-- Replace  with the actual user name being used as Run As Account.USE master

-- Create login for the user, comment this line if login is already created.
 CREATE LOGIN [UserName]FROM WINDOWS

--GRANT permissions to user.
 GRANTVIEW SERVER STATETO[UserName]GRANTVIEWANY DEFINITION TO[UserName]GRANTVIEWANY DATABASE TO[UserName]

-- Add database user for all the databases on SQL Server Instance, this is required for connecting to individual databases.
 -- NOTE: This command must be run anytime new databases are added to SQL Server instances.
 EXEC sp_msforeachdb N'USE [?]; CREATE USER [UserName] FOR LOGIN [UserName];'Use msdbGRANTSELECTTo[UserName]Go

--Give SELECT permission on all Operations Manager related Databases
 --Replace the Operations Manager database name with the one in your environment
 Use[OperationsManager];GRANTSELECTTo[UserName]GO

--Replace the Operations Manager DatawareHouse database name with the one in your environment
 Use[OperationsManagerDW];GRANTSELECTTo[UserName]GO

--Replace the Operations Manager Audit Collection database name with the one in your environment
 Use[OperationsManagerAC];GRANTSELECTTo[UserName]GO

--Give db_owner on [OperationsManager] DB
 --Replace the Operations Manager database name with the one in your environment
 USE[OperationsManager]GOALTER ROLE [db_owner]ADD MEMBER [UserName]GO

Solution Details

After a successful assessment of the Operations Manager environment, recommendations are generated. Users can view these recommendations in their OMS workspace by clicking the System Center Operations Manager Assessment tile.

3

4

Each recommendation has a weightage assigned based on probability of occurrence, impact if occurred and effort required to fix. This will guide the user to prioritize the recommendations to act on.

Clicking on any of the recommendations, will open a new screen with details such as description of the issue, suggested actions, affected objects etc.

5

Next Steps

Try this solution today on your Operations Manager environment and we would love to hear your feedback on this.
Get started with Operations Management Suite and activate your free account

How to share feedback?

User Voice : To suggest any improvements/ideas on this solution, visit the SCOM UserVoice page
Email: Tell us at scompm@microsoft.com
OMS Forums: Good general discussion of OMS.  Visit the OMS Forums.

Azure big data services host Ask Me Anything session

$
0
0

The big data teams on Azure will host a special Ask Me Anything session on /r/Azure, Thursday, November 17, 2016 from 10:00 am to 2:00 pm PST.

What's an AMA session?

We'll have folks from the Azure big data engineering teams available to answer any questions you have. You can ask us anything about our products, services or even our teams!

Why are you doing an AMA?

We like reaching out and learning from our customers and the community. We want to know how you use big data in the Azure cloud and how your experience has been on Azure Data Lake, HDInsight, Data Factory and Stream Analytics services. Your questions provide insights into how we can make the service better. If this AMA session turns out to be useful, we may start doing this on a regular schedule.

Who will be there?

You, of course! We'll also have PMs and Developers from the Azure Data Lake, HDInsight, R Server, Data Factory and Stream Analytics teams participating throughout the day.

Have any questions about the following topics? Bring them to the AMA.

  • Azure Data Lake Analytics, U-SQL
  • Azure Data Lake Store
  • Azure HDInsight
  • Microsoft R Server on HDInsight or standalone
  • Azure Data Factory
  • Azure Stream Analytics
  • Spark, Hadoop, HBase, Storm, Interactive Hive (LLAP), Jupyter, Zeppelin, Livy on HDInsight

Why should I ask questions here instead of StackOverflow, MSDN or Twitter? Can I really ask anything?

An AMA is a great place to ask us anything. StackOverflow and MSDN have restrictions on which questions can be asked while Twitter only allows 140 characters. With an AMA, you’ll get answers directly from the team and have a conversation with the people who build these products and services.

Here are some question ideas:

  • What is HDInsight?
  • What is the difference between Data Lake Analytics and Store?
  • What is the meaning of U in U-SQL?
  • How can I build my R regression model on 2 TB dataset?
  • What are the pros/cons of using Spark R vs R Server?
  • What is the easiest way to find driver logs of my Spark app?
  • What are the “gotchas” of geo-replication in HDInsight HBase?

Go ahead, ask us anything about our public products or the team. Please note, we cannot comment on unreleased features and future plans.

Join us! We're looking forward to having a conversation with you!

Tech Tip Thursday: RS, AS, and Power BI announcement recap

$
0
0
PASS Summit 2016 happened a couple of weeks ago in Seattle, Washington, and the Power BI team made a lot of exciting announcements! This week, Guy in a Cube has a round-up of the big news, and gives some additional context to product updates for Power BI together with Reporting Services and Analysis Services.

Here’s what the Xbox Holiday Update means for PC gamers

$
0
0

This brand-new update brings great new features like Clubs, Looking for Group, Achievement Rarity, Group Messaging and more. With this holiday update, Xbox Live becomes even more social as we unite gamers across devices, giving you access to more people to play with that share your interests and more choice in how you play. The update also builds upon our vision to foster a welcoming experience on Xbox Live where everyone is included, respected, and supported.

Those on Windows 10 PCs or phone can expect the updated features to hit their Xbox app starting today. Xbox One owners can expect their system to also update starting today with the new features.

Here’s what’s new in the Xbox App for Windows 10:

  •  Clubs on Xbox Live: Clubs are gamer-created and managed groups that can help you meet people and grow communities of gamers who love the same things you do. Anyone can join or create a Club, and you’ll probably see a Club for just about everything. As a Club member, you’ll be able to set up parties, play games, share content, and easily communicate using voice and text chat with the Club across Xbox One and the Xbox app on Windows 10. Check out our tutorial video on Clubs here.
  • Looking for Group on Xbox Live: Looking for Group (LFG) helps you quickly find other players that you want to game with. You can use LFG to help complete daily quests, Achievement hunt or even get a group together to annihilate hordes of the Swarm and DeeBees in Gears of War 4. Quick and easy. Whether you’re playing on Xbox One or Windows 10 PC, you can quickly find other gamers to play with on Xbox Live. Check out our tutorial video on LFG here.
  • Achievement Rarity: Achievement Rarity helps you discover just how unique an Achievement is among players of a given game. When you earn a rare Achievement, you’ll get a special notification and diamond icon highlighting it. Unlock one today and let us know how you like the new animation!
  • Group Messaging on Xbox Live: Group Messaging helps you coordinate and keep in touch with your friends and fellow gamers by sending a single group message to everyone in a single conversation. Group Messaging works across Xbox One and the Xbox app on Windows 10.
  • Gamerscore Leaderboard: We’ve improved the Gamerscore Leaderboard on Xbox One and the Xbox app on Windows 10 devices. The Leaderboard now resets at the beginning of each month instead of displaying results for a 30-day rolling period, meaning you and your friends will have a clean slate to compete against one another at the start of each month! You can keep an eye on the Gamerscore Leaderboard through the Achievements tab in your profile.

Head over to Xbox Wire to read all about the new features rolling out to Xbox Live on Xbox One and the Xbox app starting today!

Immersive Reader and Frame Guide come to Office Lens—offering built-in accessibility

$
0
0

Today, we are pleased to announce two new features for Office Lens—the Immersive Reader and the Frame Guide for iOS. Combined, these new updates expand our toolbox, which we first brought to OneNote and are now bringing to OneNote Online, Word for the desktop and Word Online.

Previously, you could capture an image using Office Lens and then insert the image into OneNote to take advantage of Immersive Reader. With today’s updates, the Immersive Reader is now built directly into Office Lens. We are also proud to reveal an all-new tool within Office Lens called Frame Guide, which empowers the visually impaired with cues that help them capture images in Office Lens.

Immersive Reader in Office Lens features

The Immersive Reader helps users to easily scan and read content, helping them move from the physical to digital world. Learn more about each feature below.

  • Read aloud—Reads text out loud with simultaneous highlighting that improves decoding, fluency and comprehension while sustaining focus and attention.
  • Font size—Allows the user to increase or decrease the size of fonts.
  • Wide text spacing—Optimizes font spacing in a narrow column view to improve reading fluency for users who suffer from “visual crowding” issues.
  • Back five words and forward one page—Allows the user to move backwards and forwards in the content.
  • Speaking rate—Allows user to control the speed of the voice reading back the words.

Introducing Frame Guide for Office Lens

Office Lens helps users by utilizing orientation detection and column recognition to transform text on a printed page into searchable and readable content. To empower people with visual impairments to get an image of exactly what they’re trying to capture, we’re launching Frame Guide. Using Apple’s Voice Over technology, Frame Guide shows users how to capture their desired content by telling the user to move back, to the right or in other directions to get the full page in the frame. Frame Guide leverages learning from the work of the Seeing AI research project. To learn more about how to set up the new features in partnership with Apple’s Voice Over, read our support article.

Get Office Lens with Frame Guide and Immersive Reader for free in the iOS App Store and please continue providing feedback for Office Lens at our UserVoice or in the comments section below. We welcome your input to continue making Office Lens amazing!

—The Office Lens team

The post Immersive Reader and Frame Guide come to Office Lens—offering built-in accessibility appeared first on Office Blogs.

Extensibility in Visual Studio “15”: Increasing Reliability and Performance

$
0
0

If you’ve been following this blog, you know that in Visual Studio “15” we’ve been focused on making our developer tools easier to install, increasing performance, and enhancing developer productivity. We’ve been doing the same for extensions, and it’s time to talk a bit more about the implications of these changes both on extension authors and on customers who are using extensions.

A quick summary of the changes we’re making:

  • We’ve added a performance monitoring system for extensions. Customers will now see a gold notification bar when an extension is slowing load time or typing speed;
  • We now batch extension updates and installs to make it easier to install or update multiple extensions;
  • We’ve made it possible for extensions to detect and install dependent components, now that the default installation footprint of Visual Studio is much smaller;
  • We’ve made several performance improvements that have an impact on extension authors, such as lightweight solution load and NGEN support for extensions;
  • Lastly, we’ve updated the Visual Studio marketplace to make it easier to find and install extensions;

The rest of the post goes into more detail on each of these areas.

If you’re an extension author, you’ll want to read this post carefully, since we’re asking you to do some work in this release to support the performance and installation work we’re making to Visual Studio. There is some inevitable friction here, and so we want to give you a heads-up so that you can make the appropriate changes to your extension before we go live.

Performance

One of the top extensibility requests in UserVoice is for tools that let extension users identify slow extensions and disable them if necessary. We designed the extensibility model in Visual Studio to offer great power – authors largely have access to the same APIs that we use internally – so it’s important that extensions do not degrade overall product performance.

In Visual Studio “15”, we have focused on addressing three specific performance bottlenecks in particular: (i) Visual Studio startup performance; (ii) solution load performance; (iii) overall responsiveness. And in addition to improving our own performance, we’re now also adding features to help you measure and manage extension performance in these areas.

If we detect a slow-performing extension that falls into one of these categories, we will display a message that identifies the extension and gives the user the opportunity to disable it. Here’s an example with a malicious extension that sleeps for six seconds during initialization:

You can see the performance of extensions on your system at any time by selecting the Help / Manage Visual Studio Performance menu item.

We trigger this notification by measuring the total initialization time spent by the extension on the main thread. If it exceeds a lower time threshold, we will warn users that the extension is loading slowly; if it exceeds a second, still higher time threshold, we will offer to disable the extension for the user.

We use the same dialog to also track extensions that introduce delays to typing responsiveness. Studies have shown that input latency greatly impacts the perception of an application’s performance. So, Visual Studio now measures the duration of calls within extensions to extension command filters and editor event handlers that are triggered by typing characters, and if those calls regularly take longer than a predefined threshold, we display an infobar to warn users of the impact of that extension on typing responsiveness:

If you’re an extension author, we recommend these best practices to ensure your extension performs well in Visual Studio:

  1. 1. Use rule-based contexts to specify precise conditions when your extension should be loaded. For example, you can ensure that an extension is only loaded when a C# or Visual Basic project is active, rather than at Visual Studio startup.
  2. 2. Use the AsyncPackage support in Visual Studio 2015 and above to allow packages to be loaded on a background thread.
  3. 3. Review your extension’s command filters and editor event handlers (such as ITextBuffer.Changed) and perform any operations longer than 50ms asynchronously;
  4. 4. Minimize work performed during package initialization, deferring it instead to occur on invocation of a user action.

Batched Extension Installations

Another common feature request from Visual Studio 2015 was to make it easier to install, update and remove multiple Visual Studio extensions at once. Visual Studio “15” now lets you batch up extension change operations to occur at once.

Here’s a screenshot:

Size

With the new Visual Studio installer, we have refactored Visual Studio to be more modular, installing just the features you need for the work you’re doing. The smallest configuration of Visual Studio installs in just a couple of minutes on typical machines, and the increasing number of Visual Studio developers who are using it for new platforms and languages like Python and R no longer need to install support for things like C#, MSBuild and ASP.NET to get a great Visual Studio working environment.

We’ve therefore created a way for extension authors to express their Visual Studio component dependencies by extending the VSIX manifest. The model is designed so that if dependencies are missing, the extension installer can acquire and install the missing components automatically. With this approach, for example, an extension can hint to the installer that it requires the managed language debugger to be available for the extension to run successfully.

We’re updating the extensibility tools to automatically emit these changes for new projects. By default, we set a dependency on just the Core Editor, but you can add additional components by selectingthem from the Prerequisites tab. Here’s a screenshot:

The next public build of Visual Studio “15” will contain the updated manifest designer, and we’re planning to ship an update to the tools in Visual Studio 2015 to support the new manifest format before we complete Visual Studio “15”.

New Extension Capabilities

We’re taking advantage of the changes to the standard VSIX extension format to add some powerful new capabilities for extension authors.

  • Extension assemblies can now be compiled into native images (through NGEN) at install time, for added performance. You can specify NGEN options from the Properties toolwindow:

  • Extensions may now install files in certain locations outside of the extensions folder. This enables new scenarios like MSBuild tasks to be installed from a VSIX folder.

One caveat: these capabilities are only available for “all user” extensions because they require elevation. We hope to encourage extension authors who have until now been forced to wrap their VSIX in an MSI to accomplish these needs to be able to transition to a pure VSIX, enabling better manageability, roaming and auto-update capabilities for users of their extensions.

Lightweight Solution Load

In Visual Studio “15”, solutions will load faster due to support for lightweight solution load. When lightweight solution load is enabled, Visual Studio will delay fully loading projects until you start working on them. Visual Studio will still preserve common functionality, such as allowing you to navigate through your codebase, edit code, and build projects without fully loading projects. We’ve seen this speed up solution load by a factor of two or more.

This feature is still “experimental”, so to try out this feature in Visual Studio “15”, you’ll need to manually enable the lightweight solution load checkbox in Tools / Options / Projects and Solutions.

If you’re an extension author, lightweight solution load may impact your extension if you depend on a project to be fully loaded. Our team is putting together steps and guidance on how extensions can know when projects are not yet fully loaded, and how to respond accordingly. We will share this guidance as soon as possible.

Detecting Installations

Some tools need to get more specific information about a Visual Studio installation, for example an external utility that needs the location of the C++ compiler toolset. Along with the changes to Visual Studio to reduce system impact, we’ve added some new setup configuration APIs to make it easier to discover instances of Visual Studio “15”. Heath Stewart’s blog includes more detail about these APIs and samples for managed and unmanaged code.

Marketplace

One last significant change: we’re transitioning to the Visual Studio Marketplace as a place for discovering and installing extensions, again in response to your feedback. The marketplace is a modern website that supports extensions for our developer tools family, including Visual Studio itself, Visual Studio Code and Visual Studio Team Services.

In the next months, we’ll begin the process of retiring the old Visual Studio Gallery. You don’t have any work to do if you’re an extension author – we’ll migrate all the data across automatically. We are excited by some of the new features we’ll be able to offer extension authors and users alike once we are live on the new site.

More Information

If you’re building an extension for Visual Studio “15”, we’re glad to hear from you. In particular, the editor and extensibility engineering teams hang out on our Gitter team room along with many other extension authors. You can also submit or vote on feature requests in the extensibility area of our UserVoice site– we’re listening!

Tim Sneath, Principal Lead Program Manager, Visual Studio

Tim leads a team focused on Visual Studio acquisition and extensibility. His mission is to see developers create stunning applications built on the Microsoft platform, and to persuade his mother that her computer is not an enemy. Amongst other strange obsessions, Tim collects vintage releases of Windows, and has a near-complete set of shrink-wrapped copies that date back to the late 80s.


Best of Both Worlds

$
0
0

Back in February of 2015, I wrote a blog asking a very simple question: how many vendors does it take to implement DevOps? At the time I wrote the post, I felt the answer was one. Almost two years later, I believe that now more than ever. So why do companies insist on manually building a pipeline instead of using a unified solution?

Fear of Vendor Lock In

Despite the fact some vendors offer a complete solution, many still attempt to build DevOps pipelines using as many vendors as possible.

Historically, putting all your eggs in one basket has proved to be risky. Because the systems only provided an All or Nothing approach, users would lose the flexibility to adopt new technology as it was released. The customer was forced to wait for the solution provider to offer an equivalent feature or worse have to start over again with another solution. Customers started to avoid the benefits of a unified solution for flexibility.

This allowed the customer to adapt the hot new technology and be on the bleeding edge with their pipeline. They could evaluate each offering and select the best of breed in each area. On the surface this seemed like a great idea until they realized the products did not play well together. By this point, they had convinced themselves the cost of integration was unavoidable and just a cost of doing business.

This change in customer mindset had vendors focusing on having the best CI system or source control instead of an integrated system. With vendors only focusing on a part of the pipeline, there were great advances in each area. However, the effort to integrate continued to increase at an alarming rate. Eventually the cost of maintaining the pipeline became too great and actually started to have a noticeable impact on developer productivity.

Even when all the products play nice with each other, it can be difficult to enable good traceability from a code change all the way to production. This is the reason more and more vendors are starting to expand their offerings to reduce the cost and risk of integration.

Calculate True Cost of Ownership

When building your DevOps pipeline, you have to consider the true cost of ownership. The cost is much more than what you paid for the products. The cost includes the amount of time and effort to integrate and maintain them. Time spent on integration and maintenance is time not spent innovating on the software that makes your company money. To try and reduce the cost of ownership, vendors have begun to join forces (http://www.businesswire.com/news/home/20160914005298/en/DevOps-Leaders-Announce-DevOps-Express-Industry-Initiative). This should help mitigate the cost of building your own DevOps pipeline. Nevertheless, with each new tool and vendor, you incur a cost of integration. Someone on your team is now responsible for maintaining that pipeline. Making sure all products are upgraded and that the integration is still intact. This is time much better spent delivering value to your end users instead of maintaining your pipeline.

Adding vendors also complicates your billing, as you are paying multiple vendors instead of one. The opportunity for bundle or volume discounts is also reduced.

Best of Breed

I have meet many customers that claim they want the best of breed products. However, when I asked what made one product better than another, I often found that they did not even use that feature. They were complicating their pipeline out of vanity. Everyone else said this was the best so we wanted to be on the best. You need to find the best product for you which might not be the best of breed for that area. Just because Product A does not have all the bells and whistles as Product B does not mean Product B is the right one for you.

Best of Both Worlds

Today, customers want the ease of a unified solution with the ability to select best of breed. Solutions like Team Services offer you both. Even though Team Services offers everything you need to build a DevOps pipeline from source control and continuous integration to package management and continuous delivery, you are free to replace each piece with the product of your choice. If you already have an investment in a continuous integration system, you can continue to use it along with everything else Team Services has to offer. This can go a long way towards reducing the number of vendors in your pipeline.

We have taken a new approach with Team Services. It is an approach that tries to appeal to both types of customers: those that want a unified solution and those that want Best of Breed. We have teams dedicated to Agile planning, source control, continuous integration, package management, and continuous delivery. These teams work to make sure we stack up against all the offerings of each category. However, they never lose sight of the power of a unified system.

This approach reduces the complexity of building and maintaining your pipeline while retaining your flexibility to select products that are the best fit for your organization.

Stateless 3.0 - A State Machine library for .NET Core

$
0
0

.NET StandardState Machines and business processes that describe a series of states seem like they'll be easy to code but you'll eventually regret trying to do it yourself. Sure, you'll start with a boolean, then two, then you'll need to manage three states and there will be an invalid state to avoid then you'll just consider quitting all together. ;)

"Stateless" is a simple library for creating state machines in C# code. It's recently been updated to support .NET Core 1.0. They achieved this not by targeting .NET Core but by writing to the .NET Standard. Just like API levels in Android abstract away the many underlying versions of Android, .NET Standard is a set of APIs that all .NET platforms have to implement. Even better, the folks who wrote Stateless 3.0 targeted .NET Standard 1.0, which is the broadest and most compatible standard - it basically works everywhere and is portable across the .NET Framework on Windows, .NET Core on Windows, Mac, and LInux, as well as Windows Store apps and all phones.

Sure, there's Windows Workflow, but it may be overkill for some projects. In Nicholas Blumhardt's words:

...over time, the logic that decided which actions were allowed in each state, and what the state resulting from an action should be, grew into a tangle of if and switch. Inspired by Simple State Machine, I eventually refactored this out into a little state machine class that was configured declaratively: in this state, allow this trigger, transition to this other state, and so-on.

A state machine diagram describing the states a Bug can go throughYou can use state machines for anything. You can certainly describe high-level business state machines, but you can also easily model IoT device state, user interfaces, and more.

Even better, Stateless also serialize your state machine to a standard text-based "DOT Graph" format that can then be generated into an SVG or PNG like this with http://www.webgraphviz.com. It's super nice to be able to visualize state machines at runtime.

Modeling a Simple State Machine with Stateless

Let's look at a few code examples. You start by describing some finite states as an enum, and some finite "triggers" that cause a state to change. Like a switch could have On and Off as states and Toggle as a trigger.

A more useful example is the Bug Tracker included in the Stateless source on GitHub. To start with here are the states of a Bug and the Triggers that cause state to change:

enum State { Open, Assigned, Deferred, Resolved, Closed }
enum Trigger { Assign, Defer, Resolve, Close }

You then have your initial state, define your StateMachine, and if you like, you can pass Parameters when a state is trigger. For example, if a Bug is triggered with Assign you can pass in "Scott" so the bug goes into the Assigned state - assigned to Scott.

State _state = State.Open;
StateMachine _machine;
StateMachine.TriggerWithParameters _assignTrigger;

string _title;
string _assignee;

Then, in this example, the Bug constructor describes the state machine using a fluent interface that reads rather nicely.

public Bug(string title)
{
_title = title;

_machine = new StateMachine(() => _state, s => _state = s);

_assignTrigger = _machine.SetTriggerParameters(Trigger.Assign);

_machine.Configure(State.Open)
.Permit(Trigger.Assign, State.Assigned);

_machine.Configure(State.Assigned)
.SubstateOf(State.Open)
.OnEntryFrom(_assignTrigger, assignee => OnAssigned(assignee))
.PermitReentry(Trigger.Assign)
.Permit(Trigger.Close, State.Closed)
.Permit(Trigger.Defer, State.Deferred)
.OnExit(() => OnDeassigned());

_machine.Configure(State.Deferred)
.OnEntry(() => _assignee = null)
.Permit(Trigger.Assign, State.Assigned);
}

For example, when the State is Open, it can be Assigned. But as this is written (you can change it) you can't close a Bug that is Open but not Assigned. Make sense?

When the Bug is Assigned, you can Close it, Defer it, or Assign it again. That's PermitReentry(). Also, notice that Assigned is a Substate of Open.

You can have events that are fired as states change. Those events can take actions as you like.

void OnAssigned(string assignee)
{
if (_assignee != null && assignee != _assignee)
SendEmailToAssignee("Don't forget to help the new employee.");

_assignee = assignee;
SendEmailToAssignee("You own it.");
}

void OnDeassigned()
{
SendEmailToAssignee("You're off the hook.");
}

void SendEmailToAssignee(string message)
{
Console.WriteLine("{0}, RE {1}: {2}", _assignee, _title, message);
}

With a nice State Machine library like Stateless you can quickly model states that you'd ordinarily do with a "big ol' switch statement."

What have you used for state machines like this in your projects?


Sponsor: Big thanks to Telerik! They recently published a comprehensive whitepaper on The State of C#, discussing the history of C#, what’s new in C# 7 and whether C# is still a viable language. Check it out!



© 2016 Scott Hanselman. All rights reserved.
     

Reddit ‘Ask Me Anything’ Session on Big Data & Analytics

$
0
0

We’re excited to host a special Reddit Ask Me Anything (AMA) session next week, focused on big data & analytics. Join us in an interactive conversation with Microsoft engineers who are pushing the state-of-the-art in this space.

The session will take place on /r/Azure on Thursday next week, November 17th, between 10AM and 2PM Pacific – mark your calendars now!


During the session, we’ll answer all your questions on Cortana Intelligence– our suite of offerings that’s helping organizations transform big data into intelligent actions – and also the services that underpin the suite, such as Azure Data Lake, Azure Data Factory, Azure ML, Azure Stream Analytics, Azure HDInsight, Spark, Hadoop, HBase, Storm, Jupyter, and more.


We’ll also be prepared to answer questions on Microsoft R Server, our enterprise R offering, which includes big data -capable R distributions for servers, Hadoop clusters and data warehouses.

See you at the AMA session! Help us spread the word within your teams and communities as well.

CIML Blog Team

End 2016 with The 1.0 Ender Update for Minecraft: Windows 10 and Pocket Edition

$
0
0

Hello everyone!

The 1.0 Ender Update for Minecraft: Windows 10 Edition and Pocket Edition

As part of our vision here at Team Minecraft to help players enjoy their favorite features on the platform of their choice, we’ve been piling on the updates to Minecraft on Windows 10 and mobile this year. Today, we’re super excited to let you know that we’ve started work on our next update which will be coming before the end of the year – the 1.0 Ender Update. With this update, Minecraft on Windows 10 and Pocket Edition will have the majority of the features as our original PC version, and like we did with the original PC version, we’ll be taking off the beta label with the introduction of the End.

The 1.0 Ender Update will add a third dimension to Minecraft – the End, and its iconic ultimate boss battle, the Ender Dragon. But that’s not all – after defeating the Ender Dragon, you’ll be able to explore the outer islands of the End and its mysterious End Cities. In these End Cities you can encounter the new Shulker mob, pick up cool purple blocks for building aptly called purpur, farm chorus plants, and even loot the highly coveted Elytra glider from an End ship.

Head over to Xbox Wire to read more about today’s news! Happy crafting, and see you at the End!

Defending against ransomware with Windows 10 Anniversary Update

$
0
0

Ransomware is one of the latest malware threats that is attracting an increasing number of cyber-criminals who are looking to profit from it. In fact, in the last 12 months, the number of ransomware variants have more than doubled. Its premise is deceptively simple: infect users’ devices, and then deny them access to their devices or files unless they pay a ransom. However, the methods and means attackers are using to perpetrate ransomware attacks are increasingly varied, complex and costly.

Microsoft is committed to helping protect people against threats to their safety and security through our strategy of Prevent, Detect and Respond. Using this approach, Windows 10 Anniversary Update is more ransomware-resilient than ever before.

Here are some of the many ways we’re fighting back against ransomware:

  • Six of the top 10 ransomware threats use browser, or browser-plugin-related exploits, so we made it harder for malware authors to exploit Windows 10 and Microsoft Edge.
  • We increased detection and blocking capability in our email services, increasing the number of ransomware-related attachments being blocked.
  • We added new technology to Windows Defender to reduce detection time to seconds, increasing our ability to respond before the infection can occur.
  • We released Windows Defender Advanced Threat Protection which can be combined with Office 365 Advanced Threat Protection to make it easier for companies to investigate and respond to ransomware attacks.

Combined with other significant security advances, such as Credential Guard, Windows Hello and others, we’ve made Windows 10 Anniversary Update the most secure Windows ever. Here are a few examples of how we achieved this:

Prevention:

Browser hardening. Adobe Flash Player is a common browser plug-in that has been used by exploit writers to download ransomware, so we updated Microsoft Edge to run Flash Player in an isolated container. We have also locked down Microsoft Edge so that an exploit running in the browser cannot execute another program. These improvements block malware from silently downloading and executing additional payloads on customers’ systems.

Email protection. A major distribution channel for ransomware is via email file attachments. To help protect customers who use Microsoft email services against such threats, we have made investments in our email services that help block ransomware. We advanced our machine learning models and heuristics to catch malware distributed in email, and developed a faster signature delivery channel to update Windows Defender running in our email services more quickly. The result is improved protection levels for our consumer and commercial productivity suite customers.

Machine learning. Enhancements to our cloud infrastructure let our antimalware researchers extend machine learning models in a way that we can identify and block malware more quickly. Before the Anniversary Update, the process of collecting a suspicious program for analysis, classifying it and responding with protection generally took hours. Now it takes minutes.

Detection:

New and improved Windows Defender. Windows Defender, which is enabled by default, can respond to new threats faster using improved cloud protection and automatic sample submission features to block malware “at first sight”. We’ve also improved Windows Defender’s behavioral heuristics to help determine if a file is performing ransomware-related activities, and then detect and take action more quickly.

Response:

Post-breach defense. In Windows 10 Anniversary Update, we launched Windows Defender Advanced Threat Protection (ATP) service which adds the ability for companies to detect and respond to attacks that have made it through other defensive layers. Combining security events collected from the machines with cloud analytics to detect signs of attacks, Windows Defender ATP surfaces alerts to the enterprise security team. Should ransomware affect corporate endpoints, the Windows Defender ATP console can provide important details that can help security responders quickly understand how the ransomware entered the device, identify the damage it has created, and locate where it might be moving next in the network. When combined with Office 365 Advanced Threat Protection, these services share signals to provide a more holistic view of what is attacking the enterprise.

Protecting against Ransomware

We have made significant improvements in protecting customers from ransomware in the Windows 10 Anniversary Update. To help protect against ransomware and other types of cyber threats, we suggest you:

The Block at First Sight cloud protection feature in Windows Defender is enabled by default. For IT Pros, if it was turned off we recommend turning it back on, and we also recommend incorporating another layer of defense through Windows Defender ATP and Office 365 ATP.  For more information about each of these technologies and techniques and how they work, please download our white paper Ransomware Protection in Windows 10 Anniversary Update.

Cyber threats won’t stop, and neither will we. As long as ransomware remains a threat, we will continue to enhance our defenses to better protect your Windows 10 devices.

Additional Resources

Viewing all 13502 articles
Browse latest View live


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