adamjakimiuk3

From TeamCity to VSTS – My DevOps Journey – Part 2

In my last post I commenced my journey to integrate our old deployment process with the new shiny VSTS Release Management system. The whole story was about leveraging processes that were already working for us and the flow looked something like this:

deploy_pipeline

The previous step in the process involved getting TeamCity to grab the build output from VSTS and deploy it using our old deployment PowerShell. With this working, my next goal was to be able to trigger the whole process from Release Management so I could either pick the build I wanted to deploy or trigger it from a successful build in VSTS.

I thought, this is going to be mad easy.

Alas, it turned out to be a little more difficult…

Continue reading…

weekend-at-bernies

Partying on the Azure stack. Cortana, ML, Power BI and Azure Functions…

At Fred we pride ourselves on innovation and one of the key tenants of this is our annual Geekend. This is a 36 hour intensive hack fest in which we smash out a retail workflow using as much cool tech as possible in the interest of leveraging it in the coming year. This year I was playing with machine learning and attempting to use it to provide a demand forecasting solution for Dynamics AX.

The idea was to utilize an Azure ML model to predict and generate a list of items to order based on past sales. This was provided thanks to my co-worker and all round machine learning wizard, Praveen.

With the prediction engine in place we attempted to use as many other features provided by the Azure platform and came up with a pretty sweet story to tell. The components involved were:

  • Azure Scheduler
  • Azure Functions
  • Azure Machine Learning
  • Azure SQL
  • Power BI
  • Cortana Intelligence Suite

Although the final product set to be ordered would ultimately be consumed by AX master planning, for the sake of the demo we were just surfacing these results in a Power BI visualization.

Buckle up…

Continue reading…

51d114698c401395bfae6f0d31de4493

From TeamCity to VSTS – My DevOps Journey

My team recently migrated to Visual Studio Team Services and as a result we have a goal to consolidate our deployment processes using the powerful Release Management framework. While this is the goal, for the moment I was interested in somehow getting our current build process in Team City to work along side our shiny new ALM provider.

Visual Studio Team Services and TeamCity. You would think they would go together like chocolate and lobster but with some work I was able to achieve a little unity…

Continue reading…

[ File # csp1883563, License # 1295737 ]
Licensed through http://www.canstockphoto.com in accordance with the End User License Agreement (http://www.canstockphoto.com/legal.php)
(c) Can Stock Photo Inc. / ilona75

Things I Learned Today #3 – Moving Azure boxes to a new virtual network

While playing around with Power BI in the cloud I ran into some difficulties with authenticating with on-premise SQL Server Analysis Services. I found a great post showing how to get around this for a demo but it first involved connecting my box running the cube to an existing AD. To do this I had to get my existing VM on another virtual network. Apparently this isn’t just setting some magic configuration setting but it can be pulled off with a simple lift and shift operation.

This TechNet article shows you how to make it happen…

Next I’ll post the details of how to trick AD into playing nice with Power BI.

 

shutterstock_161761718

Things I Learned Today #2 – Like intellisense but for that other commonly used language…

There aren’t many things in software that scream UNPROFESSIONAL quite like spelling mistakes; it really irks me as a user, and I’m sure it makes our end-users uneasy too.

So let me introduce you to one of my recent favourite Visual Studio extension… Visual Studio Spell Checker.

It’s an extension that checks the spelling of comments, strings, and plain text as you type and is really handy and absolutely non-intrusive. Have a look at the real-world example below which was highlighted to me as I was navigating around some older sections of our codebase.

AutoCorrect

 

It might be something that many people may just shrug off but it’s something that I’m going to suggest that all of our developers have installed as it’s just another one of those little things that help ensure your software has that little bit more polish.

WAY_title_card

Things I Learned Today #1 – where.exe have you been all my life?

Since my memory isn’t what it used to be, I’m going to start blogging anything cool I learn on a given day. Even if nobody reads this it will be a good way for me to create a hit list of cool solutions to problems.

Today’s mad man is the where command on Windows. Here is the description of the command:

Displays the location of files that match the search pattern. By default, the search is done along the current directory and in the paths specified by the PATH environment variable.Command-line help

Continue reading…

Surface-Pro-3

Simulating Surface Pro 3 in the Simulator

I’m working on a project at the moment that needs to run on a Surface Pro 3. During testing there were some weird redraw issues that only appeared on the Surface 3.   We were unable to reproduce this in our dev environments because  the simulator that comes with Visual Studio doesn’t have a screen size that is compatible with the Surface 3.

For reference, the surface 3 has these specs:

  • Screen Size: 12″
  • Resolution: 2160×1330
  • Scaling Factor: 140%

But fortunately, it turns out you can actually create your own profiles for any device you want in the simulator. Basically you just create an XML file to describe the screen settings and then put into a directory to be picked up by the simulator when it starts.

Step 1: Create a xml configuration file that describes the resolution

It should look like this (the content is pretty self explanatory):

<?xml version="1.0" encoding="UTF-8"?>
<ArrayOfHardwareConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <HardwareConfiguration>
        <Name>12-2160x1440</Name>
        <DisplayName>Surface Pro 3 - 12" 2160 x 1440 (3:2, 140%)</DisplayName>
        <Resolution>
            <Height>1440</Height>
            <Width>2160</Width>
        </Resolution>
        <DeviceSize>12</DeviceSize>
        <DeviceScaleFactor>140</DeviceScaleFactor>
    </HardwareConfiguration>
</ArrayOfHardwareConfiguration>

 Step 2: Put the file in a location for the simulator to use it

The file name needs to start with HardwareConfigurations. For example, HardwareConfigurations-Surface3.xml

Put the file in the directory:

C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Simulator\12.0\HardwareConfigurations\

(You may need to create the HardwareConfigurations directory).

Step 3: Win!

Restart the Simulator, select the new device and you’re good to go!

ScreenSizeMenu