Shawn Wildermuth


My Rants and Raves about technology, programming, everything else...

What is Wilder Minds?

As many of you have known for a while, I've been running my AgiliTrain training company focusing on technologies like Silverlight, WPF and the Web. My interest in training isn't going away, but I've yearned to work with a small group of thought leaders to help companies in more innovative ways. With this goal in mind, I am launching Wilder Minds.

The vision for Wilder Minds is to be a complete solution for companies who are trying to move to new technologies (like Windows 8, HTML5/JS, Mobile Development, node.js, etc.) Instead of just doing training, we're expanding to help in three primary ways:

Does Silverlight Matter to Windows Phone 8?

right-HERO_MANGO_062411A lot has been made since a report from Microsoft late last week (http://shawnw.me/HPEh0R) that seemed to say that Silverlight on the phone was going away in Windows Phone 8 (Apollo). I liked a lot of what this article had to say (from e-week):

http://shawnw.me/IwMgR2

Quick Tip: Show WinRT XAML Binding Errors

I saw a tip by Tim Heuer on a StackOverflow question about how to show binding errors in the Output window of managed WinRT (e.g. Metro-style) XAML projects. Tim mentioned that:

You get this automatically for C++ applications and for managed applications you have to turn on unmanaged debugging to see them.

Almost One Week with Windows 8

4-1-2012 5-52-53 PMNearly a week ago I installed Windows 8 as my main laptop operating system. I could finally do this once the Windows Phone 7.1.1 SDK update was released (making the Windows Phone emulator work on Windows 8). So I am not knee deep into Windows 8 as a desktop operating system.

NOTE: is that I am using Windows 8 on a non-touch laptop. This means I want to test it as a replacement for Windows 7 on my development machine. This is a particularly important test for the Operating System for me. I've used it on a Tablet for several months now and I really like it. The Samsung Tablet that we were given at Build is a good machine to see how real tablets will be. The lack of apps and battery life make it an approximation of real tablet use for me, otherwise I'd use it a *lot* more!

Modern Web Development - Part 8

shawnsouthparkThis is the eighth of ten parts of this blog post. The topics will be:

Oh Facebook…how do you becoming so insistent on integrating you into every website? Well anyway, let’s show you how it actually works. In this post, I’ll show you how to authenticate an app using Facebook.

When you want to integrate with Facebook, you’ll need the Facebook SDK. Unlike other JavaScript APIs, the Facebook API isn’t a download. The API has some specific peculiar patterns that it requires. But if you obey Facebook, it will (usually) bend to your will. To get started you’ll want to visit the Facebook developer site:

Thwate Intermediate Certificate Fail!

UPDATE: I spelled it wrong, but now that so many RSS readers have it, I won’t change the title ;) It’s spelled Thawte, not Thwate, sorry for the confusion.

I browsed to AgiliTrain (my training company) and noticed that the SSL Cert was failing. Not a good thing. But it wasn’t expired, it couldn’t find the Intermediate Certificates that the issuer requires (I am using Thwate certs). I am not sure why this happens. Unfortunately my old GoDaddy certs didn’t need Intermediate Certificates. My next certs won’t either because it has caused me a lot of wasted time and energy.  Much more than I saved going with the cheap Thwate certs.

JavaScript for the C# Guy: Scopes

roach

Another day in JavaScript land for this  C# guy. I am reading the excellent Professional JavaScript for Web Developers and I am finding more and more that separates the two languages. I know everyone will mention it, but I did read JavaScript: The Good Parts and I liked it but it isn’t as comprehensive as this book.

From my Web Dev for XAML Devs Talk

SpaghettiBabyI had the opportunity tonight to do a talk for the Atlanta XAML Meetup on Web Development for XAML Developers. I had fun explaining how XAML developers can use their existing skills with markup, design, data binding and data access on web page development. You can see the slides from the talk here:

JavaScript for the C# Guy: Function Overloads

dreamstime_1087355089A3Ib17I’ve been writing a lot of JavaScript lately. As a C# guy, I noticed that try and take my knowledge from my time in C# (and C++ and even a little Java) and try to apply it. They are curly braces after all…but alas it doesn’t always work. I’ll learn my lesson one day ;) (though I doubt it).

Lesson for today? Function overloads. Coming from that world I wrote simple code like this:

LESS is More? So is SASS!

pslogoSo my new course is live at PluralSight! If you’re looking to take the 3rd Part of my Modern Web Development article to heart, my new course is just for you!

A Better CSS: LESS and SASS

Modern Web Development - Part 7

Safe Cracking Balaclava Clad BurglarThis is the seventh of ten parts of this blog post. The topics will be:

Before I wax poetically about why to use distributed source control, let me talk about what it is (and why it is different).

Back in the very old days (did I mention I am old?) I would keep my source on a floppy disk and put in a safe every night (no, not 9 track tapes like some of you are thinking..I am not *that* old). This was a way to secure the source in case of disaster…but all it did was keep the source secure. Source control was more than that. Later as I used a myriad of source control vendors (yes, including the dreaded Source Safe), they all seemed to have some common features:

What I do...

codeI’ve heard a lot of people wonder what’s going on behind my privacy curtain. If you follow me on twitter or notice the time of some of my blog posts, you might conjecture that I never sleep. That argument is not completely without merit. But it got me to thinking that it would be good if I wrote a short post explaining the types of things I do.

My work life is split amongst several types of work:

WebAPI and Ninject

Traffic accident and to drivers fightingI will be returning to my 10 part series on Modern Web Development soon, but I have a quickie post that hopefully will help some of you.

In my main project, I am using Ninject to inject dependencies into Controllers. This works really well and I won’t belabor how that works here (see project here for how to get via Nuget and how-tos).

WebAPI for the MVC Guy

Audio and video plugs in handSo as some of you know, I’ve spent a lot of the last year working on a web project. I’ve been using ASP.NET MVC3 and it’s going well. I am at the point where we are creating the mobile apps. I service them, I need an API (which will eventually be available as a public API too). I had started creating using MVC and simple routes but I was urged to look at the new Web API stack that is installed with the new ASP.NET MVC4 installer.

NOTE: To write this blog post, I got a lot of Twitter help from Glenn Block, Darrel Miller and and Rick Strahl!

Modern Web Development - Part 6

mortarpestleThis is the sixth of ten parts of this blog post. The topics will be:

The Problem

Modern Web Development - Part 5

This is the fifth of ten parts of this blog post. The topics will be:

jQuery Plugins

Modern Web Development - Part 4

This is the fourth of ten parts of this blog post. The topics will be:

Debugging

Top 10 Mango Features Article

My new article in DevProConnections Magazine is now live. If you want to see the top ten features of Windows Phone 7.5 (according to me), go see the article now!

If you have any comments, let me know!

Modern Web Development - Part 3

This is the third of ten parts of this blog post. The topics will be:

What’s Wrong with CSS?

The Web Workshop: Client-Side Dev Training

I am excited to announce that I’ve refactored (and renamed) my web-centric training course. The old “ASP.NET MVC/HTML/CSS Workshop” was just too long. It’s now called “The Web Workshop”.

Modern Web Development - Part 2

SpaghettiThis is the second of ten parts. The topics will be:

Working with JavaScript can be daunting. In the past, I’ve seen some projects with just a handful of huge files that become difficult to manage. So in architecting what I needed to build, I wanted to adhere to the idea that there was common code and there was view-specific code. There are two different classes of JavaScript that I care about: libraries (i.e. not my code) and site code (i.e. my code).

Modern Web Development - Part 1

This is the first of ten parts of this blog post. The topics will be:

In the past year I’ve had a side project. FirstInked’s Beta recently shipped and I wanted to share with you what I’ve learned. To start out, I want to specifically thank two people who were really great in helping me formulate the strategies I’ll talk about. They are:

New Cities and New Courses

My company, AgiliTrain, has created its spring schedule and we are happy to announce that we’re going to be expanding with new courses and new cities. Let’s take the courses first.

The Case of the ModelBinding Failure

I wasted an evening last night on a simple bug of mine. I was writing a simple HTML data entry page. I was using JSON + $.ajax to POST data to a ASP.NET MVC controller and it used to work. But for the life of me I couldn’t figure out what was wrong. Let’s start with some background.

Essential Windows Phone 7.5 Ships

A long labor of love of mine has finally been birthed. My Essential Windows Phone 7.5 book is now available for Kindle. You can also pre-order the physical book from Amazon or directly from Pearson. While I’ve been assured that the book is printed, sometimes it can take some time to make it into the retail chain for different outlets. To clear up some of this confusion I thought it would be helpful to tell you how you can get the book depending on which retailer you go with:


Application Name WilderBlog Environment Name Production
Application Ver 1.1.0.0 Runtime Framework .NETCoreApp,Version=v1.1
App Path D:\home\site\wwwroot Runtime Version .NET Core 4.6.25211.01
Operating System Microsoft Windows 6.2.9200 Runtime Arch X86