codefoster blog resources contact

A Month of Soylent

I've been one month on nothing (almost) but Soylent. Let me tell you why, what I think so far, and where I plan to go with this.

Saving Your Code Settings and Snippets

Are spending some time accumulating the best snippets and settings for Visual Studio Code? Now you want to pave your machine or work on another one? Yeah, me too, and I don't want to lose my settings or go through the work of backing them up. What am I, a caveman?

npm Erroring Out on Windows 10 Fast Ring Build 14367

I'm getting an error trying to run npm on Windows 10 14367.

The Most Basic Way to Access GPIO on a Raspberry Pi

I'm always looking for the lowest level understanding, because I hate not knowing how things work. On a Raspberry Pi, I'm able to write a Node app that changes GPIO, but how does that work? Turns out it's pretty interesting. I'll show you.

Accidental Old Version of Node on the Raspberry Pi

I beat my head against a wall for a long time wondering why I wasn't able to do basic GPIO on a Raspberry Pi using Node. Even after a fresh image and install, I was getting cryptic node error messages when I ran my basic blinky app. Lucky for me (and perhaps you) I got to the bottom of it and am going to document it here for posterity.

Easy and Offline Connection to your Raspberry Pi

Getting a Raspberry Pi online is really easy if you have an HDMI monitor, keyboard, and mouse, but what about if you want to get connected to your Pi while you're, say, flying on a plane?

Index of my Raspberry Pi Posts

This post will serve as an index to everything I've written about using the Raspberry Pi for fun IoT hacking.

Wifi on the Command Line on a Raspberry Pi

How to configure wireless connections on your Raspberry Pi from the command line.

Deploying TypeScript Projects to Azure from GitHub Using Continuous Deployment

When you're working on a TypeScript project and deploying to Azure, when do you transpile? What do you transpile? What do you check into source control? Let me show you how to do this on Azure.

On the New Mongo Capabilities in DocumentDB

I just started playing with the new Mongo protocol compatibility of DocumentDB and I think I love it!

Make Git Wait for Code

There's a certain trick to get Git to wait for Visual Studio Code when it's launched it as a text editor. Allow me to explain.

Developer Reactions to Build 2016

Microsoft Evangelists enumerate the exciting announcements from Build 2016.

Building Things Using Fusion 360 and JavaScript

Fusion 360 is a modern CAD program by Autodesk. It has a JavaScript API that you can use to do programmatically most of the things you might do with your hands on your keyboard and mouse. I find that very cool, let me explain.

Extensible Code

Visual Studio Code is an awesome, light, fast, versatile and as of recently extensible code editor from Microsoft. The ability to write extensions for Code is a massive addition and really increases the IDE's productivity.

VS Code Goes Open

This is big news. Visual Studio Code, the relatively new, extremely light and powerful code editor from Microsoft is now open source.

Moving Desktop and Downloads to OneDrive

Have you moved your entire documents folder into OneDrive? Did you know you can even direct your Desktop and Downloads folders in Windows to go to OneDrive?

Seattle Code Camp - It's a Doozy!

Seattle Code Camp is coming up. How do you beat an event where everyone comes together to talk about code? That's right with a FREE event where everyone talks about code!

Configuring a Custom Domain Using Namecheap and Azure Web Apps

These are the steps to point a custom domain registered on to an Azure web app. I always forget what the particulars of this process are, so this blog post is for future me.

The Simplest Node Website

Here's why I like Node... a three line webserver/website.

Hail Bridge Mode

Bridge mode allows me to create a new wireless network for Airbnb guests.

Help Me Design a Candy Dispenser

This is a broad cry for help. I am trying to design a candy dispenser and need more brain power than I've got... specifically, I need YOUR brain power.

What's New in Azure

Don't miss the gigantic "What's New?" tile in the preview Azure portal!

Visual Studio Code

Some little, loveable features I've discovered about the new Visual Studio Code IDE.

3D Printed Tiny Sea Creatures

The other day I used a FormLabs Form 1+ lithographic 3D printer to print some tiny sea creatures. Here's the result.

Presentation at ASB

Today I talked to middle school students who already have enough ambition to join the Code Club at their school, stay after hours, and learn about writing software. Kudos to all of you students, and good luck learning about software. Here's a summary of what we talked about for your reference.

Command Monkey

Learn to command IoT devices with the power of your voice and JavaScript from end to end. We'll start with Cortana integration to a Windows Phone app running JavaScript, then we'll build a simple Node.js service, then use the power of web sockets to push messages down to the waiting monkey. A pretty cool code path if you ask me.

Windows Phone Emulator on Windows 10 TP Build 9926

After upgrading to Windows 10, I wasn't able to run the Windows Phone Emulator. Here's the fix.

SnagIt 12 Tip

I recently bought the latest version of TechSmith's awesome SnagIt program and I just want to share a quick little tip that really improves my life.


A short, philosophical rant about the nature of the very popular, modern maker movement.

PowerShell Profile That Enables Posh Git and Azure

Take a little time out of your day to sharpen your axe. In this article, I'll talk about how to create yourself a PowerShell profile that persists through system reloads because it hard links to your OneDrive folder. I'll also show you how to sprinkle some code into your profile that allows you to use a standard PowerShell window to call Azure commands and to get full Posh Git integration. No more opening the Azure PowerShell or the Git Shell. Just open PowerShell.

A Simple Model using Fusion 360

...and codefoster waxes ineloquently about the future of 3D modeling and printing. I'm still a baby when it comes to Autodesk Fusion 360, but that's not going to keep me from showing you the basics. I guess you could say I learn by teaching :) In this video, we'll create a very basic model, and I'll use the opportunity to introduce you to a few basic concepts in this very cool 3D modeling software.

Jack in the Box

I just had a new boy and his name is Jack. This is the story of how I made his first crib.

Microsoft Exam 70-532 Study Guide

I'm currently studying for Microsoft exam 70-532. Here's how I study and a copy of my study guide for you.

Tweet Monkey!

Tweet Monkey is an ultra simple IoT project. The hardware is simple. The software is simple. The entire concept is easy and familiar. The goal here is to give folks a great entry point into the exciting world of Internet of Things projects. Enjoy!

This Week on Channel 9

I recorded This Week on Channel 9 with Steve Seow this week

Using Visual Studio to Write Node for Devices

You can write Node apps and put them on devices and watch cool stuff happen, but you can dramatically simplify the process if you employ Visual Studio as your editor. We'll look at the many productivity benefits of the IDE, we'll see how to use Gulp to deploy and run our app, and we'll see the awesome power of remote debugging.

The Intel Edison

An index of my articles regarding the Intel Edison.

Writing JavaScript for an Intel Edison

Learn how to writing robust software using JavaScript for an Intel Edison device.

Taking Twitter by Stream

Twitter says "Don't call me. I'll call you" with their streaming API.

Open Existing Node.js Project in Visual Studio

It's easy enough to create a Node.js project in Visual Studio using the Node.js Tools for Visual Studio, but what about creating a new project when you already have the Node.js project?

Project GoChute

Have you ever wanted to take an aerial selfie from REALLY high up, but can't afford a drone? Try a GoChute.

Setting up an Intel Edison

This is a guide to getting started with the Intel Edison.

The Azure CLI

The web portal for managing your Azure subscription and all of your services is very powerful, but more powerful still, IMHO, is the ability to quickly do everything you want right from a command line using node.js and very short, intuitive commands.

I had one gripe with the Microsoft Band... Now I have zero.

For the most part, I've loved the Microsoft Band I bought the day they went on sale. There was just one little thing I didn't like, and I've recently discovered that it's not a problem.

The Place for Styles in HTML and XAML

The HTML and XAML UI languages treat styles a little differently and you may be left wondering which is best... which is right. Let's have a look.

Things a Web Developer Should Have Memorized

There are a few things that are critical to the day to day function of developing for the web platform. Here's a run down of the ones that come to mind.

12 Things to Do Before You Start a Presentation

A lot of us are not only writing code, but we're standing up in front of our peers - either virtually or in the flesh - and we're talking about writing code. Before I give a presentation, here's what I do to be sure my system is rock solid and ready to go. It doesn't always work, but it's pretty good insurance.

Recursion Plain and Simple

Recursion is the simplest and most complex of topics. Let me explain.

Web API or WCF... Which Way to Go?

Perhaps you have some experience garnered with Microsoft hugely capable WCF (Windows Communication Foundation) but you've been seeing a lot of chatter about Web API. Which direction to go? Let me see if I can help.

App Images

Images to represent your app are very important, because they're often the first thing a potential user sees and the first opportunity to convince them your app will add value to their day.

I'm On a Boat

This is a scheduled blog post. I'm currently on a boat.

Git Cheat Sheet

A PDF Git cheat sheet for the masses.

Acquiring Images Without Committing Plagiarism

Bing and Google bring back image license information that you can filter on... you know, to avoid being a thief.

One Strong Case for Windows RT

Windows RT has never pretended to be the power house that Windows 8 is, but still some people get a little worked up about it.

OSCON 2014 in the Rearview Mirror

A chat with Olivier Bloch from Microsoft Open Technologies at OSCON 2014.

Top 5 Things C# Developers Hate About JavaScript

Many C# Developers have a hard time loving JavaScript, and some number of them downright loathe those days when the next story in the queue involves some client-side scripting. As I see it, there are 5 big reasons why.

10 Most Overused Tech Terms

There are a few words that have caught on in the tech world, but if you're in marketing right now and pondering printing a poster with one of these words on it, please reconsider.


codeShow is a app for learning to make apps. It's very meta in that way. The whole project is an open source project with community contributions. Use it to learn the web platform and Windows app development.

Tapping Into Your Localized Resources Using JavaScript

Many developers (hand raised) are neglecting to take advantage of other cultures and thus other markets and thus other revenue streams by simply implementing localized resources in their app. It's simple enough to add your data-win-res in your HTML, but what about when you need to do the same thing from JavaScript?

Free Microsoft Oakley backpack

I'm giving away a Microsoft branded Oakley backpack to a random person that leaves a comment to this post.

Windows Phone Keyboard

The software behind the keyboard on my Windows Phone astounds me.

Microsoft's Vendor Specific CSS Prefixes

It's not as easy to discover the browser functionality offered by vendor prefixes as it is the standards. Let's have a look at the Microsoft prefixes (-ms-).

A Grand Voyage

I'm fixing to sail off in a 38' boat.

That Was Good... This is Better

I am launching a new version of and I'm using BetterCMS for the content. I'm always thrilled with a new system when I first plug it in and this is no exception. I think, however, that I'm going to like this one a lot longer and a lot more.

Bring it on OSCON!

I'm going to OSCON in Portland this year. Are you? In the article, I'll enumerate a few of the technologies that I think are hot and worthwhile and likely are going to be the sessions I'll tweet and write home to mom about.

Introducing CodeChat

Introducing CodeChat. A new weekly polycast by codefoster.

The Semantics of HTML and XAML

HTML is less verbose than XAML, but it's often times harder to figure out what's going on with a bunch of div's on the page. How do you determine by looking at your HTML what's going on with the styling? Shouldn't it be more like XAML - easy to read?

App States and Activation Kinds

The difference between PLM and ALM and an introduction to the various possible states of a Windows app.

The Why and How of DreamSpark

Microsoft loves giving software away to students.

How to take a nap

Sometimes the most productive thing you can do is take a nap.

Don't make your app boil the ocean!

As developers, we like to solve hard problems, but sometimes it's the simple ones that end up really helping (and attracting) end users.

8tracks for Windows 8

An interview with Paul Tidwell about his awesome 8tracks app for Windows.

Why Azure is Running the Sochi Olympics and Not AWS

Azure is running the media for the Sochi Olympics and with good reason. Azure delivers powerful services that go well beyond mere infrastructure.

App Dev Entry Points

Sometimes the hardest part about getting started with app development is knowing where to start. Here's my take on the entry points.

What's Microsoft Doing for Students?

Microsoft is huge on students. Here's an attempt to enumerate the offerings you might want to check into if you're a pupil.

Microsoft Insights

Looking forward to a nice little chat about Microsoft Learning opportunities with fellow technologists.

Where to Start

Which monitor do you want your Start Screen to appear on?

Death of the PC... I Think Not

It gets a little old hearing people stereotype and pigeonhole PCs and call for their demise. It's not entirely right or wrong. It's just entirely cliché.

Giveaway - Prometric Exam Coupons

The Design of Rustic Citrus - Interview with an Indie Game Dev

Rustic Citrus is a groovy word game for Windows 8.

Student Resources

Create Something

Game On Events

My Q&A with Indie Game Dev Studio, Random Salad

A couple of young, indie game developers offer up an interview and an opportunity to learn how you too can get into game development.

Going Paperless

It's been the goal for a really long time - let's get rid of paper and live digitally. Well, how are we (people... humans... earth dwellers) progressing and what more can we do to get there?

Windowing in Windows 8.1

Learn how to control the window that your modern app appears in and how to control it using not only touch and mouse, but even keyboard.

Easy Caching in WinJS Apps

Sure you can set up official caching, but you can also use this little feature of WWA (Windows Web Apps) to just take care of it for you.

Extending that Splash Screen

It's all about giving the user a good experience and getting off of that static splash screen as quickly as you can is a big one.

Did you know about Microsoft HomeOS?

An operating system for your house.

Let's Go MoDev!

Mo is for mobile. Dev is for development. Put it together and you've got a conference in Seattle for all things mobile development.

Zen Coding

The All New

Woohoo! Welcome to the all new website.

Cutting through the noise

As an application developer, you're trying to communicate with your users in a sense. Not so much like an author is, though. An author can only communicate information, ideas, and the like, but an app developer can communicate behavior as well as information. You have the opportunity to make your users feel empowered as well as informed.

Prometric Exam Giveaway

5 Ways to Be Effective

Children of the Nations

UW Seattle Student Appathon

App Art

CorelDRAW App Tile Template

A CorelDRAW file that will get you started making visual assets for your app in no time.

Push Notifications for Specific Users

Ready to start developing for Windows 8?

Content for Boise Code Camp

Azure Websites

I'm all in on Azure now.

Code for CSS for Windows 8 App Development

Loading States of the WinJS.UI.ListView

Your First Game in YoYo GameMaker

7 Reasons I Still Love JavaScript

For many reasons, I still love developing Windows 8 apps using HTML, CSS, and JavaScript. I have extensive C# experience and always want to be able to say "I'm a C# developer", but I'd like to add that "I'm a JavaScript developer" as well

Stayin’ Alive

CSS for Windows 8

Unintentionally Open Source?

Another app in the Store

codeSHOW is now in the Windows Store!

Reduced Discoverability in Windows 8

Source Media

This is my index of good and mostly free images, video, audio, fonts, etc. I end up referencing this post all the time. I hope you use it as much as I do :)

The Escalator Ride

Buy an app for the whole family

Anatomy of a Push Notification

The Flexbox CSS Standard

Gen Appathon Design Slides

MCSD HTML5 Exam Offer

Box Sizing

The Book to Buy for Learning WinJS

Try Unsnap

Allowing the user to get your app out of snap mode.

Gen Appathon!

Giveaway: Gears of War 3 for Xbox 360

Thirty Nine Fourteen

Well done, Telerik

Super Simple Swipe Sections

Event Handlers in a Windows 8 App

Windows 8 Developer Community and Resources

Storage in a Windows 8 App

Using WinJS.xhr to Fetch This and That

Query Your DOM

Jump Start Your Brain

Dyyno's Journey - Developing an App for Windows 8

Data Presentation

Referring to Package Files

Seattle Give Camp just around the corner

Snap to Your Tiles

Implementing the Settings Contract

msMatchMedia: programmatic access to media queries

But WHY do we pan horizontally?

Horizontal Panning

Windows 8 App Bar Icons (from Segoe UI)

Getting Windows Device Info

How to programmatically retrieve information about the hardware available to you in Windows.

Learn Windows 8 Development in Your Underwear

Windows 8 2-day Camp - Content

ReSharper 7 is Released

A JavaScript Library for Everything

One of my favorite things about JavaScript is the plethora of code that's already been written in the form of JavaScript libraries, and most of them are free and have awesome names.

BlockMover Sample from Jake and Sam

Random Tile Colors

How the WinJS.UI.ViewBox Actually Works

Windows 8 App Design Sheet

Metro Design by Blink Interactive

How to Make Your Grid Pan Automatically

Using Promises

One Sweet Stack

Page Navigation in Windows 8 JavaScript Apps

Fast Refresh... Nugget!

A Metro Netflix Browser in HTML/JS - The Hub Page

How to do Semantic Zoom in an HTML/JS App

When to Use ViewBoxes and FlexBoxes

The Ocho

Microsoft vs. Apple: Differences in Tablet Philosophy

All Windows 8 Quickstarts

Windows 8 Keyboard Shortcuts

Giveaway: Visual Studio Windows Decals

Metro Fridays

Art Matters

The Counter Principles of Metro Style Design

I give you my word...

Update on ReSharper 7 EAP

Long Weekend

iPazzPort Giveaway

Windows 8: Top 10 Reasons Why I Choose HTML5 Over XAML

Windows 8: Building Up to Blank

Good Design for App Bar Button Placement

App Accelerator Resources

Windows 8 Camp Content

Get An App Into the Windows 8 Store

Query Selector Helper for Metro Apps

A Primer on LINQ and Lambda

Get That WinRT Documentation Local

Windows 8 "Rails" Panning Mode

Overview of Windows' New Architecture

Which Windows 8 Language Stack Should I Choose?

Ban the #Region

Big Windows Developer Event in LA!

Blend: Design, Execute, Interact

A Tour Through the Windows 8 Documentation

Creating an Observable Object in Windows 8 JavaScript

Design Before You Develop

Save New Projects When Created

Snippets Overview in VS11 and ReSharper

Visual Studio 11 Ninja Skills

Creating a Timer in Windows 8 (C#)

Insert Formatted Code into OneNote

Yay, Syntax Highlighting

So Many Ways to Search in Visual Studio 11

ReSharper 7 EAP in Visual Studio 11