Oh wait, I should probably actually start from the beginning.
WPF (Windows Presentation Foundation)
From the time I was little I always have had a fascination with the web. I think I made my first personal website when I was in third grade. So when I showed up for my first full time job out of college and they declared We do WPF desktop apps here I had mixed feelings. I was happy to have my first real job programming but web was the direction I had always wanted to go.
I was pleasantly surprised though, WPF is a pretty awesome framework. Every UI component is skin-able, it has by far the coolest databinding model I have ever seen, it was fun working with long living objects that had state, etc. I really enjoyed my time working on that project, in fact, I had decided it was my favorite type of programming I had ever done. I loved the feedback of an application with realtime databinding and it was also a pleasure to program. Nonetheless, it was not web programming, and that was where I wanted to go and where I felt the world was going. So I eventually made my way back to web and resolved to leave the thrill of WPF and databinding as no more than a pleasant memory because (as far as I knew) this this type of thing was just not really possible in the web world.
ng- attributes, nested outlets, and a little because I had become brainwashed from following Tom Dale on Twitter!
Where I am now