POSTS POSTS

> 2017 POSTS

SEP
20
Windows Subsystem for Linux is Cool. No really, it is.
David Wesst
With the Fall Creators update of Windows 10, you can go to the Windows Store and install Linux. Yeah, that's a thing now and it's pretty cool.
SEP
19
Sonar, the Linter I Never Knew I Wanted
David Wesst
Meet Nellie the Narwhal, the official mascot for Sonar, the linting tool for the web. Nellie represents a tool that is long-overdue. It provides any web application the ability to verify they are meeting a high level of quality when it comes to their web applications, and not miss any common mistakes.
SEP
18
Service Workers and PWAs are Super Cool
David Wesst
One of the core items highlighted by the Microsoft Edge team, along with many others who were just web professionals, was the importance of Progressive Web Apps (PWAs). I started out thinking they were something that could be interesting one day, but left the conference convinced that this will change the way we think of the web.
SEP
10
Podcast: Is there still a place for the server-side web?
In a leaner half-hour podcast, we discuss whether we should still be rendering web pages on the server
AUG
23
Awareness, Acknowledgement, and Adjustment
Damian Brady
There's a common pattern in IT that frequently leads to new buzzwords: Awareness, Acknowledgement, and Adjustment. Make it work for you!
AUG
17
Posh-GVM, the Groovy Version Manager for Powershell
David Wesst
Here's another dev thing I use: Posh-GVM, a Groovy version manager that works for Windows.
AUG
16
Jabba, the Java Version Manager for Everyone
David Wesst
Here's another dev thing I use: Jabba, a cross-platform Java version manager that works for Windows.
AUG
15
Podcast: Developer Health
The Western Devs aren't getting any younger. We take time out of our exercise routines to talk about keeping healthy
AUG
15
NVS, the Node Version Manger for Everyone
David Wesst
Here's another dev thing I use: NVS, or the Node Version Switcher. It works on Windows and it's great.
AUG
3
IstanbulJS Code Coverage Reports in VSTS
David Wesst
Here's another dev thing I use: IstanbulJS in Visual Studio Team Services (VSTS) builds and display the test reports as part of the build reports.
AUG
1
Mocha Test Reports in VSTS
David Wesst
Here's another dev thing I do: Display my MochaJS test report in the Visual Studio Team Services (VSTS) build report.
JUL
14
Scrum with Kanban Class of Service
Dave White
Kanban's concept of Class of Service helps Scrum teams deal with emergent work
JUL
14
A review of Scrum for Kanban Teams
Dave White
A review of a Scrum Primer for Kanban teams
JUL
12
Estimations and Mistake Driven Development
Justin Self
Mistake Driven Development, or MDD (because we need another TLA in our lives), is my thought process on how I grow as a human both personally and professionally.
JUL
7
Scrum with Kanban WIP Limits
Dave White
A natural, easy first step for enhancing Scrum with a Kanban practice is a WIP limit
JUL
3
Home Networking - What and Why
Donald Belcham
Moving into the new house meant a new internet provider and the standard installation of home networking gear that exists in (hundreds of) thousands of houses throughout North America
JUL
2
Nothing in Kanban Prevents Scrum
Dave White
Inspired by a colleague
JUN
30
Kanban and Scrum Together - Not so fast
Dave White
A colleague of mine who works at Scrum.org now posted a blog about how Kanban and Scrum are stronger together.
JUN
13
Dylan Joins Microsoft
Dylan Smith
After 6.5 rewarding years with Imaginet, I'm joining Microsoft as a DevOps Architect.
JUN
7
Running Kubernetes on Azure Container Services
Simon Timms
Docker is cool and all but shipping containers to production has a lot of added challenges. Scaling, deploying, rolling deployments, storage,... the list of challenges goes on and on. An orchestration engine, like Kubernetes, can solve many of the challenges.
MAY
11
The Great RS-232 Adventure
Simon Timms
Talking over the RS-232 serial protocol is a bit of a blast from the past but I needed to use in on an Android tablet from within Xamarin. This is the, painfully complete, story of my journey.
MAY
9
Podcast: Transparency
Wherein the Western Devs determine if, when, and how companies should publish salary and diversity numbers
MAY
3
JSON.net not just for serialization
Simon Timms
If you happen to head over to https://www.nuget.org/packages and look at which package has been downloaded the most there is a clear winner: JSON.net. It is in everything, every where. JSON is so wildly ubiquitous that I play a little game with myself when I start a new project: how long can I go before I need to serialize or deserialize JSON and need to pull in JSON.net. I rarely last more than a couple of hours. But it turns out that there is a lot more that JSON.net can do.
MAY
2
Conquest April 2017 Devblog
David Wesst
This is the April 2017 update for my video game project I call "Conquest".
APR
23
Podcast: Working From Home
Yeah, so Pokemon Go was still a thing when we originally recorded this. Add procrastination to the list of hazards for working from home.
APR
22
The Cloud Is The Internet
D'Arcy Lussier
Let's reset our definitions and thinking around what cloud computing and cloud service providers are.
APR
19
Using azure-cli in windows bash
Simon Timms
The latest versions of Windows support running linux executables. The technical trickery to get that done boggle my mind. I wanted to get the Azure command line tools working inside of the bash. The tools are written in python so we need to get that installed.
APR
3
Introducing My Game Project - March 2017 Devblog
David Wesst
This is the first of monthly status update posts on my video game project I call Conquest.
MAR
19
Getting Started with RabbitMQ in ASP.NET
Simon Timms
In the last post we looked at how to set up RabbitMQ in a Windows container. It was quite the adventure and I'm sure it was woth the time I invested. Probably. Now we have it set up we can get to writing an application using it. A pretty common use case when building a web application is that we want to do some background processing which takes longer than we'd like to keep a request open for. Doing so would lock up an IIS thread too, which ins't optimal. In this example we'd like to make our user creation a background process.
MAR
16
Creating a Rabbit MQ Container
Simon Timms
I bought a new laptop, a Dell XPS 15 and my oh my is it snazzy. The thing I was most excited about was that I'd get to play with Windows containers again. I have 3 other machines in the house but they're either unsuitable for containers (OSX running Windows in parallels) or I've so toally borked them playing with early betas of containers they need to be formatted and reinstalled - possibly also thrown into the sun. So when I found myself presented with the question "how can we get into messaging in our apps for free?" I figured I'd crack open the laptop and build something with MassTransit. I found that MassTransit supports running on RabbitMQ. Why that sounds like a perfect opportunity to deploy RabbitMQ to a container. Only problem was that I didn't really know how to do that.
MAR
14
How to Compile TypeScript into a Single File with SystemJS Modules with Gulp
David Wesst
I decided to move a TypeScript project from AMD modules (i.e. RequireJS) to SystemJS, still using Gulp. In this post, I walk you through the sample project I've created and share the lessons I learned along the way.
MAR
14
Issues are not free
Donald Belcham
Thoughts about the hidden costs of actions
MAR
8
Synchronize GitHub Repository with VSTS
Dylan Smith
Step by step guide to do an automated continuous one-way synchronization from a GitHub repository to a VSTS repository.
MAR
7
Paper Cuts - My Review of PaperCall.io
D'Arcy Lussier
My experience using PaperCall.io, a conference session submission service.
MAR
7
Initial Thoughts on Using Phaser
David Wesst
As a side project, I started making another JavaScript-based video game and decided to go with Phaser as my framework of choice. Here are my initial thoughts about Phaser after using it on my project for the past two months.
JAN
22
Acceptance Testing With Legacy Databases
Amir Barylko
One of the most common pain points of implementing automated acceptance testing is the interaction with the database. For greenfield projects you can plan from day one how to setup the test to easily include the database interaction but with legacy projects it is not always that easy.
JAN
16
ASP.NET Core Training in Calgary, Alberta
James Chambers
The first ASP.NET Monsters workshop is happening in Calgary from Feb 22-24, 2017. Attendance is mandatory

> 2016 POSTS

DEC
14
Hour of Code Challenge - Completed
Dave White
79 Grade 3 kids had a blast being introduced to the world of computer science!
NOV
27
Integration Testing with Entity Framework Core and SQL Server
Dave Paquette
Entity Framework Core makes it easy to write tests that execute against an in-memory store but sometimes we want to actually run our tests against a real relational database. In this post, we look at how to create an integration test that runs against a real SQL Server database.
NOV
22
Creating a New View Engine in ASP.NET Core
Dave Paquette
At the ASP.NET Hackathon in Redmond, we replaced the Razor view engine with Pug. It started off as a joke but it kind of worked okay so we rolled with it.
NOV
21
How to Blog with VSTS (Part 4)
David Wesst
I wanted to understand how to use Visual Studio Team Services (VSTS) for a "real" project. Being a noob, I decided to move my blog to VSTS to understand how _any_ project can benefit from ALM practices using VSTS. In part 4 of 5, we setup a _Build_ script.
NOV
18
What Is DevOps?
Dylan Smith
My personal definition of DevOps, in the context of lean principles.
NOV
14
How to Blog with VSTS (Part 3)
David Wesst
I wanted to understand how to use Visual Studio Team Services (VSTS) for a "real" project. Being a noob, I decided to move my blog to VSTS to understand how _any_ project can benefit from ALM practices using VSTS. In part 3 of 5, we start to make plans and _Work_ on our blog.
NOV
9
C# Wildcard Variables
Simon Timms
Wildcard variables in C# are up for discussion for inclusion in C# 7 or some later version. They are a useful construct taken from functional languages like Haskel.
NOV
7
How to Blog with VSTS (Part 2)
David Wesst
I wanted to understand how to use Visual Studio Team Services (VSTS) for a "real" project. Being a noob, I decided to move my blog to VSTS to understand how _any_ project can benefit from ALM practices using VSTS. In part 2 of 5, we get our blog into source control.
OCT
31
How to Blog with VSTS (Part 1)
David Wesst
I wanted to understand how to use Visual Studio Team Services (VSTS) for a "real" project. Being a noob, I decided to move my blog to VSTS to understand how _any_ project can benefit from ALM practices using VSTS. In part 1 of 5, we get things setup.
OCT
24
How to Use Global NPM Packages on a VSTS Self-Hosted Build Agent
David Wesst
I setup a self-hosted build agent in Visual Studio Team Services. My build installed global NPM packages, but the tasks that used them later on in the script would fail because they were unable to use them. This post describes what I did to get them working.
OCT
4
Add some spice to your life with Resharper Templates
Justin Self
Do you use Resharper? Do you have 5 minutes? Awesome, let's change your life.
OCT
3
Windows Not Required - The New Microsoft Development Story (Video)
David Wesst
I delivered a presentation at the Winnipeg .NET User Group last week, where I recorded it and posted it on YouTube. I go over a number of Microsoft development tools and technologies that don't require Windows and deliver the demos on my Linux machine.
SEP
30
Introduction to messaging primitives
Peter Ritchie
An introduction to messaging and the Primitives library to make writing message-driven/event-oriented systems easier.
SEP
26
How to Fix node-gyp Error on Windows
David Wesst
Whenever I get a new machine, I pull down a new project using the `npm install command and get an error related to python and node-gyp. This post will remember the fix for this problem that I always forget.
SEP
23
Hour of Code Challenge
Dave White
I'm throwing down the gauntlet! I'm challenging my fellow WD members to get involved with Hour of Code!
SEP
19
How to Build ReactJS with Gulp
David Wesst
I started to tinker with React last week and needed to do some digging on how to transpile the React JSX files using Gulp. In this post, we walkthrough my newly updated Gulp task that transpiles JSX and JavaScript files.
SEP
19
Podcast: Career Planning
When it comes to planning your career, the Western Devs have it aaaaaaaall worked out. But when it comes to audio issues...sorry about that, westerners.
SEP
12
How to Compile Typescript into a Single File with AMD Modules with Gulp
David Wesst
The lessons I learned and the steps I took to compile TypeScript modules into a single file with AMD modules using Gulp, along with how I consumed those compiled modules in my HTML application.
SEP
9
Podcast: Stress
Chillax with the Western Devs as they relieve their stress through podcast therapy
AUG
29
How to Use Highlight.Js with Bower and Gulp
David Wesst
One of the best libraries I've seen for syntax highlighting on the web is highlight.js, IMHO. The catch to using the library is that it takes a bit more effort to setup than just adding a script tag and being done with it. In this post, I'll walk you through the steps I took to get this up and running with Bower and Gulp.
AUG
28
You're using HttpClient wrong and it is destabilizing your software
Simon Timms
I've been using HttpClient wrong for years and it finally came back to bite me. My site was unstable and my clients furious, with a simple fix performance improved greatly and the instability disapeared. At the same time I actually improved the performance of the application through more efficient socket usage.
AUG
16
Mobile First Design Tips
David Wesst
When redesigning my personal website and blog, I started from scratch and attempted to apply a mobile-first design approach. Here are a few tips that I picked up along the way while creating and implementing my new design that might prevent some mistakes on your own sites.
AUG
3
The Code Review Blues
Lori Lalonde
Code reviews. Some people really enjoy participating in them. Others find it worse than a visit to the dentist. I've been in both camps.
JUL
27
Podcast: Exploratory Data Analysis with Matthew Renze
Kyle hijacks Matthew Renze at Prairie Dev Con 2016 to talk about exploratory data analysis and the increasingly popular programming language, R.
JUL
18
Keeping Your Edge on an Extended Break
David Wesst
A few quick tips on how I kept up-to-date in the professional world while taking a four month hiatus for parental leave _without_ giving up time with my daughter.
JUL
17
An Intro to NGINX for Kestrel
Simon Timms
Kestrel is a server capable of serving up ASP.NET Core applications on any platform but in production you need to run it behind another server.
JUL
16
Loading View Components from a Class Library in ASP.NET Core MVC
Dave Paquette
In today's post we take a look at how view components can be implemented in a separate class library and shared across multiple web applications.
JUL
15
End to end testing for your saga
Simon Timms
Looking to do end to end testing of your saga? I strugged.
JUL
9
Podcast: Functional Programming and F# with Rachel Reese
The Western Devs kidnap Rachel Reese at Prairie Dev Con and force her to speak on functional programming and F# in exchange for empanadas
JUL
2
Podcast: Mobile Apps and Xamarin
The Western Devs discuss the ins and outs of mobile development and Xamarin
JUN
29
Extensibility In Message Based Systems With NServiceBus
Justin Self
One of my favorite things about message based systems is the natural points of extensibility you can gain. Though, you don't get it for free if you aren't setting yourself up for it.
JUN
20
O365 Custom Domains - Configuring It For A Website
D'Arcy Lussier
Here's the situation - you've registered a custom domain and you've gone ahead and set it up to work with Office 365 so you can have yourname@yourdomain.com for emails. Fantastic!
JUN
13
Podcast: Building APIs
The Western Devs discuss the ins and outs of building APIs
JUN
11
How I fixed OneDrive like Mark Russinovich
Simon Timms
Even with compiled applications it is possible to debug issues
JUN
9
Maybe null is not an Option
Amir Barylko
Tony Hoare calls null references his billion dollar mistake. Using null values (NULL, Null, nil, etc) makes code harder to maintain and to understand. But what can we do about it? To start let's review the meaning of null values ...
MAY
22
ASP.NET Core Distributed Cache Tag Helper
Dave Paquette
The anxiously awaited ASP.NET Core RC2 has finally landed and with it we have a shiny new tag helper to explorer. In this post we will explore the new Distributed Cache tag helper and how it differs from the already existing Cache tag helper.
MAY
8
I regret nothing!
Kyle Baley
One of the Western Devs posted an article on our Slack channel on someone's regrets as a programmer. I fundamentally disagree with the sentiment of this article and the remainder of this post will be sixteen paragraphs and three quotes belabouring this point.
MAY
7
Podcast: Prairie Dev Con Recap
The Western Devs reminisce on their experience at Prairie Dev Con and offer tips to speakers, conference organizers, and attendees.
MAY
6
CI with F# SQL Type Providers
Simon Timms
F# type providers are awesome but it took me a bit to figure out how to get them to work with CI
APR
27
Running your app on Windows Server Core Containers
Simon Timms
Getting started with NServiceBus on windows containers
APR
26
GitHub Authentication with ASP.NET Core
James Chambers
Authentication has changed over the years, and my take on it has surely shifted. No longer is it the scary, intimidating beastie that must be overcome on our projects. Today, we can let external providers provide the authentication mechanisms, giving the user with a streamlined experience that can give them access to our application with previuosly defined credentials. Let's have a look at what it takes to allow users to authenticate in our application using GitHub as the login source, and you can check out the Monsters video take of this on Channel 9.
APR
24
FSharp.Data.SqlClient Type Provider Having Trouble Bulk Loading
Simon Timms
Uh oh: Method not found: 'Void FSharp.Data.DataTable`1.BulkCopy'
APR
23
FSharp.Data.SqlClient Type Provider Not Finding Tables
Simon Timms
If the SqlProgrammabilityProvider isn't finding table names for you this might be the fix
APR
18
Prairie Dev Con 2016 Presentation Materials
Kyle Baley
Materials from Death to the Batch Job and Docker presentations
APR
18
Prairie Dev Con 2016 Wrapup
Donald Belcham
Slides and other materials from PrDC 2016
APR
10
Podcast: Thoughts on Microsoft Build 2016
The Western Devs pontificate on the latest Microsoft Build announcements
APR
2
The Monsters Weekly - Episode 20 - 'Docs and GitHub Repos'
ASP.NET Monsters
Join the ASP.NET Monsters for a quick tour of the Documentation and GitHub repos for ASP.NET Core.
MAR
27
Podcast: Diabetes technology
Special guest, Jake Belcham, joins the Western Devs as they review the state of diabetes technology today and what's coming in the future
MAR
23
Idiomatic Iterative Design
Amir Barylko
Lately I have been having fun solving the AdventOfCode. I mainly used Haskell to solve each day so I can learn a bit about Haskell and as a byproduct VIM as well. In the last Ruby Meetup we used Day 7 to illustrate how to use Rantly for properties testing. It was my first try to solve Day 7 using Ruby, and I wanted to find an elegant, idiomatic, short way to do it...
MAR
22
Certificates for Everyone! Let's Encrypt in Azure with ASP.NET Core
Dave White
This may have been one of the most exciting things (from a web site owner's perspective) to happen in quite a while...
MAR
19
Truly Ergonomic Keyboard
Donald Belcham
It was time for a new keyboard and I was looking for something mechanical and ergonomic.
MAR
16
What is middleware anyway?
Simon Timms
I find middleware to be a confusing term which doesn't mean anything or perhaps means everything. Let's figure out what middleware means
MAR
7
Western Devs ♥ Prairie Dev Con
The Western Devs talk about why they love Prairie Dev Con
FEB
29
Using text-overflow:ellipsis with Inline Flex
David Wesst
Two out of three Dave's hit this obscure CSS problem that turned out to be expected behaviour. David Wesst walks us through the reason why and how to fix it.
FEB
29
Podcast: Building developer tools with Igal Tabachnik
We talk with Igal Tabachnik and discuss the finer points of building tools for Visual Studio
FEB
23
Podcast: Developer Productivity
The Western Devs take a break from their collective workdays to discuss developer productivity
FEB
22
JavaScript Framework or JavaScript Core (Part 2)
David Wesst
Is it always better to use JavaScript Frameworks? David continues his analysys and shares the pros and cons of writing your JavaScript from scratch.
FEB
18
I squash my pull requests and you should too
Simon Timms
By squashing your git commits you can make everybody's life better except for Idi Amin
FEB
17
Podcast: Getting Started in Open Source with Adam Ralph
Open source addict, Adam Ralph sits down with the Western Devs to give us tips on getting started in the wacky world of open source
FEB
17
DDWRT and logentries
Donald Belcham
Logging DD-WRT system entries to the cloud
FEB
16
JavaScript Framework or JavaScript Core (Part 1)
David Wesst
Is it always better to use JavaScript Frameworks? David analyzes the pros and cons of using JavaScript frameworks versus only using core JavaScript.
FEB
16
Tips for Speeding Up Visual Studio
James Chambers
People, this is 2016. If you're waiting on your project to build or feel like your IDE is sluggish, it's time to inventory and make sure you have the optimal configuraiton for development rig. Let's talk quickly about the things that make your machine go fast (or slow) and some simple tweaks that can get your builds moving along more quickly.
FEB
13
Podcast: Ergonomics
The Western Devs try to fight off the various aches and pains that come with chatting online all day
FEB
8
Podcast: Azure with Yves Goeleven
The devs track down Microsoft MVP Yves Goeleven in a busy Thai restaurant and talk to him about Azure
FEB
8
Exploring JavaScript Game Frameworks
David Wesst
David reviews a handful of JavaScript-based game frameworks he went through before selecting one for his new game.
FEB
1
Leaving Your Work at Work (When You Work From Home)
James Chambers
Finding success as a remote worker is pretty darn hard. Unless you're a complete natural, you will need to have the perfect combination of environment, corporate trust, family time and personal time. Failing being perfect, you can just take the route I took and try your best to follow a few practices that can help you disconnect at the end of the day.
JAN
31
ProTip: Get a random date in SQL Server
Simon Timms
How to fill a table with some random dates.
JAN
29
Octopus Deploy Gotchas: 400 Error and Can't Create File When It Exists
D'Arcy Lussier
Lessons from setting up a successful Octopus deployment.
JAN
27
Why can't you just communicate properly?
Kyle Baley
Simply follow a few rules to improve engagement
JAN
26
Launching ASP.NET Monsters
Simon Timms
We're really excited about the new ASP.NET Core and the future of ASP.NET in general. So much so that we're starting a specialty site and a bi-weekly video blog all about it.
JAN
24
Podcast: Is Web Development Terrible
The Western Devs discuss whether web development really is terrible
JAN
24
Submitting Your First Pull Request
Dave Paquette
Over the last few years, we have seen a big shift in the .NET community towards open source. In addition to a huge number of open source community led projects, we have also seen Microsoft move major portions of the .NET framework over to GitHub. With all these packages out in the wild, the opportunities to contribute are endless. In this post I will guide you through the process of submitting your first pull request.
JAN
23
Strongly-Typed Configuration in ASP.NET Core MVC
James Chambers
Over the last two posts I worked through the basics of configuration in ASP.NET and how to leverage structured data in your JSON config files. Now it's time to take a deeper look at how to access relevant parts of your configuration throughout the rest of your project.
JAN
22
JSON Configuration in ASP.NET Core MVC
James Chambers
Structured data in earlier versions of ASP.NET meant creating and registering custom types and configuration sections for our applications. In ASP.NET Core and in Core MVC, structured configuration is a breeze with support for JSON documents as the storage mechanism and the ability to flatten hierarchies into highly portable keys.
JAN
21
Configuration in ASP.NET Core MVC
James Chambers
ASP.NET Core MVC introduces a new configuration system that adds flexibility and simultaneously enables cross-platform support (in a way that makes sense on other platforms). In this post we're going to cover the basics of configuration and what you can expect as you look at the project template from File -> New Project in Visual Studio 2015.
JAN
20
ASP.net 5 is now ASP.net Core 1.0, Get Over It
D'Arcy Lussier
What the rename was and why it's the right one.
JAN
20
ASP.net vNext is now ASP.net 5 is now ASP.net Core 1.0
Simon Timms
What the rename was and why it didn't go far enough
JAN
18
Everything You Need To Know About Microsoft Band 2 Battery Life
James Chambers
Including tips on how to keep yours running all week long
JAN
14
Why ChakraCore OSS is Important
David Wesst
It's pretty cool that Microsoft has released the source code of their JavaScript engine Chakra. But, why it is important and how do developers actually benefit from this?
JAN
13
Podcast: 2016 Goals
The Western Devs reminisce on 2015 and look to 2016
JAN
11
Your Work and Your Life are Not Intricately Intertwined
James Chambers
You are always setting expectations. When you answer an email at 10pm, you are setting an expectation. When let a call go to voicemail at 6pm, you are setting an expectation.
JAN
6
Setting Up Octopus Build Task on TFS 2015 On-Prem
D'Arcy Lussier
A step-by-step guide with screenshots
JAN
2
Goodbye Child Actions, Hello View Components
Dave Paquette
In previous versions of MVC, we used Child Actions to build reusable components. Child Actions do not exist in MVC 6. Instead, we are encouraged to use the new View Component feature to support this use case.
JAN
1
Looking Forward into 2016
David Wesst
DW documents and shares his planning session for 2016 based on what he's learned from 2015.
JAN
1
Highlight Reel for 2015
David Wesst
David Wesst takes a moment to look back at his personal and professional development throughout 2015.

> 2015 POSTS

DEC
28
Complex Custom Tag Helpers in MVC 6
Dave Paquette
How to build complex tag helper that are made up of multiple parts in MVC 6
DEC
28
My Hasty Move to Hexo
Dave Paquette
I have meant for some time now to move my blog to something a little more stable. Wordpress is a fine platform but really overkill for what I need.
DEC
28
Migrating from Jekyll to Hexo: Part 2
Kyle Baley
Specific issues we ran into during the migration from Jekyll to Hexo
DEC
24
Merry Christmas!
Happy holidays from the Western Devs
DEC
22
Migrating from Jekyll to Hexo
Kyle Baley
The Western Devs website has a sporty new look and a shiny new technology behind it. In this post, we'll look at the good and bad with migrating from Jekyll to Hexo
DEC
17
SQL Server Aliases
Simon Timms
Ever run into that problem where everybody on your team is using a different database instance name and every time you check out you have to update the config file with your instance name?
DEC
16
Updating Sub-Collections With SQL Server's Merge
Simon Timms
When you get to be as old as me then you start to see certain problems reappearing over and over again. I think this might be called "experience" but it could also be called "not getting new experiences".
DEC
14
Podcast: Barriers for Women in Technology
Special guest Rachel Thomas and the Western Devs discuss the barriers facing women when they enter and when they stay in technology
DEC
11
Continuous Integration With Xamarin.iOS, Visual Studio Team Services, and MacinCloud: Part 1
Lori Lalonde
Recently, Microsoft and MacinCloud announced a partnership in which they have enabled Visual Studio Team Services (VSTS) to support continuous integration (CI) builds for Xamarin.iOS and XCode projects using a Mac build agent in the cloud.
DEC
7
Podcast: The Future of Computing
The Western Devs pontificate on the future of computing
DEC
7
Code - The Visual Studio for Everybody
David Wesst
Last week I delivered three presentations: one at the Winnipeg .NET User Group and the other two at Winnipeg Code Camp. Being as awesome as we are, the user group presentation was recorded and has been published on the YouTube page.
DEC
4
Copy Azure Blobs
Simon Timms
Ever wanted to copy blobs from one Azure blob container to another? Me neither, until now. I had a bunch of files I wanted to use as part of a demo in a storage container and they needed to be moved over to a new container in a new resource group. It was 10 at night and I just wanted it solved so I briefly looked for a tool to do the copying for me. I failed to find anything. Ugh, time to write some 10pm style code, that is to say terrible code. Now you too can benefit from this. I put in some comments for fun.
DEC
3
The Case of the Disappearing Database
Dave Paquette
Something scary happened last week. The database backing my blog disappeared from my Azure account.
NOV
28
Podcast: Geek Gifts
Learn what the Western Devs might have got this year for Christmas if any of them were nice
NOV
25
Podcast: Zencastr
A chat with Josh Nielsen, creator of Zencastr
NOV
20
On Co-Location, Email, and Face-to-Face Communication
D'Arcy Lussier
I broke my own rule – I tweeted a thought as a controversial statement.
NOV
20
Inspiration From MVP Summit 2015
David Wesst
I'm back from the summit and have had a week to digest everything I saw. And now I will share with the top three topics that really stuck with me.
NOV
20
Testing With Data
Kyle Baley
It's not a coincidence that this is coming off the heels of Dave Paquette's post on GenFu and Simon Timms' post on source control for databases in the same way it was probably not a coincidence that Hollywood released three body-swapping movies in the 1987-1988 period (four if you include Big).
NOV
19
Source Control for SQL Databases
Simon Timms
There are a bunch of options for migrating database schema, how can you be sure you've picked the right one?
NOV
18
The Humanitarian Toolbox AllReady Code-a-Thon
James Chambers
I was recently in Seattle for the MVP Summit, one of the best ways to connect to product teams and really smart people from around the world. Every year I get to meet more of the team that builds the tools I use daily, reconnect with peers and catch up with friends. And I eat at Magiano's. But this year, the MVP Summit was trumped in awesomeness as quickly at it came to a close as the very next morning the code-a-thon for the Humanitarian Toolbox kicked into high gear.
NOV
17
Podcast: Interviews and Hiring Practices
The definitive answer on how to hire your next dev
NOV
16
Realistic Sample Data With GenFu
Dave Paquette
Last week, I had the opportunity to spend some time hacking with my good friend James Chambers. One of the projects we worked on is his brainchild: GenFu
NOV
11
Podcast: All About SmartView
An Interview with SmartView founder Amir Barylko
NOV
9
Podcast: Encouraging and Educating Kids
Ways to encouraging and educate kids in the dark art of coding. With special guest Wendy Closson
NOV
7
Stop OSX deleting /tmp so frequently
Simon Timms
Some time ago I lost a podcast recording because I stored it in /tmp. It is a bad habit but I tend to store things that I'm not going to need in the long run in /tmp. It is a throw back to my real Linux days when storage was expensive and I might not be back on that machine for a while to figure out why all the space was used.
NOV
4
Doing Snapshots on Azure Virtual Machines
Dylan Smith
I've always been frustrated that I can't do snapshots when I'm using VM's in Azure. Especially when I'm developing some deployment automation, I like to be able to try something out - and when it inevitably screws up - reset the VM to a snapshot and try again.
NOV
3
ApiController in ASP.NET 5? Nopesauce
James Chambers
If you're developing in ASP.NET Web API you are familiar with the concept of inheriting from the base ApiController class. This class is still around in ASP.NET 5, but it is likely not meant for you to use.  Here's why your cheese has moved.
NOV
3
Markdown in Your MVC 6 Razor Pages
Dave Paquette
What? Markdown in your Razor code? Yeah...and it was totally easy to build too. Taylor Mullen demoed the idea of a Markdown Tag Helper idea at Orchard Harvest and I thought it would be nice to include this in my Tag Helper Samples project.
NOV
3
Mobile App Testing on 114 Devices in 20 Minutes
Lori Lalonde
My day started off just like any other at the office. I plugged in my machine, launched Visual Studio and opened up the latest Xamarin.Android project I had been working on for the client. On this particular day, I had to make a layout change to ensure that the weighting of two different layouts were updated based on a set of conditions. Sounds easy enough, right?
OCT
28
My Favourite Online Dev Tools
David Wesst
I'm talking about online or web-based tools, not toolboxes. So entire development suites like Cloud9 or Visual Studio Online are off the table because they are full tool suites. These tools are simple, but continually help me out in a pinch.
OCT
25
Running a .NET app against a Postgres database in Docker
Kyle Baley
Some days/weeks/time ago, I did a presentation at MeasureUP called "Docker For People Who Think Docker Is This Weird Linux Thing That Doesn't Impact Me". The slides for that presentation can be found here and the sample application here.
OCT
21
Using Java Build Script Tasks in Visual Studio Code
David Wesst
I previously shared how I setup a custom problem matching in Visual Studio Code for compiling Java and displaying the errors inline with a custom problem matcher.
OCT
19
Podcast: Life Outside .NET
The Western Devs discuss working outside your comfort zone
OCT
15
Podcast: Refactor vs. Rewrite
The Western Devs tackle the eternal debate: do we refactor or rewrite?
OCT
14
Custom Tasks for Java in Visual Studio Code
David Wesst
Now that I'm a Java Developer, I no longer worry about the bloating feeling I get when I need to open up the original Visual Studio. Now I worry about opening another instance of Eclipse. Don't get me wrong, Visual Studio and Eclipse are both great tools, but there are plenty of times where I don't need to bring a forklift just to move a single box.
OCT
13
Getting Started With ELK using Docker
Simon Timms
Being able to trace calls through services an be difficult. We need to find some way to gather and aggregate these disparate logs. This is exactly what the ELK stack does.
OCT
13
Layer Already Being Pulled by Another Client. Waiting.
Simon Timms
I've been seeing a lot of this frustrating error when working with docker today. It turns out that pressing ^C when docker is downloading layers is not a good thing. In my case I changed hotspots which broke the download so I hit ^C. There are a couple of issues on github, here and here but basically nobody cares that the docker experience in this scenario is crummy. If you encounter this error it seems the only way to solve it is to restart the machine on which docker is running. If you're running docker against a VM then restarting the machine seems to fix it.
OCT
12
Microservice Sizing
Donald Belcham
As I mentioned in my last blog post (Microservices and Boundaries), I regularly see the question "How big should my microservice be?" The fast answer, albeit not the easy one, is that they should be the 'right' size. In that last blog post I talked about getting the right functionality into the right places (Antel for phone related functionality, Abitab for payment related functionality). There are a lot of people giving a lot of advise about scoping microservices, and I disagree with the majority of it. Here are some of the suggestions I've seen.
OCT
12
Self generating data
Amir Barylko
Every week I meet for Code and Coffee with other devs to chat about all kind of topics (often related to software) and lately we have been doing Katas from CodeWars under the WpgDotNet clan. This time around I was working with @QuinnWilson and @AdamKrieger doing the Highest and lowest Kata using Ruby and RSpec. Is a simple Kata but I wanted to put focus on TDD, self data generation and property testing...
OCT
10
Podcast: Ethics
The Western Devs welcome Lori Lalonde and D'Arcy Lussier to the podcast and discuss ethics in software
OCT
7
Capturing HTTPS Traffic in Java with Eclipse and Fiddler
David Wesst
I've been struggling with a JSON parsing error where my application is using the Spring to send and receive messages from a RESTful Web Service. It's pretty straight forward: I've annotated my object properties to match up with the appropriate JSON keys, Spring takes my POJO and turns it into a JSON string sends the request along with the JSON as the body to the HTTPS endpoint, et voilà!
OCT
5
Yet Another Docker Intro on OSX
Simon Timms
You would think that there were enough introductions to Docker out there already to convince me that the topic is well covered and unnecessary. Unfortunately the sickening mix of hubris and stubbornness that endears me so to rodents also makes me believe I can contribute.
OCT
4
Welcome Lori Lalonde
We're thrilled to introduce our newest member, Lori Lalonde. Lori is well-known to most us through her presentations and on Twitter. She dove right into Slack with us and you'll hear her dulcet tones shortly on our next podcast.
OCT
3
Winner Selector
Simon Timms
A quick tool for picking winners from a list
OCT
1
Podcast: Going Independent
In honour of Botswanan Independence Day, the Western Devs discuss going independent with special guest, Wendy Closson
SEP
29
Microservices and Boundaries
Donald Belcham
One of the most common questions I’ve been getting asked about microservices is “How big?” I was recently down in Montevideo Uruguay speaking at the .NetConf UY Meetup speaking about microservices. As part of my vacation in Uruguay I wanted to get a local SIM card for my phone so that I would have data without relying on free WiFi. At the time I was getting the SIM and making things work it seemed like one of the most frustrating experiences I’ve ever had. Lots of running around, lots of wasted time. Once I got onto the plane home I started thinking about it in a different light.
SEP
26
Don't Let Crud, Corruption, and Communism Kill Your Smart Watch
Tom Opgenorth
I have a Samsung Gear Live. One day, all of sudden, it wouldn't turn on after I had it charging in it's little charging dock. I thought the problem was with the watch, and Google the symptoms led me to one of two conclusions:
SEP
22
Downgrading Windows Phone 10 Technical Preview - The Lowlights
David Wesst
I have to say that I really did like the Windows Phone 10 technical preview. I think that the new phone OS is heading the right direction, and that if you have a secondary device or want to be "hardcore" , you should install it and check it out.
SEP
22
Adventures in Windows IoT Core for Raspberry Pi 2
D'Arcy Lussier
Ever since I won a Raspberry Pi 2 at Microsoft Ignite I've been trying to figure out what to do with it. This week I decided to look at the Windows 10 IoT Core for Raspberry Pi 2 and see what I could do to get something up and running.
SEP
21
Custom MVC6 Tag Helper Samples
Dave Paquette
A group of us who have been exploring MVC 6 Tag Helpers have created a repository of Tag Helper Samples. The repository contains a set of real world samples that can help you understand how to build your own custom tag helpers.
SEP
19
Podcast: Kanban
The WesternDevs try their hand at pronouncing, then describing Kanban
SEP
18
Task could not find sgen.exe using SdkToolPath
Donald Belcham
I spent the better part of this afternoon fighting with this error (and arguing Canadian voting rights with the Western Devs). I was trying to run our project’s build script which uses nAnt and MSBuild to work all the compilation magic we need. There are a lot of pieces of information on how to solve this on the web. Most solutions revolve around "Install Visual Studio 2010", "Install the Windows Software Development Kit for Windows X", or "Turn off the generation of serialization assemblies in your projects/solution". Some of these are just downright scary solutions…others won’t work in my situation.
SEP
16
An Intro to Android Data Binding
Tom Opgenorth
In May, 2015 at Google announced a data binding library for Android. It's long overdue – developers no longer have to come up with their own schemes for displaying or retrieving data from their views. With two-way data binding, it's possible to remove a lot of redundant boilerplate code from the activities and fragments that make up an application.
SEP
15
CrashPlan Tip - Move the cache directory
Simon Timms
I use CrashPlan to back up my collection of computers. It is a great tool and has saved me on a number of occasions. Most memorably was the time that I forgot the password for my comically well-encrypted drive. Restoring from crash plan got me back all the important things.
SEP
11
A discussion on knockout
Simon Timms
It is rare that a day passes on the Western Devs' slack channel that we don't have some lively discussion. Today was my day to rant about knockout.js.
SEP
10
Supporting Options and Arguments in Your dnx Commands
James Chambers
Grab yourself your copy of Visual Studio 2015 and buckle up! Today we're going to create our own dnx command with support for options and arguments.
SEP
9
Podcast: Work/Life Balance
Wherein the Western Devs try to balance work and not work
SEP
8
WesternDevs learn about Docker - Part 2
Dave White
Dislaimer This blog post serves two purposes: Act as a historical record of a conversation with a bunch of interesting links in context, and to share a bit of an insider look at how conversations happen in the WesternDevs slack channels.
SEP
4
Western Devs: Three Months On
Yesterday was the three month anniversary of our first post and while our official first post was on June 17, we're celebrating anyway.
SEP
4
Docker Containers Explained for the Novice
Tom Opgenorth
Over at the WesternDev "consortium" a random discussion broke out about containers: what are they, how are they different from virtual machines, and how do they work. While no means a "container expert", I have dabbled a bit and sought to add some clarity to the discussion. It seems that I made enough sense and so thought I would summarize the dicussion here.
SEP
4
Adding Prefixes to Tag Helpers in MVC 6
Dave Paquette
Some people have said that they would prefer all Tag Helper elements in MVC 6 to be prefixed. I honestly don't see myself doing this but it is easy to turn on if you prefer tag helper elements to be prefixed with some special text.
SEP
3
A Couple of Things About Powershell Remoting
Simon Timms
I couldn't find the answers to these questions readily anywhere on the internet so I thought I would write them down here for the good of mankind. When using remoting as a different user does the target account or my account need to be an admin?
SEP
3
Configuring Features for Many TeamProjects in TFS 2015
Dave White
One of the problems that comes with having multiple Team Project Collections and multiple Team Projects (in TFS) is the administrative burden required to upgrade or manage all of these projects. Security permissions, WIT modifications, configuration are all a 0..n problem so the more Team Projects you have, the more work it is, out of the box, to manage your TFS implementation.
SEP
3
Why Gulp?
Dave Paquette
I recently made some updates to my blog post on How to Use Gulp in Visual Studio. I don't usually go back and update old blog posts, but this one receives a fair amount of daily traffic. There was a minor mistake in the way I had setup my gulp watch and I wanted to fix that to avoid confusion. I also get a lot of questions about why using a task runner like Gulp is a 'better approach' than the way things are done in ASP.NET 4.x. I have addressed some of those questions in the original post but I will go into more detail here.
SEP
3
Upgrading NPM in Visual Studio 2015
James Chambers
Visual Studio 2015 (download here) ships with it's own version of several external tools, such as grunt, node and npm.  If you are wanting to take advantage of newer versions of these tools, you have three options:
SEP
2
Podcast: No Estimates
In this episode, special guest Steve Rogalsky helps the Western Devs understand the #NoEstimates movement
AUG
31
Windows Server Containers Are Coming Whether You Like It or Not
Kyle Baley
UPDATE: April 27, 2017 Much of the information in this post is out-of-date and the links have been removed since they no longer exist. For the latest on the state of containers on Windows, check out the documentation.
AUG
31
Ooops, Repointing Git Head
Simon Timms
I screwed up. I force pushed a branch but I forgot to tell git which branch to push so it clobbered another branch.
AUG
28
Running Process as a Different User on Windows
Simon Timms
Running commands as another user on Windows can be a bit tricky, but this is a method that worked for me.
AUG
24
Using Azure ARM to Deploy a Docker Container
Dylan Smith
If you’ve been following the WesternDevs blog you’ll have seen a few posts lately about our adventures with infrastructure for our blog with Jekyll/Docker.
AUG
24
Podcast: Internal Open Source
The Western Devs sound off on why your company should share and collaborate on its internal code
AUG
24
Docker on Western Devs
Kyle Baley
In a month, I'll be attempting to hound my share of glory at MeasureUP with a talk on using Docker for people who may not think it impacts them. In it, I'll demonstrate some uses of Docker today in a .NET application. As I prepare for this talk, there's one thing we Western Devs have forgotten to talk about. Namely, some of us are already using Docker regularly just to post on the site.
AUG
20
PSA: Setting Up Containers in a VM in Windows Server 2016 Tech Preview 3
Kyle Baley
Windows Server 2016 Tech Preview 3 has just been released and it has container support! There's documentation on it already to do basic stuff and it's easy to follow. So I'm going to repeat it verbatim quickly mention the one and only major issue I ran into.
AUG
15
Change Management - the Missing Podcast
Simon Timms
Some people are really good at computers. I am, apparently, not one of those people. This last Friday we had a fantastic podcast with
AUG
14
Getting Docker running on Windows 10
Dave White
Just a quick post about a couple things I've learned yesterday and today. Docker is now available to run on Windows 10. I'm not going to go into the details as they are better covered in other posts, but I'll share the steps I followed to get Docker running on my Windows 10 laptop.
AUG
14
Azure SQL Point in Time Restore Is Near Useless
Simon Timms
Azure SQL Point In Time restores are so slow as to be near useless.
AUG
14
Writing Custom Commands for DNX With ASP.NET 5.0
James Chambers
If you are a developer on the .NET stack, you've now got access to a great new extension to your development environment. DNX, or the .NET Execution Environment, is a powerful new extensibility point that you can leverage to build project extensions, cross-platform utilities, build-time extensions and support for automation. In this article I'll walk you through the process of building your own custom DNX command on top of ASP.NET 5.0.
AUG
14
Converting .NET 4.6 Projects to the VS 2015 Project System
James Chambers
To take advantage of multi-targeted outputs from our project – allowing our assemblies to be used from multiple frameworks across the organization – we want to upgrade our projects to use the new project system in Visual Studio 2015. Previously, we would have needed a base project and then a separate project for each framework target (PCL, 4.5, 3.5, 4.5.2, etc), but in today's solutions we can have a single project output all of the assets we wish to support.
AUG
12
Setting Up an IIS Site Using PowerShell
Simon Timms
The cloud has been such an omnipresent force in my development life that I'd kind of forgotten that IIS even existed. There are, however, some companies that either aren't ready for the cloud or have legitimate legal limitations that make using the cloud difficult.
AUG
12
Western Devs (and MVP) Found My Spirit Animal
David Wesst
What you're looking at is a lobster, in a ditch, drinking scotch, whose mouth is on fire. That is my spirit animal that was created on the Twitter-verse through the power of the Western Devs, which I would not be a part of had I not become an Microsoft Edge MVP with Microsoft.
AUG
12
Microservices and Isolation
Donald Belcham
In my first post I made reference to the idea of microservice isolation a number of times. I figured that this is as good of a topic as any to start with. The concept of isolation and boundaries is core to how you build your microservices. Let's leave boundaries for another post because it's a complicated and deep concept by itself.
AUG
11
BDD vs TDD
Amir Barylko
Testing is a very important part of software development, but should we do black box testing or test every line of code? How can we find balance between writing the right thing (BDD) and writing things right (TDD)?
AUG
10
Docker on Windows 10 Problems
David Wesst
UPDATE -- Solution Found Another Western Dev that goes by the name of Dave White found a solution and I confirmed that it works. The solution entails using a test build of the new Docker tool suite, so use at your own risk, but it does work! You can find the solution from Dave White here, and learn more about the man himself here.
AUG
7
Running Tomcat Apps on Docker through Eclipse
David Wesst
If you didn't already know, Docker is pretty cool. Not sure what it is? My fellow Western Dev Kyle Baley explains it really well and provides some great cases about why Docker is fantastic. This post is an example of Docker being fantastic and should be considered a warm-up to Docker.
AUG
7
Change Management for the Evolving World
Simon Timms
I've had this blog post percolating for a while. When I started it I was working for a large company that has some internal projects I was involved with deploying. I came to the project with a background in evolving projects rapidly. It has been my experience that people are not upset that software doesn't work so much as they are upset that when they discover a bug that it isn't fixed promptly.
AUG
5
Microservices: A Gentle Introduction
Donald Belcham
This past winter I started working on a project that was being architected with a mind towards using microservices. Prior to this I'd only seen the term 'microservices' floating around in the ether and really hadn't paid much attention to it. I wanted to share what we did and what I learned through the process and my subsequent research. That experience and research has led me to one belief: the microservice topic is massive. This post is going to be a kick-off to a series that will cover that material. With that, let's dig in.
AUG
4
Podcast: The Repository Pattern
Do we really need all these repositories?
AUG
4
Docker Is Coming Whether You Like It or Not
Kyle Baley
I'm excited about Docker. Unnaturally excited, one might say. So much so that I'll be talking about it at MeasureUp this September. In the meantime, I have to temper my enthusiasm for the time being because Docker is still a Linux-only concern. Yes, you can run Docker containers on Windows but only Linux-based ones. So no SQL Server and no IIS.
AUG
2
Casting in Telerik Reports
Simon Timms
Short post as I couldn't find this documented anywhere. But if you need to cast a value inside the expression editor inside a Telerik Report then you can use the conversion functions
AUG
1
Considerations When Migrating Your Blog
David Wesst
I'm talking about small-scale, personal blogs or projects. The word "enterprise" isn't used once to describe any part of the project, yet there are plenty of things I had to consider (or decide along the way) before I completed the migration. Eventually, I ended moving my Ghost blog to a Hexo-based static blog, that is hosted on Github Pages under a new subdomain.
JUL
31
Launching an ASP.NET 5 Application From Visual Studio 2015
James Chambers
If you are trying to use any DNX (DotNet Execution) runtime other than dnx451 (i.e. dnx452, dnx46) you will run into the following error when running the application from Visual Studio 2015, when used with the initial release of the Beta 6 tooling:
JUL
29
ASP.NET Beta 6 Is in the Wild
James Chambers
The Beta 6 release of ASP.NET 5 is now available. Run the following command to upgrade from a previous version: dnvm upgrade After that, a "dnvm list" command will give you the following:
JUL
29
Upgrading Projects to .NET 4.6
James Chambers
The updates in the .NET Framework provide many improvements, including support for new language features in c#, garbage collection, enhancements in cryptography support, feature toggles, new classes in the BCL and others. The RyuJIT compiler adds significant performance gains for 64bit applications, even those not originally targeting the 4.6, improves startup times and can reduce the memory footprint of your application.
JUL
28
SaaS and Commodities
Donald Belcham
I'm doing some work right now that requires us to send SMS messages. The organization I'm working with has never had this capability before so we are starting at ground level when it comes to looking at options. As part of our process we evaluated a number of different criteria on about four different SaaS options; twilio, plivo, nexmo and sendinblue. For reasons not relevant to this post, plivo was the initial choice of the client. We moved from analysis to writing a proof of concept.
JUL
27
Using PowerShell to Set Your Azure SQL firewall rule
Dave White
If you've read a couple of my recent blog posts, you'll see that I've been working in PowerShell a lot lately. I've also been working with Azure a lot lately as well and I'm getting opportunities to put those two things together.
JUL
25
Using IE Automation in PowerShell to Simplify Browser Based Tasks
Dave White
As a consultant, one of the things that I need to do regularly is log into my client's WiFi networks. Sometimes this is a once per month task, sometimes it is a daily task. It was a daily version of this task that made me look into doing this a bit quicker. Opening Internet Explorer (or any browser) and then navigating to the page, typing in all of my credentials, and then submitting the request is a fairly monotonous task, and it isn't very quick.
JUL
24
Getting Your Build Server Ready for VS 2015
James Chambers
If you're modernizing your project, one of the things you'll surely want to do is to make sure that your build server is upgraded to support VS 2015. Regardless of what CI engine you're using, there will be at least a little bit of effort required to get your project building again.
JUL
24
Building a TFS 2015 PowerShell Module using Nuget
Dave White
Update: Unwittingly, I hadn’t tested my Nuget approach on a server with no Visual Studio or TFS installations on it and I’ve missed a couple assemblies that are required when loading the TFS Object model. I’ve updated the line of code in my samples, but just in case, here is the new version of the line in question.
JUL
23
Upgrading a Real-World MVC 5 Application to MVC 6
James Chambers
These are exciting times for web development on the Microsoft stack, but perhaps a little confusing as well. For many years the cycle of moving from one solution and project system to the next hasn't been overly complex. Sure, there have been breaking changes, I've felt those pains myself, but provided the framework you were using continued to live on, there was a reasonable migration path.
JUL
23
Workaround: NuGet Packages Failing to Download in Visual Studio 2015 RTM
James Chambers
I haven't figured out a common theme yet, but certain packages are failing to restore when you attempt to install them from the NuGet primary feed via the project.json file in Visual Studio 2015. Thanks to Brock Allen for confirming I wasn't going insane.
JUL
23
Unit Conversions Done (Mostly) Right
Simon Timms
Thanks to a certain country which, for the purposes of this blog let's call it Backwardlandia, which uses a different unit system there is frequently a need to use two wildly different units for some value. And they have so many people and so much money that we can't ignore them.
JUL
22
Response From Postsharp.net Is Not a Valid Nuget V2 Service Response
James Chambers
After installing PostSharp.net on my machine for a project (I did the MSI install) I started getting errors during the package restore that ended up blocking my builds. They looked a lot like this: Error: FindPackagesById: EntityFramework.Core Response from https://www.postsharp.net="" nuget="" packages="" findpackagesbyid()?id="EntityFramework.Core" is not a valid NuGet v2 service response.
JUL
21
Podcast: DevOps
Continuing the theme of making grandiose claims about vaguely defined terms, the Western Devs take on the Rise of DevOps
JUL
20
Cancelling Long Running Queries in ASP.NET MVC and Web API
Dave Paquette
A lot has been written about the importance of using async controller actions and async queries in MVC and Web API when dealing with long running queries. If done properly, it can hopefully improve throughput of your ASP.NET applications. While async won't solve the problem of your database being a bottleneck, it can help to ensure that your web server is still able to process other smaller/shorter requests. It will especially ensure requests that do not require access to that database can be processed in a timely fashion.
JUL
20
Extracting a Service to Interact With Azure Table Storage
James Chambers
In this series we are looking at the basic mechanics of interacting with cloud-based Table Storage from an MVC 5 Application, using the Visual Studio 2013 IDE and Microsoft Azure infrastructure.
JUL
16
Discussion: Hosting git in-house
We had a good discussion on Slack recently on getting a client up and running with Git. For many, the decision boils down to: GitHub or BitBucket. In this case, the repositories need to be stored in-house. Thus sparking the first debate.
JUL
15
Three Types of Relationships You Need to Survive as a Remote Worker
James Chambers
Getting through your work day on your own is easy enough. Over the long run, though, you're going to need to have some solid relationships in your life to help get you through the rough patches and pick you up from the falls, but more importantly, to be there when it's time to celebrate the wins.
JUL
15
Microservices, or "How to spread the love"
Kyle Baley
For some time, people have been talking about microservices. I say "some time" for two reasons: 1) It's a good opening line, and 2) I have no clue how long people have been talking about them. I just heard the term for the first time about four months ago. So if I start talking about them now, while I still know virtually nothing, I can get at least two more future posts on the subject talking about how I was doing it wrong in the beginning.
JUL
13
Podcast: The Internet of Things
The Western Devs delve into the mire that is the Internet of Things
JUL
12
Microsoft's Clear Message for Canadian Partners
D'Arcy Lussier
I attended the Microsoft Worldwide Partner Conference in 2011 and 2012. Even 3-4 years ago we were hearing about the changing focus at Microsoft. While 2000-2008 was all about winning the platform war (.NET vs Java), 2008 had ushered in the cloud era in the Microsoft world. While Azure's platform as a service seemed front and center, WPC started beating the Office 365 drums. The message from Microsoft was starting to take shape – partners needed to get on board with where Microsoft was going with Azure and Office 365. Those that did would keep the attention and support of Microsoft.
JUL
12
The Changing Winnipeg Technology Consulting Landscape
D'Arcy Lussier
I've been noticing a few things lately here in Winnipeg: Less large custom application development projects More adoption of packaged software More adoption of Software as a Service platforms Organizations wanting control over technology projects, only looking for augmentation roles to fill gaps The commoditization of software developers with broad skills
JUL
8
Sharpening chisels
Donald Belcham
I'm working on a cedar garden gate for our back yard. It's all mortise and tenon joinery which means I make a lot of use of my Narex bench and mortise chisels. The more you use chisels the duller they get. Dull chisels cause you two problems; you can't be as precise with them, and you run the very real risk of amputating a finger. As much as I have two of each finger I really do want to keep all eleven of them. Getting tight fitting tenons requires fine tuning of their thicknesses by the thousandth of an inch. Both of those fly directly in the face of what dull chisels are good at…so tonight was all about sharpening them up.
JUL
8
Podcast: Microservices
In our inaugural podcast, the Western Devs tackle what is either the new hotness, retro SOA, or a flash in the pan: microservices.
JUL
6
Outside the shack, or "How to be a technology gigolo"
Kyle Baley
The world outside is just awesome.
JUL
5
Running your first code camp
D'Arcy Lussier
Thoughts on how to run a one-day, multi-track code camp
JUL
2
MVC 6 Image Tag Helper
Dave Paquette
ASP.NET 5 Beta 5 shipped yesterday and it includes a new tag helper: the [Image tag helper](https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNetCore.Mvc.TagHelpers/ImageTagHelper.cs. While this is a very simple tag helper, it has special meaning for me. Implementing this tag helper was my first pull request submitted to the aspnet/mvc repo.
JUN
30
On UI Testing
Kyle Baley
What happens when 12 people gather to talk about UI testing?
JUN
24
Repository nightmares
Amir Barylko
The Repository pattern is a famous (or infamous?) pattern that we can find in Martin Fowler's Patterns of Enterprise Application Architecture. It was meant to be used as an interface to a collection, but what I have seen more often is that it becomes an abstraction to the data layer or ORM framework. Not so long ago I did a presentation on Who killed object oriented programming, and I mentioned the Repository implementation as one of the culprits. So what's so bad about it? What can we do to improve it? I have a counter-proposal: What if we don't need it at all?
JUN
23
Creating custom MVC 6 Tag Helpers
Dave Paquette
In the last few blog posts, I have spent some time covering the tag helpers that are built in to MVC 6. While the built in tag helpers cover a lot of functionality needed for many basic scenarios, you might also find it beneficial to create your tag helpers from time to time. In this post, I will show how you can easily create a simple tag helper to generate a Bootstrap progress bar. NOTE: Thank you to James Chambers for giving me the idea to look at bootstrap components for ideas for custom tag helpers.
JUN
22
Review - Guidebook, mobile app for conferences/events
D'Arcy Lussier
For Prairie Dev Con Regina I decided to use Guidebook – a service that provides a mobile application for conferences and events along with online administration/content-management tools. If you're running any sort of conference/event, you should definitely check it out! Overall I was really happy with it, only a few minor gripes. Here's my review.
JUN
15
Rethinking our practices with the MVC framework
James Chambers
We get set in our ways, don't we? It's funny how the sharper and more confident we get with our frameworks and the tooling we employ to work with them, we also get a little more attached to our way of doing things. And then along comes a major version change, ripe with breaking changes and new bits to twiddle and we're left saying, "But, that's not how we've always done it!".
JUN
15
Thoughts on building, making, being positive, fearing failure, and smoking meat
D'Arcy Lussier
I was recently gifted a smoker from my awesome Prairie Dev Con speakers – an electric Bradley 4 rack smoker! Upon reading the instructions, I realized that due to the "electronic" nature of the device, it can't just be left outside to the elements like a BBQ can. So I started looking around at custom enclosures people were building and got some ideas. Now, I'm not what you would call a handy-man type of guy. I didn't grow up doing carpentry projects or working on cars or anything like that, but regardless yesterday I built it. Here's what it looks like (still needs stain and one more piece of plywood for the back)…
JUN
12
Conference recap extravaganza!
David Wesst
I've been head down preparing and delivering presentations all over the place for the past few weeks, and wanted to share the latest happenings, along with where you can get your hands on the material if you weren't able to attend.
JUN
10
Getting lookup data into your view ASP.net MVC 6 version
Simon Timms
This is a super common problem I encounter when building ASP.net MVC applications. I have a form that has a drop down box. Not only do I need to select the correct item from the edit model to pick from the drop down but I need to populate the drop down with the possible values.
JUN
4
MVC 6 cache tag helper
Dave Paquette
In this post in my series exploring the ASP.NET 5 MVC 6 tag helpers, I will dig into the Cache Tag Helper. The Cache Tag Helper is a little different than most of the other tag helpers we talked about because it doesn't target a standard HTML tag. Instead, it wraps arbitrary content and allows those contents to be cached in memory based on the parameters you specify.
© 2015 Western Devs. All Rights Reserved. Design by Karen Chudobiak, Graphic Designer