You are here

MSDN Blogs

Subscribe to MSDN Blogs feed
from ideas to solutions
Updated: 1 hour 33 min ago

SharePoint Server 2016 – Installation and Deployment

Thu, 05/14/2015 - 04:36
Bill Baer introduces the new SharePoint Server 2016 describing the initial investments made in installing and deployment. There’s guidance on system requirements, deployment scenarios & prerequisites.  A new MinRole feature is also explained (with a short, to-the-point video).  He also throws light on health rules & compliance and Upgrade & Migration options. Read his blog here ....(read more)

BAM data of Port Messaging Properties doesn't get correctly populated when using Passthrough Pipeline on BizTalk 2013 R2

Thu, 05/14/2015 - 04:13

The problem:

================================

 

  1.        Create and deploy a very simple Tracking Profile with PortStartTime and PortEndTime messaging properties.

 

 

 

  1.       Map the properties to Receive Port which has its receive location with PassThrough pipeline.
  2.       Submit test data to the receive location.

 

The BAM data will not get generate on BizTalk 2013 R2. However it works with BizTalk 2010 and earlier versions. Also, if we deploy proper schema and use XML receive pipeline, it works well on BizTalk 2013 R2.

 

Debugging:

================================

 

From the Time Travel Trace of BizTalk 2010, we can find the BAMArtifactCache.LoadBAMConfig() function get called with the following callstack. The same call also exists in the trace of running XML receive pipeline on BizTalk 2013 R2.

 

Breakpoint 0 hit

Time Travel Position: 84D700000302.

eax=0e27ba1c ebx=122233a4 ecx=0e27ba1c edx=0e40056c esi=0e4004a0 edi=0e400478

eip=1b7336a4 esp=1deef508 ebp=1deef540 iopl=0         nv up ei ng nz na pe cy

cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000287

Microsoft.BizTalk.Messaging.BAMArtifactCache.LoadBAMConfig(System.String, Int32, System.String, System.String):

1b7336a4 b84892f101      mov     eax,1F19248h

0:021> kc

#

00 Microsoft.BizTalk.Messaging.BAMArtifactCache.LoadBAMConfig(System.String, Int32, System.String, System.String)

01 Microsoft_BizTalk_Pipeline!Microsoft.BizTalk.PipelineOM.Pipeline.IsMessageContentTracking(Microsoft.BizTalk.PipelineOM.IBAMMessagingInterceptorInt, System.Guid, System.String)

02 Microsoft_BizTalk_Pipeline!Microsoft.BizTalk.PipelineOM.Pipeline.DoBamTracking(Microsoft.BizTalk.Message.Interop.IBaseMessage, BamTrackingMode, Boolean, Boolean)

03 Microsoft_BizTalk_Pipeline!Microsoft.BizTalk.PipelineOM.ReceivePipeline.GetNext()

 

 

But the same function will not get called in BizTalk 2013 R2’s trace when using passthrough pipeline on receive location. By comparing the source code, we can see there have been a lot of changes between BTS 2010 and 2013 R2’s DoBamTracking() function. Basically their difference is:

 

  • ·         In BizTalk 2010’s code path, IsMessageContentTracking() (it’s the caller of LoadBAMConfig()) will be invoked directly in DoBamTracking().
  • ·         In BizTalk 2013 R2’s code path, DoBamTracking() will try to retrieve the schema by message type first before calling IsMessageContentTracking(). However, this will never succeed because obviously message type and schema information is not available in a passthrough pipeline since it doesn’t perform XML schema resolution.

 

 

By further checking the debug trace,  we can find the following GetDocType call triggered System.ArgumentNullException and was caught directly. This led to the IsMessageContentTracking function didn’t get called at all.


                try
                {
                    if (string.IsNullOrEmpty(obj2 as string))
                    {
                        obj2 = Utils.GetDocType(markableForwardOnlyEventingReadStream);
                    }
                    string text = obj2 as string;
                    if (text != null && this.PipelineContext.GetDocumentSpecByName(text) != null)
                    {
                        flag4 = this.IsMessageContentTracking(iBAMMessagingInterceptorInt, iBTMPipelineContext.BAMGuid, text);
                    }
                }
                catch (Exception)
                {
                }

Time Travel: From 80F8C0000125 to 80F8C0000125

Time Travel Success.

Time Travel Position: 80F8C0000125.

eax=1bb98084 ebx=1fa23414 ecx=1bb932c0 edx=0006ee4c esi=1bb932c0 edi=0868f840

eip=06e555d2 esp=0868f828 ebp=0868f850 iopl=0         nv up ei pl zr na pe nc

cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246

Microsoft_BizTalk_Streaming!Microsoft.BizTalk.Streaming.Utils.GetDocType(Microsoft.BizTalk.Streaming.MarkableForwardOnlyEventingReadStream, System.Text.Encoding)+0x172:

06e555d2 e84d45186e      call    clr!IL_Throw (74fd9b24)

DBGHELP: Microsoft_BizTalk_Pipeline - no symbols loaded

 

0:033> !dso

OS Thread Id: 0x62bc (33)

ESP/REG  Object   Name

eax      1bb98084 System.Runtime.Serialization.SafeSerializationManager

ebx      1fa23414 <unknown type>

ecx      1bb932c0 System.ArgumentNullException

esi      1bb932c0 System.ArgumentNullException

0868F844 1fa23414 <unknown type>

0868F85C 1bb8d694 Microsoft.BizTalk.PipelineOM.PipelineContext

0868F860 1bb931a4 Microsoft.BizTalk.Messaging.BAMMessagingInterceptor

0868F868 1bb93180 Microsoft.BizTalk.Message.Interop.MessageContext_ManagedViewOfNative

0868F86C 1bb8c468 System.__ComObject

0868F870 1bb8c468 System.__ComObject

0868F874 1bb8d544 Microsoft.BizTalk.DefaultPipelines.PassThruReceive

 

 

0:033> !mex.t

DbgID ThreadID Position     COM-Initialized

33    62bc     80F8C0000125 APTKIND_MULTITHREADED (MTA)

 

# Child-SP Return   Call Site                                                                                                                                                               Source

0 0868f828 06e54bae Microsoft_BizTalk_Streaming!Microsoft.BizTalk.Streaming.Utils.GetDocType(Microsoft.BizTalk.Streaming.MarkableForwardOnlyEventingReadStream, System.Text.Encoding)+0x172 open start of function

1 0868f858 06e5472b Microsoft_BizTalk_Pipeline!Microsoft.BizTalk.PipelineOM.Pipeline.DoBamTracking(Microsoft.BizTalk.Message.Interop.IBaseMessage, BamTrackingMode, Boolean, Boolean)+0x1e6 open start of function

2 0868f8cc 06e542f9 Microsoft_BizTalk_Pipeline!Microsoft.BizTalk.PipelineOM.ReceivePipeline.GetNext()+0x373                                                                                 open start of function

3 0868f938 74e82936 Microsoft_BizTalk_Pipeline!DomainNeutralILStubClass.IL_STUB_COMtoCLR(IntPtr)+0x19                                                                                       open start of function

 

 

Reflected code snippet of BizTalk 2013 R2

=======================================

 

internal IBaseMessage DoBamTracking(IBaseMessage msg, Pipeline.BamTrackingMode mode, bool handleNonXmlErrorMessages, bool supportOnlyContextTracking)
{
    Trace.Tracer.TraceMessage(4u, "[POM]DoBamTracking: Enter");
    IBaseMessage baseMessage = msg;
    IBaseMessageContext baseMessageContext = null;
    bool flag = false;
    bool flag2 = false;
    MarkableForwardOnlyEventingReadStream markableForwardOnlyEventingReadStream = null;
    IBAMMessagingInterceptorInt iBAMMessagingInterceptorInt = null;
    IBTMPipelineContext iBTMPipelineContext = this.pipelineContext;
    baseMessageContext = msg.Context;
    object obj = baseMessageContext.Read("BAMTrackingNeeded", Constants.SystemNamesapce);
    if (obj is bool)
    {
        flag = (bool)obj;
    }
    if (this.pipelineContext.InvokedFromMessaging && flag)
    {
        bool flag3 = false;
        obj = baseMessageContext.Read("InboundPropertiesTracked", Constants.XmlNormNamespace);
        if (obj is bool)
        {
            flag3 = (bool)obj;
        }
        if (!flag3)
        {
            if (iBTMPipelineContext.TrackingInterceptor.BAMMessagingInterceptor != null)
            {
                iBAMMessagingInterceptorInt = (IBAMMessagingInterceptorInt)iBTMPipelineContext.TrackingInterceptor.BAMMessagingInterceptor;
                object obj2 = baseMessageContext.Read("MessageType", "http://schemas.microsoft.com/BizTalk/2003/system-properties");
                if (!(obj2 is string))
                {
                    obj2 = null;
                }
                bool flag4 = false;
                try
                {
                    if (string.IsNullOrEmpty(obj2 as string))
                    {
                        obj2 = Utils.GetDocType(markableForwardOnlyEventingReadStream);
                    }
                    string text = obj2 as string;
                    if (text != null && this.PipelineContext.GetDocumentSpecByName(text) != null)
                    {
                        flag4 = this.IsMessageContentTracking(iBAMMessagingInterceptorInt, iBTMPipelineContext.BAMGuid, text);
                    }
                }
                catch (Exception)
                {
                }

 

 

Reflected code snippet of BizTalk 2010

=======================================

 

// Microsoft.BizTalk.PipelineOM.Pipeline
internal IBaseMessage DoBamTracking(IBaseMessage msg, Pipeline.BamTrackingMode mode, bool handleNonXmlErrorMessages, bool supportOnlyContextTracking)
{
    Trace.Tracer.TraceMessage(4u, "[POM]DoBamTracking: Enter");
    IBaseMessage baseMessage = msg;
    IBaseMessageContext baseMessageContext = null;
    bool flag = false;
    bool flag2 = false;
    MarkableForwardOnlyEventingReadStream markableForwardOnlyEventingReadStream = null;
    IBAMMessagingInterceptorInt iBAMMessagingInterceptorInt = null;
    IBTMPipelineContext iBTMPipelineContext = this.pipelineContext;
    baseMessageContext = msg.Context;
    object obj = baseMessageContext.Read("BAMTrackingNeeded", Constants.SystemNamesapce);
    if (obj is bool)
    {
        flag = (bool)obj;
    }
    if (this.pipelineContext.InvokedFromMessaging && flag)
    {
        bool flag3 = false;
        obj = baseMessageContext.Read("InboundPropertiesTracked", Constants.XmlNormNamespace);
        if (obj is bool)
        {
            flag3 = (bool)obj;
        }
        if (!flag3)
        {
            if (iBTMPipelineContext.TrackingInterceptor.BAMMessagingInterceptor != null)
            {
                iBAMMessagingInterceptorInt = (IBAMMessagingInterceptorInt)iBTMPipelineContext.TrackingInterceptor.BAMMessagingInterceptor;
                object obj2 = baseMessageContext.Read("MessageType", "http://schemas.microsoft.com/BizTalk/2003/system-properties");
                if (!(obj2 is string))
                {
                    obj2 = null;
                }
                bool flag4 = this.IsMessageContentTracking(iBAMMessagingInterceptorInt, iBTMPipelineContext.BAMGuid, obj2 as string);
                Stream originalDataStream = msg.BodyPart.GetOriginalDataStream();
                if (originalDataStream != null)
                {
                    markableForwardOnlyEventingReadStream = (originalDataStream as MarkableForwardOnlyEventingReadStream);
                    if (markableForwardOnlyEventingReadStream == null)
                    {
                        markableForwardOnlyEventingReadStream = new MarkableForwardOnlyEventingReadStream(originalDataStream);
                    }
                    this.pipelineContext.ResourceTracker.AddResource(markableForwardOnlyEventingReadStream);
                    markableForwardOnlyEventingReadStream.MarkPosition();
                    msg.BodyPart.Data = markableForwardOnlyEventingReadStream;
                }

 

 

 

Status:

 

================================

 

We are still investigating this issue and finding the appropriate solution to fix it.

 

Best regards,

WenJun Zhang

Video Recordings Of Modern Business technical events - Grow Efficiently Part 1

Thu, 05/14/2015 - 03:52

Over the coming weeks we will be posting recordings of the Modern Business technical series that we have been running across the country this financial year. An important part of this is that there has been updated content injected into the original material, and as an added bonus we will be releasing updated modules on some of the technologies that are being updated on a regular basis. We have created each of these as standalone modules so that you can easily pick and choose the products and technologies that are relevant, along with the general themes.

First up is in the series is Grow Efficiently Part 1. This series of videos focuses on Hyper-V improvements in Windows Server 2012 R2, Azure’s Virtual Machine offerings, and storage and networking enhancements that you should be leveraging when deploying new deployments for your customers.


Here’s the breakdown of what’s in the first round.

Exploring Hyper-V 

In this module you will learn how to provision virtual machines, configure Hyper-V host settings, manage storage, manage virtual switches, perform initial configurations, set up Hyper-V live migration and Hyper-V Replica.

Migrating Server Roles to Windows Server 2012 R2  


In this module you will learn how use the Windows Server Migration Tools (WSMT) to migrate critical server roles like DHCP services from a Windows Server 2003, 2008, 2008 R2 or 2012 environment to Windows Server 2012 R2.

Migrating Legacy AD DS domains to Windows Server 2012 R2

In this module you will start with a domain running on Windows Server 2008 R2 using a Widows Server 2003 functional level at the domain and forest. You will the perform the necessary steps to migrate the domain to Windows Server 20121 R2 and decommission the legacy domain controller.

SQL 2014 Data Platform

In this module you will learn about new and enhanced capabilities in SQL Server 2014.

Provisioning Storage Pools and Spaces


In this module you will work with Windows Server 2012 to create virtualized storage that can be used by applications. You will see volumes crated in tiered storage from within the Storage Spaces that can be used by applications. Also highlighted are some of the networking technologies that enhance the performance of Storage Spaces.

Some of the planned content updates we have on the way for this module include some what to expect in the Windows Server Technical Preview and What's New in Azure Virtual Machines, amongst others.

 

Application Insights 正式進入公開預覽階段

Thu, 05/14/2015 - 03:29

感謝北科大劉建昌同學協助翻譯微軟公司  Application Insights 主管  Merav Davidson 於 2015/4/29 發表的文章 Announcing Application Insights Public Preview (  http://azure.microsoft.com/blog/2015/04/29/announcing-application-insights-public-preview-2/ )

最近在 2015 年 Microsoft 開發者大會 上發布了相當多對於開發者有幫助的新功能,如果您剛好有讀過 SomaBrian Harry 的部落格,或許您已經知道了,Visual Studio Application Insights 正式進入公開預覽階段,供開發者進行測試,這項服務能夠為任何的應用程式匯集並且提供性能管理使用分析之解決方案。

Application Insights 提供開發團隊對於他們的應用程式進行問題偵測、診斷當機,以及追蹤 Web 應用程式與行動應用程式中的使用情況。並且透過直觀的圖表以及工具來進行故障診斷和排除,它能夠幫助您透過用戶的使用狀況,來分析未來應用程式該優先考慮哪些工作。

在 Application Insights 進入預覽階段之後,我們也推出了一個根據每個應用程式的 telemetry 數量來訂定計價模式,提供給所有的開發團隊相當優惠的福利。而這個計費模式將從 2015 年的 6 月開始生效,並且在公開預覽階段時享有 50% 的折扣。

任何的應用程式都能使用 Application Insights 嗎?

答案是肯定的 ! Application Insights 不斷快速成長並增添支援平台之種類。我們的 iOSAndroid SDK 提供了使用行為分析 ( usage insights ) 和應用程式當機診斷 ( crash diagnostics ),這都要歸功於 HockeyApp 強大的整合功能,而且毫無疑問的,我們同樣也支援 Windows Phone、Windows Store 應用程式與 UAP 應用程式。

Application Insights 內建支援 ( out-of-the-box ) J2EE 應用程式,並且與 Eclipse 開發工具進行整合。而 ASP.NET 開發人員也可以在Visual Studio 中直接整合 Application Insights。若您開發的是 Azure Web App 上運行的應用程式,您將發現 Application Insights 與其緊密的結合。對於網頁前端工程師則可以使用 JavaScript SDK ,在任何網頁上送出 telemetry,除此之外,Application Insights SDK 支援多種程式語言與平台,包含 PHP、Python、Ruby、Node.js、WordPress、SharePoint 等。

只要您想要,您可以選擇您喜愛或熟悉的開發平台與語言。對於不同的應用程式類型,Application Insights SDK 皆會傳送一個 telemetry 到 Application Insights 服務中進行分析,並且在 Azure 新入口網站裡將資料呈現出來。因此,只要是 Application Insights SDK 支援的開發平台所開發出來的應用程式,皆能夠被 Application Insights 所監控與分析。

即便 Application Insights 是 Microsoft Azure 裡的一項服務,但是您還是能夠將它應用在任何的應用程式中。

誰正在使用 Application Insights ?

我們已經有接近 450,000 個使用 Application Insights 的應用程式。而且越來越多的開發商在開發應用程式時,會選擇使用Application Insights。

下面是一些我們的客戶在使用Application Insights的感想 :

“Application Insights 不只是判斷效能或使用者行為的操作工具。它真的是開發程序的一部分。"

Dominion Enterprises 品保和發行經理 Ray Escamilla

 

Application Insights 讓我們以全方位觀點檢查服務的行為、可靠性和效能。這是我們工程小組日常使用的必要工具,用來檢閱和了解生產服務的運作情形。透過使用此產品所獲得的深入見解,協助我們找出不穩定的領域,排定工程投資的優先順序,為客戶提供更好的服務。”

Microsoft Game Studios 資深軟體工程師 Kyle McClellan

"Application Insights 可以一次滿足我以整體觀點一覽所有應用程式的健全狀況和效能。它協助我快速釐清優先順序,讓我專注於處理組織中最重要的事項。"

iPerceptions 研發總監 Pierre Tetreault

以上的開發者們對於 Application Insights 如此滿意的原因,是因為 Application Insights 提供了以下的開發優勢 :

1. 提供應用程式效能和使用行為進行全面性的監控,以確保應用程式的可用性 ( availability )。

2. 快速且功能強大的偵錯工具,用來診斷使用狀況與效能問題。

3. 適用於任何的類型的應用程式。

4. 優惠的計價方式。

 

360度全面監控應用程式的可用性、性能、使用情況

根據 Gartner 的統計,全面監控應用程式的可用性、性能、使用情況是 2015-2016 年十大必須掌握的行動技術技術之一。隨著Application Insights 的出現,您能夠在應用程式的任何角度,監測所有您想要的資訊,甚至可以將多個不同平台的資料,呈現在同一個視圖中。

您也能夠透過使用者所留下的使用情況,來分析資料,讓您能夠知道更多關於應用程式對客戶所帶來的服務問題,例如 :

  • 這個應用程式會有性能的瓶頸嗎?
  • 這個月用戶新增數目是否有上個月的多?
  • 客戶進行何者行為會影響應用程式效能?
  • 您的應用程式的客戶群為何?

 

快速並且強大的故障排除與診斷

您公司的業務可能不允許服務發生停機的狀況,因此做為開發人員或維修工程師,您必須在服務出現問題之前,就把所有問題找出來,並且解決它。使用 Application Insights 能夠讓您進行錯誤偵測並且進行進行診斷與排除。即時行動當機分析 ( Real-time mobile crash analytics ) 可以讓您獲得當機時的所有資訊,您能夠透過此資訊了解到,究竟是何項原因導致當機,並且優先依據客戶影響的順序來進行修復。

您也能夠依照您 Web 應用程式的需求,設定診斷失敗請求( failed requests)、異常 ( exceptions )、錯誤相依性 ( dependency failures )等項目,甚至能夠跟您的登入紀錄 ( Log )自行定義的檢查檔案 ( custom events ) 結合,得到更完整詳細的診斷紀錄。

對於您的 Web 應用程式,您可以透過設置 Web 測試以及 URL pings,建立 Web 的錯誤警示機制並且依照 Web 需求,自行定義測試的基礎值,以便讓您事先了解異常的行為,會對客戶造成何種影響。

為您的應用程式進行分析

我們所設計的 Application Insights 能夠在開發過程中,就與應用程式進行整合,就算該應用程式已經進行上線服務,也一樣能夠透過相當簡單的方式與現有已存在或新開發的應用程式做結合。它會自動收集應用程式中最關鍵的運作資料。若您是使用 Visual Studio 進行開發,那就更容易地將 Application Insights 整合進您的開發流程了。

我們也在不同的 IDE 上面實現了這個方法。下圖是在 Xcode 上的執行狀況。

正如您所看到的,Application Insights 入口網站提供了一系列強大的分析與搜尋工具,能夠藉此來獲取應用程式運作時的任何遙測資料。此外,您還能夠將這些資料導出到外部系統,藉此來搭配其他的資料來進行更進一步的分析工作。

物超所值的雲端計價模型

我們最新的雲端計價模型 ( 2015年6月開始 ) 是依據每個應用程式的資料量進行計價。在免費層級,您可以使用絕大多數的功能,但是對於特定功能的資料量和保留的天數會有所限制。隨著應用程式的擴展,您可能會需要使用到更多的測試資料和資料保留天數, 可以透過標準和高級層級來符合您的需求。這些服務層級都是依據您使用多少數資料來計價,我們不希望在您擴展業務的同時,付出太多的代價在尚未使用到的資源上。此外在公開預覽階段 Application Insights 用戶享有 50% 的折扣。

結論

就是今天,快來使用 Application Insights 吧。憑藉著 Application Insights 強大的分析與診斷能力,能夠讓您的應用程式更為聰明、更加貼近使用者的需求。

最後一件事,如果您在使用 Application Insights 時有任何的意見,請提供您寶貴的意見給我們。若有任何問題,請查詢 Application Insights論壇

Windows 10 クラウド候補の取得をONにしておく

Thu, 05/14/2015 - 02:47

Windows 10 の Build 10074 で確認できる クラウド予測変換。

毎回「クラウド候補の取得」を選択するのは面倒です。設定でONにしましょう。

まずは設定を開いて、時刻と言を開きます。

続けて、言語から日本語を選んで、開いたところからオプションをクリック

次はMicrosoft IMEを選んで、開いて、オプションをクリック。

そして、スクロールしていって「クラウド候補」の欄にあるスイッチをONにします。

ちょっと深いですが、これでONになります。今後バージョンアップするときはもうちょっと設定しやすくなっているかもしれませんね。

Availability on Demand (AoD) でシームレスな Azure への移行を実現

Thu, 05/14/2015 - 02:00
このポストは、4 月 27 日に投稿された Seamless Migrations into Azure with Availability on Demand (AoD) の翻訳です。 Azure で新しいアプリケーションを作成することは中学校レベルの数学の問題と同じくらい簡単で、子供でもすぐにできます。しかし、使用中の運用環境の多階層ワークロードをパブリック クラウドに複製し、業務上の基幹的なトラフィックをクラウド上のコピーに移行するのは、微積分レベルの問題と同じくらい難しい作業です。しかし、 Availability on Demand (AoD) を使用すれば、九九の問題のように簡単になります。物理環境、VMware、Hyper-V、または AWS のワークロードを Azure に移行する作業をほんの数分で実行することができます。 次の動画をご覧いただければ、VMware 仮想マシンを Azure に移行する作業がどれほど簡単かおわかりいただけるでしょう。 Migration Accelerator のパブリック プレビュー (英語) は非常に多くのお客様にご利用いただくことができました...(read more)

VS 2015 RC版本中的C++11/14/17 特性

Thu, 05/14/2015 - 01:40
[原文发表地址] C++11/14/17 Features In VS 2015 RC [原文发表时间] 2015/04/29 2:00PM 现在, Visual Studio 2015 RC版本已发布,因此是时候来更新RC版本新特性表格了!(这是我之前的博客: VS2015 Preview版本中的核心特性 和 VS2015 CTP1版本中的STL特性 。) 核心语言 C++11 核心语言特性 VS 2013 VS 2015 备注 Rvalue references 部分 是 ref-qualifiers 否 是 Non-static data member initializers 部分 是 [RC] Variadic templates...(read more)

Tell me everything a student wants to know about Microsoft!

Thu, 05/14/2015 - 01:14

Editor’s Note:  The following article was written by Microsoft Technical Evangelist Susan Ibach,  and first appeared on Canadian Developer Connection.  Though some of this may be specific to the Canada region, most is applicable to everyone and the site is a fantastic resource for students and developers

 

Too many links, and too little time? This blog post is intended to be a comprehensive list of Microsoft resources on software, jobs, discounts and more for students of any age!

In this blog I will share useful links for

  • Coders or those interested in learning to code? Beginners and Experienced Coders
  • Deals on Microsoft office or other Microsoft products? Hardware and Software
  • Looking for a job? Undergraduate, Graduate student, MBA
  • Non-profit resources for students or organizations who help students? Software donations

I have listed everything I could think of, but I am sure I missed something! So please add your comments to let me know if this provided you with the information you were looking for or with suggested content to add.

Coders or those interested in learning to code?

Whether you are a complete beginner or an expert visit imagine.microsoft.com to find out about how you can access free developer software, learning resources for developers of all levels, contests, and more…

Beginners

You can find some great courses on learning how to code aka.ms/learn2code . Check out tools such as

  • TouchDevelop – an open source tool you can use to build a video game, mobile app, website, or IoT with only a web browser
  • Kodu – great place to build your first ever 3D video game, runs on Windows
  • Windows App Studio – to explore building apps for Windows without coding using only a web browser
  • Minecraft – Yes, Microsoft does own Minecraft and I will find some cool resources to share to help you get going with this amazing place to create worlds! Our Minecraft content is being developed as I type!
  • Project Spark – to build amazing 3d worlds and games, runs on Windows and Xbox
Experienced coders

For more experienced coders you may want to check out

  • Visual Studio Community to develop web apps, mobile apps, IoT and more in .NET, Python, nodeJS, Unity, C++, and more…! runs on Windows
  • VS Code to develop web and cloud apps, runs on Mac and Linux
  • Free cloud access in Microsoft Azure for students
  • Where do you look to find the most recent training and courses on everything from bootstrap to databases to how to build apps or use SDKs for Microsoft devices such as HoloLens and Microsoft Band? Check out Microsoft Virtual Academy and Channel 9 . As soon as there is content available or a big announcement, this is where you will find it!
  • If you are a Canadian and want to see what’s happening near you, keep an eye on our blog Canadian Developer Connection
Starting your own company? Selling apps or software?
  • Find out how Microsoft supports startups at BizSpark

 

Continue here to read full article

MDM Enrollment succeeds but SyncML session aborts without errors

Thu, 05/14/2015 - 01:00

When helping customers implement MDM solutions for Windows 8.1, we frequently encounter scenarios where the initial Enrollment with the MDM server succeeds, but right after enrollment, the SyncML session between the client and the MDM server seems to just “abort” without any errors and you are left with a daunting task of understanding what did your MDM server do wrong!

This blog discusses the basic problem most customers report.

OK, so here we go….

After the device has been setup with the initial HTTP request/response message exchange, the SyncML session starts with a HTTP request to the server which includes the basic device information.

In response to the server’s message, if the server expects that the client should continue further communication (such as the response of a command status), the server MUST ensure that the HTTP response – SyncML XML content is sent as a single line without extra line breaks or spaces in between the XML document.

If your server response contains new lines and/or extra spaces between the XML tags, we have noticed that the MDM Agent will just stop without issuing any further HTTP requests. At that point, the server does not quite know why there was no further communication from the client.

For example if your server was to send the following SyncML (I have taken out the actual sections and kept it short for brevity):

<SyncML xmlns="SYNCML:SYNCML1.2"> <SyncHdr> <VerDTD>1.2</VerDTD> <VerProto>DM/1.2</VerProto> ...other elements... </SyncHdr> <SyncBody> <Status> ...other elements... </Status> <Replace> ...other elements... </Replace> <Get> ...other elements... </Get> <Final/> </SyncBody> </SyncML>

You will notice that although the SyncML response looks syntactically correct and is visually very appealing, the XML parser tries to parse the above XML but actually fails with a XML parsing error! When the parsing error happens, the MDM Client just fails silently and the parsing error does not get relayed back to the server in the form of a HTTP request.

To resolve the problem and avoid the headaches of trying to comprehend why the MDM Agent does not communicate back to your server, you must ensure that your HTTP server response MUST be sent back as a single line without any extra spaces or new lines between the XML tags. Taking the above as an example, your “XML parser friendly response” MUST look like this:

<SyncML xmlns="SYNCML:SYNCML1.2"><SyncHdr><VerDTD>1.2</VerDTD><VerProto>DM/1.2</VerProto>...other elements...</SyncHdr><SyncBody><Status>...other elements...</Status><Replace>...other elements...</Replace><Get>...other elements...</Get><Final/></SyncBody></SyncML>

Hopefully this blog helps get you over the very first hurdle in the MDM implementation puzzle – which looks quite daunting at first, but then it’s quite simple…or not :)

Until your next MDM issue, wishing you good luck!

- Prashant H Phadke

把Clang带到Windows

Thu, 05/14/2015 - 00:33
[原文发表地址] Bringing Clang to Windows [原文发表时间]2015/5/1 星期五 4:54 PM 正如你可能知道的,现在Visual Studio支持用Clang来 编译Android和iOS应用 。我们了解用户对跨平台开发的需求,而且我们知道C++为跨平台开发提供了很多便利。Clang在标准的一致性和诊断方面做出了令人印象深刻的进展,这使它迅速成为Windows以外平台的首选C++编译器。为了扩展Clang的优点,让C++开发人员能够编译Windows应用,我们一直在尝试实现Windows上的Clang。关于这个的首次介绍请看 //build演讲 Jim Radigan 做这件事情的主要目的是在跨平台开发的时候让你的应用的重要的部分是跨平台C++代码。 如果你已经编译了跨平台应用,你的基础代码可能和上图中的框架类似。这里(1)和(3)是平台特定的代码块,要么是它们调用系统特定API,要么因为它们碰巧用的编程语言特性是仅由某些平台的特定编译器工具集所提供。这通常是这些代码存在的真正原因。然而与此同时,你的应用有相当大一部分逻辑是...(read more)

Azure Data Factory の最新情報: サンプルのデプロイが容易に

Thu, 05/14/2015 - 00:30
このポストは、4 月 24 日に投稿された Azure Data Factory update: Simplified Sample deployment の翻訳です。 Azure Data Factory チームでは、皆様からのフィードバックに基づいて Azure Data Factory サービスを継続的に改善しています。本日、Azure 管理ポータルに新たな機能を追加し、数回のクリックで Data Factory にユースケース ベースのサンプルをデプロイできるようにしました。デプロイにかかる時間は 5 分以内となっています。 これにより、Data Factory の学習をより簡単に、より実践的に行っていただけるようになれば幸いです。このサンプルは標準パイプラインとして Data Factory にデプロイされるため、ソースを ADF エディター (英語) に表示してしくみを確認し、必要に応じて編集、カスタマイズすることができます。 サンプルのデプロイ方法は、以下の動画でご確認いただけます。 サンプルの起動 こちらのチュートリアル...(read more)

MIEE TV – Expert Educators using Minecraft in the Classroom

Thu, 05/14/2015 - 00:30

As we continue our blog series detailing the creative uses of technologies and teaching techniques in and around the classroom by our Microsoft Innovative Expert Educators, we’re amassing some fantastic examples that can be put into practice by teachers in their very next lessons. So far we’ve covered the following topics:

Surface in the Classroom
OneNote in the Classroom
Sway in the Classroom
Office Mix in the Classroom
Skype in the Classroom
Inking in the Classroom

Today we're going to look at some of the ways in which Minecraft has been utilised by members of the MIEE community in order to help students work their way through concepts and problems by using a medium that is not only familiar to them, but hugely engaging. And that’s half the battle with teaching in general – creating an environment in which the children actually want to learn.

Ray Chambers, Head of IT/Computing at Uppingham Community College, is continually finding new and innovative uses for Minecraft in classroom. Earlier in the year Ray was the main focus of the TechRadar article How Minecraft is helping kids learn code one block at a time, which went into some depth about the hugely popular sessions he was presenting to packed audiences in our Theatre during BETT 2015 in January.

On his own blog, Ray has been sharing all sorts of helpful video guides and lesson plans that allow other educators from all over the world to get started with Minecraft and replicate the positive learning outcomes that are evident in the classrooms at Uppingham Community College. His Theatre Sessions at BETT 2015 were a huge success, and Ray has created a Sway of this content:

A short while ago, James Protheroe, ICT leader at Darran Park Primary school in the Rhondda Cynon Taff district of South Wales, told us of his vision to use Minecraft as a way to bring together students from a number of schools within the LEA to collaborate on wider project based learning assignments:

“The plan is take Year 5, 6, and 7 pupils children from three clusters of schools to the Rhondda Heritage Park. The Rhondda Heritage Park is a museum dedicated to the history of coal mining in South Wales, built on the site of a former colliery. Each class will be given the task of using Minecraft to work collaboratively to create a virtual Rhondda Heritage Park. Once the virtual landscapes have been constructed, they will be printed on the 3D printer, thus creating a virtual and physical model of the Rhondda Heritage Park…

…Within a cluster, the group of schools feeding the same secondary school, each school will have a different area to research. Each school will use OneNote to record their research and share this with the other school’s in their cluster. This research will then be used to create a shared animation about coal mining within the Rhondda Valley.”

And now it looks like the project is about to go live!

Setting up the Minecraft server tomorrow. The children have promised to help! #mieexpert15

— Year5/6 Mr Protheroe (@DpDarran) May 12, 2015

 

We look forward to hearing more about this from James in course, and we’ll let you know how they all get on.

For another example of how schools are using Minecraft to engage students, we’ll stay in Wales and turn towards Ynsyboeth Primary:

 

After school Minecraft club has been building a scale model of the school. #MIEExpert15 @Mr_Discovery1 pic.twitter.com/qhpbxZpfIJ

— Ynysboeth Primary (@ynysboethpri1) May 8, 2015

 

While not being used in every school just yet, Minecraft as an education medium is certainly on the rise, thanks in no small part to teachers like Ray and James who are experimenting with this technology and sharing their experiences and ideas with other educators. We’re only beginning to scratch the surface of what is possible when using Minecraft in education, and there is huge excitement around what students and teachers will be able to achieve going forward.

With our MIEE TV blogs we like to get to know a little more about one of the Expert Educators we’ve quoted, so this week we’re going to meet James Protheroe and discover how he got involved with the Microsoft Expert Educator programme and how he sees technology playing a role in the classroom:

MIEE TV – Expert Educators using Minecraft in the Classroom

Thu, 05/14/2015 - 00:30

As we continue our blog series detailing the creative uses of technologies and teaching techniques in and around the classroom by our Microsoft Innovative Expert Educators, we’re amassing some fantastic examples that can be put into practice by teachers in their very next lessons. So far we’ve covered the following topics:

Surface in the Classroom
OneNote in the Classroom
Sway in the Classroom
Office Mix in the Classroom
Skype in the Classroom
Inking in the Classroom

Today we're going to look at some of the ways in which Minecraft has been utilised by members of the MIEE community in order to help students work their way through concepts and problems by using a medium that is not only familiar to them, but hugely engaging. And that’s half the battle with teaching in general – creating an environment in which the children actually want to learn.

Ray Chambers, Head of IT/Computing at Uppingham Community College, is continually finding new and innovative uses for Minecraft in classroom. Earlier in the year Ray was the main focus of the TechRadar article How Minecraft is helping kids learn code one block at a time, which went into some depth about the hugely popular sessions he was presenting to packed audiences in our Theatre during BETT 2015 in January.

On his own blog, Ray has been sharing all sorts of helpful video guides and lesson plans that allow other educators from all over the world to get started with Minecraft and replicate the positive learning outcomes that are evident in the classrooms at Uppingham Community College. His Theatre Sessions at BETT 2015 were a huge success, and Ray has created a Sway of this content:

A short while ago, James Protheroe, ICT leader at Darran Park Primary school in the Rhondda Cynon Taff district of South Wales, told us of his vision to use Minecraft as a way to bring together students from a number of schools within the LEA to collaborate on wider project based learning assignments:

“The plan is take Year 5, 6, and 7 pupils children from three clusters of schools to the Rhondda Heritage Park. The Rhondda Heritage Park is a museum dedicated to the history of coal mining in South Wales, built on the site of a former colliery. Each class will be given the task of using Minecraft to work collaboratively to create a virtual Rhondda Heritage Park. Once the virtual landscapes have been constructed, they will be printed on the 3D printer, thus creating a virtual and physical model of the Rhondda Heritage Park…

…Within a cluster, the group of schools feeding the same secondary school, each school will have a different area to research. Each school will use OneNote to record their research and share this with the other school’s in their cluster. This research will then be used to create a shared animation about coal mining within the Rhondda Valley.”

And now it looks like the project is about to go live!

Setting up the Minecraft server tomorrow. The children have promised to help! #mieexpert15

— Year5/6 Mr Protheroe (@DpDarran) May 12, 2015

 

We look forward to hearing more about this from James in course, and we’ll let you know how they all get on.

For another example of how schools are using Minecraft to engage students, we’ll stay in Wales and turn towards Ynsyboeth Primary:

 

After school Minecraft club has been building a scale model of the school. #MIEExpert15 @Mr_Discovery1 pic.twitter.com/qhpbxZpfIJ

— Ynysboeth Primary (@ynysboethpri1) May 8, 2015

 

While not being used in every school just yet, Minecraft as an education medium is certainly on the rise, thanks in no small part to teachers like Ray and James who are experimenting with this technology and sharing their experiences and ideas with other educators. We’re only beginning to scratch the surface of what is possible when using Minecraft in education, and there is huge excitement around what students and teachers will be able to achieve going forward.

With our MIEE TV blogs we like to get to know a little more about one of the Expert Educators we’ve quoted, so this week we’re going to meet James Protheroe and discover how he got involved with the Microsoft Expert Educator programme and how he sees technology playing a role in the classroom:

モバイル アプリの分析

Thu, 05/14/2015 - 00:00
このポストは、4 月 23 日に投稿された Analytics for Mobile Apps の翻訳です。 現在、Web 上では 300 万種類 (英語) を超えるモバイル アプリが公開されています。その中で自分のアプリに注目してもらうには、どうすればよいでしょうか? アプリの基盤となるアイデアが優れていることはもちろん重要ですが、それだけでは十分ではありません。 開発者はユーザーが体験していることをリアルタイムに把握して、ユーザーの好みにすばやく対応し、問題点を即座に修正する必要があります。 アプリを公開するのは簡単です。今では製品を段ボール箱に詰めて出荷する必要はなく、寝室でくつろぎながら、大企業と同じようにゲームや洗練されたツールを数百万本単位で販売することができます。また、ツイート ストームには大企業のマーケティング部門で行われる宣伝活動と 同等の効果 (英語) が期待されます。しかし、たとえアプリのランキングで上位に入れたとしても、その順位を保つのは至難の業です。ユーザーに長い間愛用してもらえるアプリの作成は困難ですし、ユーザーもすぐに他のアプリに目移りしがちです...(read more)

Skype For Business Online (Lync Online) の URL と IP の更新ついて

Wed, 05/13/2015 - 23:11

Lync サポートのチームです。

先日、以下のブログにて、Office 365 で利用されている IP アドレスの確認方法についてご案内をさせていただきました。

Title: Office 365 で利用される IP アドレスと URL について
URL:http://blogs.msdn.com/b/lync_support_team_blog_japan/archive/2015/05/07/office-365-ip-url.aspx

Lync Online SfB Online をご利用いただいており、かつ、組織内に Proxy や Firewall を展開している場合、
定期的に Microsoft が公開しております、URL や IP アドレスに対して通信が許可されているかについて
確認が必要となります。

利用されている IP アドレスにつきましては以下のページで公開しております。

Title: Office 365 URLs and IP address ranges 
URL: https://support.office.com/en-us/article/Office-365-URLs-and-IP-address-ranges-8548a211-3fe7-47cb-abb1-355ea5aa88a2?ui=en-US&rs=en-US&ad=US

すで必要な IP は登録しており、新しい IP のみを登録したい場合は、以下の RSS フィードにサブスクライブしていただけますようお願いいたします。

Office 365 URL and IP
http://onlinehelp.microsoft.com/en-us/office365-enterprises/o365ip.rss.xml

通信を許可しない場合、Microsoft が URL や IP を追加後、実際に Office 365 内で IP の利用が開始した際に
サインインを含み、音声、ビデオ、アプリケーション共有の通信、に問題が発生いたします。

URL や IP が追加された後、実際に利用され始めるまでのタイミングについては公開している情報はございませんが、
一般的には 1-2 ヶ月ほどで利用される状況となります。

引き続き SfB (Skype For Business, Skype For Business Online) をよろしくお願いいたします。


Small Basic - Multiple Nesting Levels

Wed, 05/13/2015 - 22:58

You can have more than two levels of nesting in Small Basic. The example in the Listing below shows you three levels of nesting. The flowchart in the Figure below explains the output of this program.

 

Listing:

P = 0   ' Pass number

For I = 1 To 2

  For J = 1 To 2

    For K = 1 To 2

      P = P + 1

      TextWindow.Write( "pass " + P + ": ")

      TextWindow.WriteLine( I + "," + J + "," + K )

    EndFor

  EndFor

EndFor

 

Output:

pass 1: 1,1,1

pass 2: 1,1,2

pass 3: 1,2,1

pass 4: 1,2,2

pass 5: 2,1,1

pass 6: 2,1,2

pass 7: 2,2,1

pass 8: 2,2,2

 

  

Figure: Flowchart that illustrates the output of the Listing above

 

The first loop from the Figure starts by setting I=1 (follow it to the left). The second loop runs two times: one for J=1 and then for J=2. For each of these passes, the third loop runs two times: one for K=1 and then for K=2. When the second loop completes, the first loop runs another time with I=2 (follow it to the right).

 

Leave a comment if you have any questions!

 

Head to http://blogs.msdn.com/SmallBasic to download it and learn all about it!

   

Small and Basically yours,

   - Ninja Ed & Majed Marji

Small Basic: Multiplication Table Example

Wed, 05/13/2015 - 22:49

In this example, you’ll create a program that displays the multiplication table for numbers 1 through 5. See the complete program in the Listing. Trace through the program to understand how it works! (Tracing is where you write down the values on a paper and follow the logic of the code.)

Listing:

 1 ' Multiplication.sb

 2 ' Displays the multiplication table

 3

 4 TextWindow.WriteLine("   1   2   3  4   5  ")

 5 TextWindow.WriteLine("   -------------------")

 6 For N = 1 To 5

 7   TextWindow.Write( N + " |")

 8   For M= 1 To 5

 9     TextWindow.CursorLeft = 4 * M

10     TextWindow.Write( N*M)

11   EndFor

12   TextWindow.WriteLine("")

13 EndFor

 

Output:

     1   2   3   4    5

    -----------------------

1 | 1   2   3   4    5

2 | 2   4   6   8    10

3 | 3   6   9   12  15

4 | 4   8   12 16  20

5 | 5   10 15 20  25

 

Did you trace through the steps of the code? Good. Now let's do it again, together...

Lines 4-5 are pretty basic, you're just writing the first few lines of the table. Line 6 begins a For loop with another nested For loop. The outer loop runs five times, to build the 5 rows in the output above. Line 7 begins each row with the number of that row (1-5). Line 8 starts the nested loop, to write 5 more columns in each row. Line 9 moves the cursor over to write each number. Line 10 writes the multiplied number. The nested loop ends on Line 11. Line 12 moves the cursor down to the next line for the next row to start. The outer loop ends on Line 13, and it moves back up to Line 6 to complete the For loop a total of five times.

 

Leave a comment if you have any questions!

 

Head to http://blogs.msdn.com/SmallBasic to download it and learn all about it!

   

Small and Basically yours,

   - Ninja Ed & Majed Marji

Novinky pro webové vývojáře: ASP.NET 5, .NET Core, VS 2015

Wed, 05/13/2015 - 22:40
Je-li vaším denním chlebem webový vývoj, obzvlášť na platformách společnosti Microsoft, určitě vás bude zajímat, co se v této oblasti chystá nového. Miroslav Holec na svém blogu sepsal podrobné shrnutí, které si tímto dovolujeme vám doporučit. Před několika dny proběhla v San Franciscu vývojářská konference Build 2015, na které byla...(read more)

Fast Track Network Analysis でポート チェックが正常に動作しない。

Wed, 05/13/2015 - 21:52

Japan Lync Support Team です。

 

Lync Online/Skype for Business Online の関連ツールである

Fast Track Network Analysis の動作に問題があることが確認されております。

 

[現象]

Office 365 Fast Track Network Analysis で LYNCFT ポート50040-50059(TCP)がブロックされていると表示される。

 

[原因]

本動作は、Office 365 Fast Track Network Analysis の実装上の不具合により発生します。

 

[回避策]

現時点で回避策はありません。

 

日本マイクロソフトはこの問題を製品実装の問題と認識しており、

現在修正に向け調査を行っております。

 

弊社製品不具合につき、ご迷惑をお掛けし申し訳ございません。

修正等に関する情報が入り次第、本 Blog でも情報をアップデートさせていただきます。

 

 

 

Surface 3 - Intel Atom x7 (Cherrytrail) multi-monitor tweaks

Wed, 05/13/2015 - 21:32
I was excited to find the Surface 3 keeps the same 3:2 aspect ratio and high dpi of its big brother (Surface Pro 3)  and not the 16:9 ratio from its cousin (Surface 2 RT). The 1920x1280 resolution on the Surface 3 is far more practical than the 1920x1080 on the Surface 2 RT. Its wonderful to see more tablets and laptops breaking free of the 16:9 aspect ratio nonsense pushed by the movie industry and panel manufacturers.   By default, Windows 8.1 chooses 150% dpi scaling on the Surface 3 screen and depending on which external monitor is paired up, the on-screen sizes of objects might not match up exactly. Most folks don't mind this and will love their Surface 3 out of the box. Others may want to tweak things a bit. Fortunately, you can use the same tweaks as the Surface Pro 3 to manually set a lower 3:2 aspect ratio resolution to better pair with certain monitors. [photo courtesy Microsoft.com]

For example if you have a 21.5" 1920x1080 monitor at 103dpi, you can choose a screen resolution placing the effective Surface 3 pixel density at 107dpi to match very closely. As shown in the Surface Pro 3 tweak article, once the monitor is disconnected from the tablet, the tablet will magically spring back to full pixel density so you get the best of both worlds - hi-resolution /pixel density when using the tablet close up, and lower resolution to match your desktop monitors when docked.   If you use the built in lower resolution options to avoid dpi-scaling issues in certain applications, you'll get black bars. So to avoid black bars, here are some 3:2 aspect ratio screen resolutions you can add with the regkey hack method to match your favorite monitor:
  • 1920x1280 213.7dpi 100% scaling native resolution at 10.8 inches diagonal
  • 1800x1200 200dpi 106% scaling
  • 1728x1152 192dpi 111% scaling
  • 1530x1020 170dpi 125% scaling (Intel driver may round to 1528x1020 which isn't exactly 3:2 ratio)
  • 1440x960 160dpi 133% scaling
  • 1350x900 150dpi 142% scaling (Intel driver may round to 1352x900 which isn't exactly 3:2 ratio)
  • 1278x852 142dpi 150% scaling (Intel driver may round to 1280x852 which isn't exactly 3:2 ratio)
  • 1200x800 134dpi 160% scaling
  • 1152x768 128dpi 167% scaling
  • 1080x720 120dpi 178% scaling (can't run modern apps on Surface screen)
  • 1020x680 114dpi 188% scaling (can't run modern apps on Surface screen, Intel driver may round to 1024x680 which isn't exactly 3:2 ratio)
  • 960x640 107dpi 200% scaling (can't run modern apps on Surface screen)
 
Don't be scared away by the lower resolution options. Read the full Surface Pro 3 article to understand why low-resolution in docked mode actually works better for many people. Curiously, I noticed that when attempting to add certain resolutions, the Intel control panel added a slightly different resolution that was off by 2 pixels. I'm not sure why that is but they look just fine. I shared my findings with the Surface team a while back and they grok why all of us enthusiasts are doing these tweaks, so don't be surprised if some of these extra resolutions get baked into a future Intel driver update.

Back to main blog: http://blogs.msdn.com/b/danchar/

 

Pages

Drupal 7 Appliance - Powered by TurnKey Linux