Tons of video interviews with game devs at PAX East 2016

@DaveVoyles Amanda Lange (@Second_Truth) and I did a ton of interviews with game developers at PAX East last week. Take a look-see below, and if there is someone I missed, let me know, so I can get them on the Indie Dev Podcast! @Keadin I caught up with Justin Amirkhani, one of the developers behind Sometimes… The post Tons of video interviews with game devs at PAX East 2016 appeared first on Dave Voyles | Tech Evangelist at Microsoft ....(read more)

Posted by on 2 May 2016 | 3:35 pm

Pin a work item query in VS Code

A couple weeks ago the VSTS Extension for VS Code was released. This extension adds command and status bar integration for Visual Studio Team Services. When using this extension I loved seeing the number of pull requests and the build state in the status bar but I wished I could see the count of bugs …  →...(read more)

Posted by on 2 May 2016 | 11:55 am

Deus Ex – Mod w/ enhanced graphics

@DaveVoyles The post Deus Ex – Mod w/ enhanced graphics appeared first on Dave Voyles | Tech Evangelist at Microsoft ....(read more)

Posted by on 1 May 2016 | 9:56 am

ASP.NET Core 1.0 Overview @ NoVA Code Camp 2016

I presented ASP.NET Core 1.0 (Overview) at NoVA Code Camp 2016. Here is the presentation material with the slides, links and my contact information. Download PPTX or view slideshow below SlideShare: http://www.slideshare.net/shahedC3000/aspnet-core-10 ...read more...(read more)

Posted by on 30 April 2016 | 9:47 am

Rise of the Dragon (Sega CD, 1993) pt 1/2

The post Rise of the Dragon (Sega CD, 1993) pt 1/2 appeared first on Dave Voyles | Tech Evangelist at Microsoft ....(read more)

Posted by on 30 April 2016 | 9:00 am

Rise of the Dragon (Sega CD, 1993) pt 2/2

The post Rise of the Dragon (Sega CD, 1993) pt 2/2 appeared first on Dave Voyles | Tech Evangelist at Microsoft ....(read more)

Posted by on 30 April 2016 | 9:00 am

Star Fox Zero – Final Boss

The post Star Fox Zero – Final Boss appeared first on Dave Voyles | Tech Evangelist at Microsoft ....(read more)

Posted by on 29 April 2016 | 9:27 pm

First Look – Paragon – What’s it all about?

The post First Look – Paragon – What’s it all about? appeared first on Dave Voyles | Tech Evangelist at Microsoft ....(read more)

Posted by on 29 April 2016 | 6:14 pm

I started building a large collection of Sega CD Let’s Plays

Join the discussion on reddit. I record all of those (except for Prize Fighter) with a Sega CD model 2. I then pass the signal via scart to an xrgb mini Framemeister, and then into an AverMeda Gamer Extreme (these are garbage) to record the footage. FMV games are definitely my favorite, particularly those of… The post I started building a large collection of Sega CD Let’s Plays appeared first on Dave Voyles | Tech Evangelist at Microsoft ....(read more)

Posted by on 29 April 2016 | 1:07 pm

Game Dev Show Mini at PAX East – Through the Woods

The post Game Dev Show Mini at PAX East – Through the Woods appeared first on Dave Voyles | Tech Evangelist at Microsoft ....(read more)

Posted by on 29 April 2016 | 12:42 pm

BizSpark & Azure for Startups

Presentation material: PPTX file: http://wakeupandcode.com/public_downloads/BizSpark-Azure-for-Startups-ShahedChowdhuri.pptx Slideshare: http://www.slideshare.net/shahedC3000/bizspark-azure-for-startups BizSpark & Azure for Startups from Shahed Chowdhuri ...read more...(read more)

Posted by on 29 April 2016 | 9:59 am

Kids React to Minecraft on Azure!

Join Shahed Chowdhuri, Sr. Technical Evangelist @ Microsoft, as he talks to kids about deploying a Minecraft server on Microsoft’s Azure cloud! Video: https://channel9.msdn.com/Blogs/raw-tech/minecraft-azure Get started: http://azure.com Next steps ...read more...(read more)

Posted by on 28 April 2016 | 3:57 pm

Using ReleaseHttpClient for interacting with ReleaseManagement service

ReleaseHttpClient is public as nuget package : https://www.nuget.org/packages/Microsoft.VisualStudio.Services.Release.Client Step1: Create one 'Windows Console Application' using Visual studio 2015 Step2: Goto Tools -->NuGet Package Manager --> Manage NuGet Packages for Solutions --> Browse (make sure Package source: nuget.org) Step3: Search and Install following package to your solution  Microsoft.VisualStudio.Services.Release.Client Microsoft.VisualStudio.Services.InteractiveClient Step4: Add following code to fetch all release definitions for a given project. Please update your tenant and project name in below sample. using System; using Microsoft.VisualStudio.Services.Client; using Microsoft.VisualStudio.Services.Common; using Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.Clients; namespace ReleaseHttpClientSample { class Program { static void Main(string[] args) { Uri serverUrl = new Uri("https://{your tenant name}.vsrm.visualstudio.com/DefaultCollection"); VssCredentials credentials = new VssClientCredentials(); credentials.Storage = new VssClientCredentialStorage(); VssConnection connection = new VssConnection(serverUrl, credentials); ReleaseHttpClient rmClient = connection.GetClient<ReleaseHttpClient>(); var releaseDefinitions = rmClient.GetReleaseDefinitionsAsync("{your project name}").Result; Console.Out.WriteLine("Release definitions " + releaseDefinitions.Count); } } } Step5: Done  

Posted by on 28 April 2016 | 1:49 am

File order matters with TypeScript inheritance

If you receive the following JavaScript error and your code contains a TypeScript class derived from another class, it is likely that your parent class has not been defined prior to the definition of your child class. Unable to get property ‘prototype’ of undefined or null reference To see the actual error, you will need to view the generated JavaScript file, which may look like this: var __extends = (this && this.__extends) || function (d, b) {     for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];     function __() { this.constructor = d; }     d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; The cause of this problem is that TypeScript requires the parent class to appear before the child class. If the classes have been defined in separate files, then the scripts must be loaded onto the page in the correct order. In my case I am using the ASP.NET MVC bundler which loads files alphabetically. So one solution could be to name my file appropriately, however I decided instead to specifically list the files in the correct order within the bundle. For example:

Posted by on 27 April 2016 | 3:40 pm

Azure の企業向けサポートを1年間無償でアップグレード

執筆者: Arpan Shah (Sr. Director, Microsoft Azure) このポストは、4 月 26 日に投稿された Announcing Azure support upgrade for enterprises の翻訳です。 マイクロソフトは、Azure をご利用の企業ユーザーの皆様に対するサポートをアップグレードすることを発表しました。2016 年 5 月 1 日~ 2017 年 6 月 30 日の期間中、Microsoft Azure をご利用の対象ユーザーの皆様へのサポートが ...read more...(read more)

Posted by on 27 April 2016 | 3:42 am

Using PAT token in ReleaseManagement REST API's

Generating PAT Token:- Step1: Generate PAT token by visiting your profile and selecting the right ReleaseManagement scope as per API need ( see 'Available scopes' section https://www.visualstudio.com/en-us/integrate/extensions/develop/manifest ) Step2: Copy the token generated after clicking 'Create Token' as shown in image above   Code which uses the generated PAT token above :- public static async Task<string> GetReleaseDefinitionsUsingPATToken() { var username = "nobody"; var token = "<Give your PAT Token here>"; var url = "https://{accountname}.vsrm.visualstudio.com/DefaultCollection/{projectname}/_apis/release/definitions?api-version=3.0-preview.1"; using (HttpClient client = new HttpClient()) { var mediaTypeHeader = new MediaTypeWithQualityHeaderValue("application/json"); client.DefaultRequestHeaders.Accept.Add(mediaTypeHeader); var credentialBytes = Encoding.ASCII.GetBytes($"{username}:{token}"); var encodedCredentialBytes = Convert.ToBase64String(credentialBytes); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", encodedCredentialBytes); var response = await client.GetAsync(url); var body = await response.Content.ReadAsStringAsync(); return body; } }      

Posted by on 27 April 2016 | 1:42 am

DBCC IND

Esse é mais um artigo da série “Saga da otimização com comandos antigos” Parte 1: SET STATISTICS IO Parte 2: DBCC DROPCLEANBUFFERS Parte 3: DBCC SHOWCONTIG Parte 4: DBCC PAGE Parte 5: sp_spaceused No último artigo, apresentei um problema muito comum nas ...read more...(read more)

Posted by on 26 April 2016 | 7:00 am

DBCC IND

Esse é mais um artigo da série “Saga da otimização com comandos antigos” Parte 1: SET STATISTICS IO Parte 2: DBCC DROPCLEANBUFFERS Parte 3: DBCC SHOWCONTIG Parte 4: DBCC PAGE Parte 5: sp_spaceused No último artigo, apresentei um problema muito comum nas estruturas HEAPS para armazenamento de dados. Agora vamos falar da equivalência: Table scan = Heap scan = Allocation ordered scan = IAM scan Você sabe o que isso significa? Vamos começar explicando o conceito central, que é a Heap. Heap Heap é uma estrutura de dados composta apenas por um conjunto de página de dados. Encontramos várias referências nas quais Heap é sinônimo de Tabela, por isso, é comum dizer que: Table scan = Heap scan Isso faz sentido, pois muitas vezes a Tabela corresponde aos dados na forma lógica: Enquanto que a Heap representa o conjunto de páginas que armazenam os dados, ou seja, seria a forma física:   Index Allocation Map (IAM) Além das páginas de dados, existe uma página (ou mais páginas quando a tabela é grande) denominada de Index Allocation Map (IAM). Também é comum ouvir que: Heap scan = Allocation ordered scan = IAM scan O conceito é simples! Fica mais fácil de entender com a ajuda do comando DBCC IND. DBCC IND(dbid, table, 0) FID = File_ID PID = Page_ID Aqui observamos a tabela é composta pelas páginas: 329, 537-543, 360-363, sendo que todas pertencem ao arquivo (FID) 1. Também observamos que o IAM corresponde à página 1:329 (FILE_ID=1, PAGE_ID=329) e ele contém o ponteiro para todas as páginas. Ela seria o mapeamento de todas as páginas que pertencem a um determinado objeto. Podemos dizer que uma estrutura de alocação é composta por uma ou mais páginas IAM. Isso ocorre porque o IAM possui apenas 8Kb de tamanho e nem sempre consegue armazenar todos os ponteiros necessários. Portanto, um Allocation Unit é igual a um conjunto de IAM. IAM Scan Como disse no começo do artigo, temos a equivalência: Table scan = Heap scan = Allocation ordered scan = IAM scan Que poderia ser quebrada em partes: Table e Heap Tabela é uma entidade lógica composta pelos DADOS e METADADOS. No desenho anterior, a primeira linha da tabela corresponde ao cabeçalho, que corresponde ao nome das colunas. Esse é o metadado, que descreve as colunas e os tipos de dado. Os dados brutos são armazenados em uma estrutura de dados, que no caso é a Heap. Nem sempre os dados ficam em uma Heap. Poderia ser uma estrutura do tipo BTree+ ou os dados ficam distribuídos entre várias estruturas Heaps/BTrees (ex: Particionamento). Heap e Allocation Unit Allocation Unit é um espaço de alocação no disco. Heap pode utilizar 3 Allocation Units ao mesmo tempo: In-Row, Row Overflow, LOB. Quando falamos em um Heap scan, estamos falando de uma operação de Scan em um Allocation Unit corresponde ao In-Row. Allocation Unit e IAM Allocation Unit corresponde ao conjunto de IAM. IAM é uma página de 8Kb com ponteiros para Extents, estando diretamente relacionado com os arquivos em disco. IAM possui ponteiros entre outros IAM (lista duplamente ligada). Por outro lado, Allocation Unit corresponde a uma estrutura que ajuda o banco de dados a alocar espaço em disco sem se preocupar com os detalhes dos arquivos. No fim concluímos que: Table, Heap, Allocation Unit e IAM são conceitos bem diferentes. Então por que dizer que existe uma equivalência entre as operações de scan? Não sei exatamente o motivo, mas muita gente usa essas expressões livremente. O importante é deixar claro que o IAM scan é a operação mais rápida de Table Scan presente no SQL Server. IAM scan aumenta a chance de realizar operações de read-ahead usando um mecanismo chamado de “read-scatter”, que procura agregar as operações de leituras sequenciais próximas. No próximo artigo, vamos ver a estrutura de BTree e introduzir um conceito chamado de Index Scan. Será que esse mecanismo é mais rápido que o Heap scan?

Posted by on 26 April 2016 | 7:00 am

Azure Resource Policy の一般提供開始を発表

執筆者: Mike Chen (Program Manager, Azure Resource Manager) このポストは、4 月 15 日に投稿された Announcing Azure Resource Policy general availability の翻訳です。   ビジネスにおけるクラウドの利用が広がるにつれて、企業では自社のリソース構成を正しく制御し、独自のポリシーやガバナンス要件に的確に対応することがますます不可欠になっています。 マイクロソフトはこのたび、Azure ...read more...(read more)

Posted by on 26 April 2016 | 4:22 am

Outlook の PST ファイルのアーカイブをクラウドにバックアップ

執筆者: Saurabh Sensharma (Program Manager II, Azure Backup) このポストは、4 月 15 日に投稿された Cloud Backups for Outlook PST file archives の翻訳です。     Microsoft Outlook では、メッセージ、連絡先、予定表、履歴といったメールに関するあらゆる情報が PST ファイルという個人用ストレージ フォルダーに保存されます。PST ファイルの保存場所は Outlook ...read more...(read more)

Posted by on 26 April 2016 | 4:22 am

クラウドにおけるマイクロソフトのインシデント対応と責任の共同負担について

執筆者: Alice Rison (Senior Director, Microsoft Azure) このポストは、4 月 14 日に投稿された Microsoft Incident Response and shared responsibility for cloud computing の翻訳です。   マイクロソフトは、当社の顧客ベースと業界での存在感を拡大していく中で、お客様のビジネスと中核的な IT 機能の運用に Azure を活用することのメリットと可能性についてご説明しています ...read more...(read more)

Posted by on 26 April 2016 | 4:21 am

Azure Hybrid Use Benefit の使用方法

執筆者: Markga このポストは、4 月 13 日に投稿された How can I use the Hybrid Use Benefit in Azure? の翻訳です。 マイクロソフトでは、Azure Hybrid Use Benefit について、教育機関のお客様からさまざまなご質問をいただいています。このため以下に Azure Hybrid Use Benefit の概要と使用方法についてよく寄せられる質問をまとめましたのでご覧ください。 Hybrid Use ...read more...(read more)

Posted by on 26 April 2016 | 4:16 am

Feminism. A point of view

Fighting poverty and trafficking, through education is the mission of at least one non-government organization I am familiar with. This ‘good news’ story is important to tell. We all agree that trafficking is a bad thing and that a workable model, to educate as a way to reduce the vulnerability to trafficking is a way… Read more Feminism. A point of view...(read more)

Posted by on 25 April 2016 | 2:13 pm

Serverless Azure Architecture, Simple Forms

Serverless Azure Architecture, Simple Forms I hate complex software, not just out of laziness (definitely a big part of it) but I honestly do think that simple software is easier to maintain in the long run and usually better asset to software companies than complex software is. Azure has just recently gotten a new service “Azure Functions” : https://azure.microsoft.com/en-us/documentation/articles/functions-overview/ which is a fine example of simple thing that can drive enormous business value. Basically it is a system which allows You to create a reasonably rich solution by simple scripting while allowing serverless execution.  This shifts the attention to application logic, not application infrastructure. Besides, scripting is fun … which is more important than one might think at first. Scripting, not software development project So I took a closer look at the functions and decided to test with something that has some real value, something that implements an actual use case that my customers have.  This case is Simple Feedback Forms. Simple forms are basically forms that You might want to use when asking company’s employees whether they will participate to next field day and what employees thought of the services they’ve been getting from IT or customer feedback form … just to name a few usage scenarios. I decided to implement the actual forms in HTML5 so users could use whatever clients they happen to have handy. The backend would be Azure Sql database for easy reporting. Finally the little logic (the script) in the middle would be implemented in C# even I have been writing a lot about Node.js and other non-microsoft languages, this time I just felt like writing some C#. 1.       The browser makes a request towards our published function2.       The function fetches the correct form html from blobstorage and serves it to browser3.       The user fills in the form and presses submit4.       The function saves the data into Azure Sql Db for later processing5.       Power Bi report shows a report based on the collected data Serverless doesn’t mean free The cool thing is that we do not have to reserve any server capacity beforehand and we pay only for those seconds that our function does any processing. On top of this we have a cheap Sql Database and miniscule amount of storage on blob storage services.  We can use the database for various other usages and same goes for the storage. I could have used a TableStorage for storing the data (cheaper than sql) but my customer is very good with sql reporting tools so let’s do it this time like this. One interesting result of my Sql usage was that the script needed more memory to run, instead of the minimal 128 MB the script required 256 , and that costs a tad more.  Implementation notes The system was very easy to implement once I figured out the correct way to send and receive ajax-requests since there was not much documentation available at the time of writing. Another big thing was the pattern of utility modules, i.e. having all utility functions in a separate module so they would not clutter the main script logic. Overall a very enjoyable experience.    Resources I have stored all the solution files and step-by-step guide here: AppUtils.cs   App.cs   Step By step   Whats next ? Maybe user authentication for these forms and definitely some "Azure Functions"-based real time Dashboarding . Stay tuned ...  

Posted by on 25 April 2016 | 2:11 am

Power BI と Azure Stream Analytics の統合が一般提供開始に

2016年4月22日 [Azure Stream Analytics integration with Pow… ...read more...(read more)

Posted by on 24 April 2016 | 10:50 pm