Ryan Hayes Ryan Hayes

Ryan is a Microsoft MVP award winner with over eight years of software experience, working with big-name clients such as Discovery Channel, AOL, Toyota, and the National Academy of Sciences. Ryan has helped teams deliver award-winning applications that drive business processes, site traffic, and profit, putting his experience and creativity to work to build amazing solutions for the enterprise web, desktop and mobile platforms.

All articles by Ryan Hayes

 

Personal Branding for Software Developers

I recently gave a talk on branding for software developers at TriJS.  While I didn’t get a chance to record it, I did upload the slides for your viewing please.  The slides are readable without listening to the talk and have a few protips and specific actionable things that you can do to boost your...
Continue reading...  

TDD 0 to 60: How to Introduce TDD to Your Team With No Unit Testing Experience

Does your team use Test Driven Development or even unit test at all?  If you’re like a lot of teams I’ve come in contact with, that answer would be a resounding “no”.   I’m not sure what the biggest barrier is for most people, though I think it’s a combination of the following: “There’s barely enough...
Continue reading...  

Automating the Web with Selenium and WebDriver

I recently gave a talk on browser automation and using Selenium with WebDriver.  Not only that, I gave a demo of using Selenium, WebDriver, xUnit, and creating a fluent API to create a framework that makes tests easy to compose.  Check them out and let me know what you think!  Selenium is a fantastic way...
Continue reading...  

Building a Fluent API in TypeScript

...
Continue reading...  

What I’m Doing /now

This year I’ve decided to focus on a few things to become a better developer, and do things that make more of a difference in my life, my family’s life, others’ lives, and my career, but with less work.  There is no shortage of project ideas that I could explore, places to visit, meetups to...
Continue reading...  

Code This, Not That

Below are the slides from my recent talk at TriJS on JavaScript and replacements for some of the ways we solve problems in JavaScript, and alternatives that are better and less error prone. It’s also got a few interesting bits of knowledge that’ll definitely surprise you, like the truth table…let’s just say JS gets a...
Continue reading...  

Moving from iOS to Windows 10 Phone on the Lumia 950 XL

I’ve been using an iPhone with a Windows PC for about the last 4 years.  Before that it was an Android Phone and a MacBook Pro.  Admittedly, I’m an early adopter and generally like to play with new technology and see how it can improve my life.  I love Windows 10 and the beautiful balance...
Continue reading...  

Announcing Ember.JS and Broccoli.JS Task Runner Extension for Visual Studio

Visual Studio has an amazing task runner that lets you integrate run task-based command line tools into VS’s build system.  This means you can list commands and even set them to run with builds right inside Visual Studio without even touching the command line!  This is great for getting your team using these command line...
Continue reading...  

How To Set Up an EmberJS App Inside of an ASP.NET MVC App

I love Ember. It helps me build fantastic UIs, but security isn’t super straightforward and I suck at it. I love ASP.NET MVC. It help me build secure applications and solid APIs, but for some apps I need a great responsive UI with great interaction. Together, these two technologies can be used together to create...
Continue reading...  

Synchronize Node.JS Install Version with Visual Studio 2015

Visual Studio 2015 is out for download now (and free for individual use)!  It’s been so great to have integrated Grunt and Gulp support, and ES6+ features.  In addition, Visual Studio 2015’s installer has an option to install Node.JS as part of its regular install in order to support the Gulp and Grunt task runners that...
Continue reading...  

NServiceBus: Could not enumerate all types

I’ve recently started using NServiceBus for the first time in a long time.  The initial setup was great, but once I started integrating it into a really large, complex, existing app, it took a bit of re-working.  One of the errors I ran into was a HUGE string of errors all centering around not being able...
Continue reading...  

Ghost VS WordPress (and Why I Migrated Back to WordPress)

A few weeks ago I decided to hop on the Ghost train.  Ghost is a blogging engine, written in Node.js (JavaScript) and is only a little over a year old now, but has a huge backing for how young it is.  In general, there’s a ton of hype around new tools and frameworks in the development community,...
Continue reading...  

Redirect WWW to Non-WWW using the Web.config

By now, most people know that websites’ SEO is dinged by Google when there is both a www and non-www url with the same content on both. Google (and Bing) treat them as two separate sites and they fight for pagerank as everyone else blows your two competing sites out of the water. I’ve had...
Continue reading...  

Use CSS background:rbga to Darken Background Photos For Improved UX

If you’ve been to any new websites lately, you’ll know that parallax scrolling and large background images are incredibly popular right now. They’re great because they are able to help better tell stories, with big, gorgeous photos on the background and relevant text in the foreground overlaying those images as you scroll. In addition, responsive...
Continue reading...  

How Using jQuery’s $.get() Can Cause Subtle Bugs in Single Page Apps

While working with a single page app I inherited the other day, I ran upon a few very subtle bugs where I would save data on the screen and it would update in some places, but look like it wasn’t being updated in others. It was maddening, and it ended up just being the difference...
Continue reading...  

3 Ways to Web Test that will Change Your Life

As a web developer, it’s important to make sure our web apps and sites have a great experience for users no matter what browser they’re using. One of the ways we can do that is adhering to web standards. When we don’t write standards-compliant code and markup, we’re basically betting that all browsers will just...
Continue reading...  

Productizing Software Components

One of the most fun things as a software developer is building really awesome components and APIs that other developers will use.  With the current popularity of Github that capitalizes on this love, and with NuGet, we’ve seen an explosion in the ability for components to become popular and be reused by other developers.  The...
Continue reading...  

[MSBuild output] CSC : fatal error CS2008: No inputs specified

Today I was setting up an automated build using TeamCity and came across an issue where the build of the solution kept failing.  The only reason that was given was this: [MSBuild output] CSC : fatal error CS2008: No inputs specified Turns out that MSBuild actually fails the whole build when you’re running it from...
Continue reading...  

IE11 Brings Long-Awaited, All-New Developer Tools for Single Page Apps

Today at Build 2013, Microsoft announced IE11 that ships with Windows 8.1.  Actually, before I go any further, I want to say that they should have named this release Internet Explorer 12. Like a smart kid that skips a grade in school, this version brings so many features (WebGL!!!!) in compatability, performance and an all-new...
Continue reading...  

How the Xbox One lost me, and then won me back with 24-Hour DRM and the cloud.

I love my Xbox 360.  Or, 360s, I should say.  I’ve had 4 over the last 8 years with some dying and some traded in for newer models.   I’m an Xbox fan, but mostly, I’m a fan of technology and progress (and my PS3, too).  I love console release years because of all the...
Continue reading...  

IE10 on Windows 7: Happiness for the Web

Today is a great day for the Web.  IE10 has officially been released for Windows 7 (Sorry, XP, you’re what, 12 years old now?).  This release will play a significant role in getting the majority of the web up to the latest version of Internet Explorer, which is THE release we’ve been waiting for as...
Continue reading...  

Thoughts on Internet Explorer in 2013

Recently I was re-awarded for my third year as a Microsoft MVP for the IE category focusing on web development.  I occasionally joke (no offence, IE team!), that IE is the least fun category for an MVP.  IE takes a lot of flak over its history of IE6.  The internet is riddled with folks who...
Continue reading...  

Startup Weekend in Johnson City, TN – Nov 16-18, 2012

The thing I love about Startups is that it’s the combination of two things I enjoy: technology and business.  I’m excited to announce that I’ll be acting as a coach and mentor for the event!  Startup Weekend coincides with Global Entrepreneurship Week, where events will take place all over the world to help educate people...
Continue reading...  

How To “Completely” Set-Up TypeScript in Visual Studio 2012

So for the past couple days, I’ve been deep into TypeScript, which is a super-set of the Javascript language that adds optional typing, classes, and module support in addition to standard Javascript.  I’d recently been checking out Dart, from Google, as a way to write Javascript-intensive applications in a way that multiple humans can write code and...
Continue reading...  

5 Ways To Build A Startup On the Microsoft Stack for FREE (make money before you spend any).

When you think about building a startup in your spare time, one of the biggest barriers to that, particularly if you’re a .NET developer is that you’re going to have to spend a lot of money to purchase Visual Studio, servers, subscriptions to payment gateways, and more.  It’s easy to buy into the perception that...
Continue reading...  

The Top 5 Best Visual Studio 2012 Features

I love Visual Studio releases.  I remember when 2005 came out when I was in college, and while everyone else was writing their projects in C++, I was using C# and VS 2005.  I asked my professor if I could write my programs in C# (this was an architecture class where the apps could be...
Continue reading...  

Why You Should Build Your Website Using Static .html Files

If you’ve got a website, then chances are it’s built using a CMS.  You know, WordPress, Orchard, Joomla, DotNetNuke.  Why wouldn’t you?  They let you manage all your content on nice admin screens and PHP, ASP.NET, or whatever serverside technology your CMS is built on will magically and dynamically create your website pages every single...
Continue reading...  

Automating Daily Status Reports with Project Server and Team Foundation Server

In the past, I’ve had managers who have asked me for a daily status report of all of the items I’ve worked on during the day…every single one.  They essentially said if it’s not documented that it didn’t happen.  With all the tools we have available to us as developers, there should never actually be...
Continue reading...  

ShoelaceMVC, My Newest Open Source Project – ASP.NET MVC 3 Starter Project for Building Fast AND Production Quality Webapps.

I recently came to the conclusion that I needed a MUCH better starter project for building ASP.NET MVC applications.  You see, I’m not a designer.  I just don’t have those skills.  I can make things look good in my head, but I can’t translate that to Photoshop and then to CSS attributes.  Then one day...
Continue reading...  

Will XNA be available in Windows 8 Metro Apps?

One of the big things I’ve seen flying around Twitter lately is the question of whether or not XNA is being depricated or faded off into the sunset or whatever.  I can understand how if you base your entire career on a single technology this might be scary, but remember that XNA isn’t available in...
Continue reading...  

How to get some of Visual Studio 11's new tools TODAY in Visual Studio 2010

So much has come out this week at //Build/ that it’s hard to keep track of everything. For developers, the big thing is the first preview of Visual Studio 11 and the new SDKs and tools that go along with it. As you download the tools from dev.windows.com or your MSDN subscription, you may or...
Continue reading...  

A first look at Codename: Windows 8 OR "Will there be Silverlight in Windows 8?"

Today at D9, Microsoft opened up about Windows 8 with a bang.  Not only does does Microsoft FINALLY have a viable operating system for tablets/slates, but they also announced that the gorgeous new Windows Phone 7/Xbox 360 UI will heavily leverage HTML 5 and Javascript.  This really comes as no surprise since IE9 has hardware...
Continue reading...  

"Conversion to Dalvik format failed with error 2" with Android and the Team Foundation Server 2010 Eclipse Plugin

Recently I’ve been working on an big Android application where I work set for release later this year.  It’s going to be a great help to employees and distributors in the field letting them do all sorts of things they normally need to be at a computer for.  I’m using my Macbook Pro to do...
Continue reading...  

Visual Studio 2010 ASP.NET MVC and C# SaaS Starter Kit

One of the best ways to learn how to code well is to read code and write it (imagine that!). Luckily, with Visual Studio, Microsoft has graced us with tons of Starter Kits that are free to use.  Starter Kits are pre-packaged project templates that are usually completed websites that you can build on top...
Continue reading...  

Using DataAnnotations with Entity Framework 4 Entities for a More Dynamic MVC Model

I’ve been working with MVC3 and Razor lately.  It’s been absolutely great.  I’ve not used MVC to build a production app until now, and it’s been killer fast building things out quickly.  Previously, I’ve just used regular old objects like are in the starter projects to play around with my applications as the “M” in...
Continue reading...  

Periodic Table of the HTML 5 Elements

Have you heard?  HTML 5 is out!  (er, is coming, depending on how you see things).  It’s still a work in progress, but you can still use HTML 5 now with many of the new browsers.  What does that mean for us as developers?  New things to learn, of course!  New techniques, new designs, but...
Continue reading...  

SharePoint 2010 People Search: No Results Found While Forcing Secure (SSL) Sites

Recently, I had a problem with SharePoint 2010’s people search.  It stopped working, particularly after the network guys set us up with auto-forwarding http:// requests over to https://.   Once that was set up, it broke the search.  We couldn’t get any results to come back for the regular search or people search.  Turns out you...
Continue reading...  

Microsoft MVP Award Announcement

A couple days ago I woke to receive this in my inbox: Congratulations! We are pleased to present you with the 2011 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Internet Explorer technical communities...
Continue reading...  

How To Fight Back Against "Stopping Point Syndrome"

Do you have Stopping Point Syndrome? I didn’t know that I had it until I read a recent post on Programmers.SE about how someone just couldn’t find a stopping point and would work into the night or until he passed out.  In essence, it’s when you want to wait until you get to a good...
Continue reading...  

Visual Studio 2010 SP1 brings Intellitrace to x64 and SharePoint 2010

Visual Studio 2010 SP1 Beta is out for MSDN subscribers, and brings great new features for everyone – not to mention SharePoint development.  If you’ve used Intellitrace to step backwards through your code to debug tricky situations that require more context, you know how awesome it is.  Unfortunately, that’s not available for x64 bit and...
Continue reading...  

Free, Automated WordPress Backup Using Dropbox or Any FTP Site

I recently just migrated my blog from Tumblr to my own WordPress install.  So far, things have been great.  I love having everything in one place – from my blog to my CV.  The only problem with this, however, is that if something should happen, I’d lose everything!  That’s not a good place to be....
Continue reading...  

JavaScript Best Practices for Increasing Website Performance

If you’ve done any web development before, you’ve probably had to work with JavaScript.  It’s the secret sauce that makes the web come alive and has in recent years gone from a language that was looked down upon as 3rd rate to one that is taking the web by storm.  With AJAX and JQuery the...
Continue reading...  

Introduction to SharePoint 2010 for Developers

I recently gave a talk at the local .NET User Group in Kingsport, TN on SharePoint 2010, generally what it is (for those that have never used it), and all of the features that are available to developers in this newest version.  Right off the bat, the best thing about it is that you can...
Continue reading...  

How to Build an RSS Feed Reader in Windows Phone 7 – Part I: Retrieving, Parsing, and Displaying Post Titles

Read along as we write a simple RSS reader for Windows Phone 7 using the secret, ready-made syndication libraries in the .NET framework....
Continue reading...  

How To Install SharePoint Server 2010 RTM on Windows 7

If you’ve developed for SharePoint in the past, you know how painful it is to have to do all development on a Windows Server machine. In this article, I’ll show you how to get SharePoint 2010 up and running on your Windows 7 development box....
Continue reading...  

"Enabling SessionState for SharePoint 2010" OR "This report failed to load because session state is not turned on."

SharePoint is a configuration nightmare.  There are so many settings that the more configuration settings you learn, the more you learn there are more settings that you’ve not even discovered yet.  For reporting, and specifically for me, running reports under an Issue Tracking site, SessionState must be turned on for the SharePoint 2010 web application....
Continue reading...  

CodeRush Shortcuts/Templates Cheat Sheet Printable PDF Download

I love CodeRush.  When I was looking at a productivity plugin for Visual Studio, I basically had two options: CodeRush+Refactor! Pro or ReSharper.  I eventually picked CodeRush for the visualizations, code-from-scratch productivity boosters and templates, and extensibility.  As with anything, it takes some getting used to the shortcuts inside CodeRush to really become effective using...
Continue reading...  

My Introduction to Developer Productivity Tools: DevExpress' CodeRush

I recently started doing an evaluation of JetBrains’ ReSharper and DevExpress’ CodeRush.  Both are developer productivity tools for Visual Studio that give you code templates (shorthand notation that pumps out full sections of code), refactoring tools, code metrics and analysis, and much more.  I had been contemplating getting ReSharper (R#) for a while now as...
Continue reading...  

How To Sync Multiple Outlook Calendars and Google Calendar Using Google Calendar Sync

One of the most annoying things that I had to face when I got my Android phone was the calendars.  Android uses Google as the service behind email (gmail) and its calendar.  I, like many of you, use Outlook as my primary calendar, since it has all of my meeting requests built-in with it.  In...
Continue reading...  

Why Math is Important for Software Engineering (Even if You Never Use it Again)

Math is important.  No, really!  I’m not just talking about that 2+2=4 stuff.  I’m talking about the big stuff.  The Cal III type stuff.  The problems that keep you up all night long.  The problems where the professor gives you 5 problems on Monday to do in a week and you say “Oh, shoot, 5...
Continue reading...