Shawn

Shawn Wildermuth

The Blog

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


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!

When I set up the Tablet for Windows 8, I just used my LiveID so that I could get the full integrated experience that consumers would get. But since I use domain authentication for my laptop, I was worried about how the experience would be. Luckily, I was able to login easily with a domain account like I figured. But what I didn't realize was that if I link my domain account with a LiveID, I could do pin and picture password. I've been told that authenticating with an Exchange server breaks this, but for me it's working grand! Pin login FTW!

Read...


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:

https://developers.facebook.com

Read...


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.

So the first thing I do when this happens is fire up the SSL Cert Checker that Thwate has:

Read...


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.

This time I ran into the fact that JavaScript scopes are handled very different from what C# developers should expect. In C#, we have block scoping. What this means is that any block (e.g. {}) defines a variable scope so that outer scopes can’t see the variables created inside. For example:

Read...


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:

If you’re interested in the code from the talk, you can get it here:

Read...


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:

function myFunction(one) {
}

function myFunction(one, two) {
}

myFunction("a parameter");

Naively I assumed the calling to myFunction will execute the first function but of course it doesn’t work that way. The execution of the myFunction with one parameter calls the second function. Why? The 2nd function declaration replaces the first with the same name. So that no matter what you call as parameters, the 2nd function will be called. This is because functions in JavaScript do not have signatures, just names. In fact, I could have written the function without any parameters:

Read...


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

“LESS and SASS can style sheets more readable, maintainable and easier to write.”

Read...


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:

While I know some companies still don’t use source control of any kind, most do. For many companies they use source control so that they have control of the source. They know where it is and they can back it up and not rely on developers to secure their assets.

Read...


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:

I own AgiliTrain and we do both public courses as well as onsite face-to-face training. We’re focused on XAML, Mobile and Web Development.

Read...


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).

For me, Dependency Injection (or IoC) is a commodity. Ninject does a great job so I use. I could be using SM, Unity or a host of other DI/IoC solutions and it probably wouldn’t matter too much. So, this is to just short circuit the “Why didn’t you use my favorite IoC” questions.

Read...