developer musician photographer

Sunday, September 27, 2015

REST API SDK Generators

I’m investigating automatic REST API SDK generation options and I’d like your help narrowing things down.  We, at Power BI, have a REST/JSON API and our documentation is up on apiary, which supports “API Blueprint”, not Swagger. We want to accommodate as many languages and technologies as possible, so the first then we are going to do is convert our API Blueprint to Swagger (using apib2swagger) and publish our swagger.json file so you all can generate your own SDKs from it.  We’ll then decide which SDK generation tools to use and make all of the SDKs available via GitHub and the major packages managers (npm, bower, nuget, etc).

Here’s a table of the options I was able to discover on my own.  Please have a look and let me know if I missed any or feel free to tell me about your experiences with any of them.
AutoRestAPIMaticAlpacaREST UnitedSwagger CodeGen
Java for AndroidXXX
Java for JVMX
Async SignaturesXX
CodeGen ServiceX
Import FormatsAPI BlueprintX
Google API DiscoveryX
JSON Schema

Sunday, September 20, 2015

How to Enable the Power Pivot Add-in in Excel 2016

It took me a few minutes to figure out how to get the Power Pivot Excel Add-in installed, so I figured I’d do a post to save you some time.

Instead of a download it’s actually already installed when you install Office 16, it’s just disabled. Let’s go ahead and enable it.

1) Open Excel, Go to File –> Options –> Add-Ins


2) Select “COM Add-ins” from the “Manage” dropdown and click Go.

3) Check the “Microsoft Power Pivot for Excel” checkbox and click OK.


4) You will now see the Power Pivot tab


Monday, September 14, 2015

Devs Needed for Power BI - Microsoft's new Business Intelligence Cloud Service


TLDR; I just joined Power BI and I’m hiring developers. Click here to jump to the job description and apply.

Here are some of my previous blog posts to give you an idea of how I operate:


This is my 11th year at Microsoft and I’ve been fortunate enough to work on a lot of different teams including Bing, MSN, Ads, Windows and MSDN. I spent the last year in a really fun role over on the Windows IoT Maker team. I helped them ship Windows 10 IoT Core by improving their CRM system for the Raspberry PI 2 release; fostered the collaboration with to host our projects and help bootstrap our community; I implemented the Maker GitHub pages site; I learned 3D modeling and printing; I met a whole new crowd of developers called “Makers” and developed a passion around combining hardware with software to build end-to-end products.

Power BI

While it was fun and I learned a ton, I heard about an opportunity over in Power BI that I couldn’t pass up. Power BI is Microsoft’s new business intelligence product that is built on top of all of the previous generations of BI products like SSAS, SSRS, Power Query, Power Pivot and Power View. It is a data visualization platform on the surface via the Power BI website, but there is so much more under the covers that we like to call “data exploration”, which involves the entire spectrum of analyzing big data in the cloud. When I started talking with the Power BI team they were getting ready to release to the world and were laying plans for the future. Part of that future included a big push to add robust developer experiences that enable any developer to integrate with Power BI via REST APIs, embed Power BI visuals into their applications and extend Power BI by creating custom charts and graphs.


(Power BI Dashboard)


I have many years of experience and passion for building developer platforms and dev teams, so I had to pursue it further. I spent many hours talking with folks in Power BI and many more hours laboring over one of the most important decisions of my career. Should I stay on the Maker team and develop my Windows and Hardware muscle or do I join Power BI and get back into my wheelhouse of building services, building dev teams and developing consumer facing products?

Towards the end of my decision making process it became clear that moving to Power BI was the right move. This opportunity presented itself directly in the space that I had invested so much of myself in. I still have a passion for “making” and am actually still teaching classes at the Microsoft Garage – but my full time job will now be Engineering Manager for the Power BI Developer Experiences team.


With that, the first thing I need to do is build a new dev team. I’m mainly looking for Senior and Principal developers with 7+ years of experience, but I have opened positions at all levels because I want to be open to less-experienced star developers. I personally wrote the job description below; read it and let me know if it describes you. The rest of Power BI is also hiring, so I’m including a few of those job descriptions below as well. Feel free to submit your resume to the one that you connect with the most.

How to Apply

  1. Find the job below that best matches your skills and experience
  2. Click the “Apply Now” link next to the job title to officially apply to Microsoft at
  3. Important: Use this form to email your resume to me with quick blurb about why you’d be a good fit.

Job Description

Click on the role that best matches your years of hands-on experience to apply.

Power BI is the future of data exploration. Microsoft is investing a tremendous amount of resources into Power BI with a singular objective: allow our users to visualize their most critical business data so they can make real-time decisions. We just shipped our first major offering last month and our initial usage numbers are astounding (we can share more details in-person). Microsoft expects hockey stick growth with Power BI, but that is almost entirely dependent on us building a beautiful developer experience that allows businesses to push their data directly into Power BI and customize their data exploration experience.

Our customers love what we have done so far and their big asks are to make the entire product available programmatically via an API; be able to embed Power BI tiles, reports and dashboards in their applications and make content creation that is what we are going to do. With our expected growth in mind, we decided to make these scenarios a top priority and created a new team focused on it. This is where you come in. We need you to come help design and implement modern standards-based web applications, REST APIs and complementing language specific SDKs that allow developers to create custom HTML5 visualization controls, perform data operations, see real-time data feeds and much more. We are going full bore on our developer ecosystem efforts to give any customer the ability to easily embed, extend and integrate our visuals into the Power BI dashboard and their own applications. We got a good start on this effort with a bare-bones API and we put our Visuals on GitHub. Now we want to take it to the next level and tell a complete end-to-end story that allows our clients to extend Power BI to meet their business’s needs.

We LOVE open source and in fact our product is built with AngularJS and D3.js. Giving back to the open source community is super important to us and our team is going to drive that effort to create a real community of people that are passionate about data exploration.

That’s us. Here’s how we’d describe the perfect you…

You have a passion for an amazing developer experience. You get goose bumps when you see a perfectly designed REST API or JavaScript framework that is easy to use, simple and performant. You get excited about modern tech like Node.js, AngularJS and TypeScript. You want to work on a team that believes in their product and puts their entire being into making it successful. You don’t want just another boring dev job to pay the bills. You love good design, but you don’t let perfection cripple progress. You were born to iterate and evolve everything you do – and don’t burn yourself out doing it. You can accomplish a lot in your own right, but can also be the perfect team member and use the synergy of the team to accomplish more than you could ever do on your own. You love to code and you are working on a thousand things at once; not because you are paid to do it, but because you are curious. You want to change the world and are looking for the perfect opportunity to do so.

Does that describe you? If so, then this Power BI team is the place for you.

Here are the skills we look for in what we think will be perfect additions to our tight-knit team.


  • An open mind. You have an opinion, but aren’t opinionated.
  • Great software design skills. A CS degree or equivalent work experience. We aren’t overly concerned with your CS101 skills, but you must show that you are disciplined and care about creating high-quality software.
  • Experience as a software developer. You must be a coder. 80% of your time is spent creating code.
  • Deep working knowledge of modern tech like Node.js, AngularJS and TypeScript and a popular programming language like JavaScript, C#, C++ or Python. You don’t need to know them all; we just expect you to be an expert in at least one major language.
  • People skills. We want people with a high emotional intelligence. You are positive and genuinely like people. You understand they aren’t perfect and have patience to work through difficult issues.

Nice to have:

  • A love of data exploration or the ability to fall in love with it. Data exploration is all we are about, so if you don’t think you can get excited about it then this isn’t the place for you. We don’t expect you do have all the knowledge when you start, but we do expect you to be an expert very quickly after you join our team.
  • Open source experience. You have an active GitHub account. You are a regular contributor to a repo that you care about or you are the main contributor of your own repo. You know GitHub flow; clone, fork, commit, push, pull requests - all of that is second nature to you.
  • Developer platform development experience. You have created an API, SDK or complete developer ecosystem. You have a passion for beautiful APIs and know what it takes to develop an experience that developers love.
  • Single page application experience. You have created complex applications that use a modern SPA framework like AngularJS or Ember.
  • Complete understanding of REST and how to build a beautiful API around HTTP verbs or you are an expert Single Page Application developer.
  • Technical lead experience. You have mentored, lead or empowered a team of developers and are good at it. This isn’t a management job, but we favor people with technical lead experience.

We promise to review each and every resume and look forward to speaking with everyone that stands out to us. When you apply, feel free to include a brief cover letter that explains why you are the perfect fit for our team. We expect a lot of submissions, so the more information you can provide us the better.

We are also the team running this contest:

The above is the job description for my direct team.  Power BI is also hiring in other areas that might be of interest to you.  Please review the descriptions below and then follow the “How to Apply” instructions above to speed up the process.

  • Engineering Systems Developer – The Power BI team that develops system to improve the entire development team’s engineering systems.  -  Apply Now
  • Front-End Developer – The Power BI front-end application team (  - Apply Now
  • Backend Services Developer – The Power BI Engine team owns the backend services that power the rest of the service. – Apply Now
  • Data Services Developer - Data Service is a distributed system empowering the entire Power BI stack for querying and data freshness. It deals with performance and scalability for interactivity of the system – Apply Now

My hope is that one of the jobs above resonates with you and you apply soon.  Feel free to comment on this post or send me an email with questions.



  1. I will consider non-US developers, but you have to possess attributes that would convince me to put in all the extra effort required to get you here. When you send in your profile, make sure you tell us how you stand out from the rest of the local applicants.
  2. Part-time or remote work is not an option. You must be willing to relocate to the Seattle area and work full-time.
  3. First party only. I won’t consider agency submissions.

Sunday, August 23, 2015

How to Convert a Bing Maps Directions URL to a Bing Maps Routing API URL

I’m working on project that uses the Bing Maps Routing API and couldn’t find a way to easily convert a Directions URL that you would get from to the Bing Maps Routing API URL format, so I created a quick webpage to do so. It takes in a Bing Maps Directions URL, a Bing Routing API Key and spits out an equivalent Bing Routing API URL.

Here’s the app:


Here’s how to use it:

1. Go to Bing Maps and get the directions that you need.


2. Once you have selected the exact route you want to use, click on the “Share” button.


That will show this dialog:


3. Click “Show full URL” and copy that URL into  your clipboard


4. Go to my converter and paste the Bing Maps Directions URL into the first text box.


5. Enter your Routing API Key. You can get one here if you don’t have one:


6. Select the Response Format that you’ll need:


7. Click “Convert”

Your Bing Maps Routing API URL will then appear:


You can then copy that URL to whatever application you need it for.


Saturday, August 22, 2015

How to Change an Wish List Name

I found a usability bug in Amazon’s Wish List functionality…there’s no obvious way to change a Wish List name. After some searching I discovered that the “Edit list name” feature is in the “List Actions” dropdown.  Select that option, change the name, click save.


You could also hover your mouse over the list name and click on it.

On Hover:


On Click:


Here’s a direct link to your Wish Lists:

Hope this helps,