Video – TypeScript: Angular 2’s Secret Weapon

I had the awesome opportunity to speak at ng-conf (one of my favorite conferences) about TypeScript and some of the key features it provides that are used in Angular 2. While several of the features covered are available (and have been available for years) in server-side languages such as C#, Java and others, developers accustomed to writing browser-centric applications haven’t been able to leverage these features in the past. TypeScript provides a great way to take advantage of ES6 features while also providing support for some of the features I discuss in the talk such as interfaces, generics, type support and more. Angular 2 is […]


Yet Another Podcast Interview: TypeScript and Angular 2

I recently had the opportunity to chat with my good friend Jesse Liberty on his Yet Another Podcast show about TypeScript and the role it can play in JavaScript-centric applications. We talked about the benefits that TypeScript offers (much more than just strong “types”) as well as how TypeScript fits into the overall Angular 2 picture. Jesse’s an experienced podcast host who asks great questions and makes it easy to chat about any subject – TypeScript in this case! You can listen to the interview here.  


Angular 2 Workshop in Barcelona July 31st, 2016

I’m excited to announce that John Papa and I will be giving a full-day Angular 2 workshop in the beautiful city of Barcelona on July 31st, 2016! John and I are both really excited about the opportunity to come visit Spain and look forward to sharing our knowledge, expertise and passion with everyone. Read on to learn more about the workshop and what we’ll be covering.   What? Learn Angular 2 Where? University of Barcelona When? July 31, 2016 (9 am – 4 pm) Who? Learn from  John Papa and Dan Wahlin How do I Register? Register Here There are a limited number of […]


New Pluralsight Course: Docker for Web Developers

How I Got Into Docker (and why you should too) One of the most exciting technologies that I’ve researched and used over the past year is Docker. That’s a pretty bold statement, especially since I enjoy working with a lot of different technologies, so let me share a quick story about how I initially got started with Docker and and my personal journey (if you’d prefer you can jump directly to the Docker for Web Developers Course). You may have heard the term “Docker” tossed around at work or online and wondered what it was…I know I did. I heard […]


Video: Modern Web Development Interview with Channel 9

I had the privilege to sit down with Seth Juarez from Channel 9 at the AngleBrackets conference in Las Vegas (fall 2015) and talk about modern web development and the main technologies that drive it. We talked about a lot of different topics ranging from TypeScript, Angular and Aurelia on the client-side to Node.js and ASP.NET 5 on the server-side. Seth’s a great interview host (and a super cool guy to hang out with) and I really enjoyed talking with him about modern technology in today’s world. Check out the interview below. Modern Web Development with Seth Juarez and Dan […]


Getting Started with ES6 – Using Classes

In a previous post I introduced how ES6 can be transpiled to ES5 using Traceur or Babel. By using transpilers you can write“modern” code and leverage features found in ES6 today while still allowing the code to run in older browsers. In this post I’m going to dive into classes which is one of the shiny new features found in ES6. Getting Started with ES6/ES2015 Classes Classes are the subject of much debate in the JavaScript world with some people loving them and others hating them. I’ve never believed in one world view being right for every situation and think […]


Video: Building a Single-Page App with Angular, TypeScript, Azure Active Directory and Office 365 APIs

I had the opportunity to speak at the BUILD 2015 conference in San Francisco with my friend Andrew Connell and had a great time! We gave a talk on Angular, TypeScript, Azure AD and Office 365 APIs and I also gave two “Express” talks on TypeScript. It was super fun to meet new people and hang out with everyone at the conference. I even had the opportunity to check out the upcoming HoloLens device which was super cool! I was heading up an elevator to a meeting and a member of the HoloLens team approached me and asked if I […]


The Role of Interfaces in TypeScript

In my last post I talked about how classes and interfaces could be extended in the TypeScript language. By using TypeScript’s extends keyword you can easily create derived classes that inherit functionality from a base class. You can also use the extends keyword to extend existing interfaces and create new ones. In the previous post I showed an example of an ITruckOptions interface that extends IAutoOptions. An example of the interfaces is shown next: interface IAutoOptions { engine: IEngine; basePrice: number; state: string; make: string; model: string; year: number; } interface ITruckOptions extends IAutoOptions { bedLength: string; fourByFour: bool; } […]


Extending Classes and Interfaces using TypeScript

In a previous post I discussed the fundamentals of the TypeScript language and how it can be used to build JavaScript applications. TypeScript is all about strongly-typed variables and function parameters, encapsulation of code, and catching issues upfront as opposed to after the fact to provide more maintainable code bases. One of the great features it offers is the ability to take advantage of inheritance without having to be an expert in JavaScript prototypes, constructors, and other language features (although I certainly recommend learning about those features regardless if you use TypeScript or not). In this post I’ll discuss how […]


Introducing the AngularU Conference

In late 2014 my good friend Peter Kellner approach me with a big idea – an idea that immediately caught my attention. He wanted to explore collaborating on a new conference idea that would highlight Angular and other “hot” Web development topics and wondered if I’d be interested in working with him and another friend of his named Kevin Nilson (who is also a good friend now) on a full-scale conference. I’ve been involved with chairing a lot of conference tracks over the years but never been the driving force behind organizing an entire conference. While the idea was definitely […]