I had the opportunity to sit down with Pinal Dave and Aaron Skonnard at Pluralsight’s 2013 Author Summit to discuss the developer community in India and how immense it is. I’ve always been fascinated with the Indian culture, have a lot of friends there, and absolutely love the food so it was fun to talk with Pinal and Aaron and hear more details about the community and what Pluralsight is doing in that area of the world.
Author Archives: dwahlin
What’s a Pluralsight Study Group? Steve Woolley and Dan Wahlin Discuss It!
Have you ever heard about or attended a Pluralsight Study Group? If you’re new to the concept, Pluralsight provides a subscription for a study group that can be used to access Pluralsight’s entire content library. Study group leaders then organize meetings where a group of people get together and watch and discuss courses over a span of several weeks depending on the course.
I had the opportunity to visit the New York Pluralsight Study Group while on a business trip and was really impressed with how interactive the group was. Instead of having people sitting around listening to a speaker present, asking a question every now and then and then wrapping things up, the NYC study group reviewed a portion of a course, paused the video, and then interacted with each other to discuss the code, how it could be used, and more. It was a different approach that really opened my eyes to how interactive a group can be when you can completely pause the content to discuss it more in-depth. Here’s the group I met while in NYC – it was a lot of fun!
In addition to watching a course I presented a few concepts and had a lot of fun meeting the different people. Additional study groups are springing up all around the world now in Sweden, NYC, Philadelphia, Ohio, Manila, Bangalore, Odessa and many other locations.
While at the Pluralsight Author Summit earlier this year I had the opportunity to interview Steve Woolley who’s the Director of Marketing at Pluralsight and talk about what a Pluralsight Study Group is, how Pluralsight helps, and how to get going if you’re interested in starting a study group in your area. If you’ve ever run a user group before and struggled to find speakers month after month then you’ll definitely want to check out the study group option since you’ll never have to find another speaker again! It’s definitely a different approach to the standard user group meeting that can be really interactive. If you’re interested in starting a study group watch the interview below and visit http://pluralsight.com/training/Community/Sponsorships for more details.
Using AngularJS: Interview with Dan Wahlin, Joe Eames and Jim Cooper
The AngularJS JavaScript framework continues to increase in popularity among developers and is being used in a wide variety of scenarios. While at the Pluralsight Author Summit in March, Dan Wahlin sat down with Joe Eames and Jim Cooper to talk about how they’ve used AngularJS, their favorite features and how it was used to build Pluralsight’s HTML5 video player. In the interview they discuss their favorite AngularJS features, benefits it offers developers as well as a few other related subjects. If you’re interested in hearing more about what AngularJS is and what it can do, check out the interview for a quick introduction.
For more information about AngularJS visit http://angularjs.org.
ASP.NET 4.5 Web Forms Features – Model Binding
In my last post on ASP.NET 4.5 Web Forms features I talked about the new strongly-typed data controls that are available and how you can now get Intellisense as you access object properties within a server control template. It’s a great feature that you definitely need to check out if you haven’t already. Here’s a quick summary of what’s new when it comes to data-specific features in the ASP.NET 4.5 release:
In this post I’m going to focus on my overall favorite new feature in ASP.NET 4.5 called model binding (check out all of the new features in my Pluralsight course). Model binding isn’t exactly a “new” feature when it comes to .NET because ASP.NET MVC has had it for a long time. However, it’s new to ASP.NET Web Forms and yet another feature that will truly change how you write your application code if you take advantage of what it offers.
What is Model Binding?
In a nutshell, model binding is the process of getting model objects in and out of controls without writing a lot of plumbing code to do it. You can now bind data controls directly to methods that provide select, insert, update and delete functionality. When the methods are called you don’t have to write a lot of code to access the values that were posted back in the case of update, insert, or delete operations. Instead, model binding allows you to have a given model object’s properties (a class with properties if you’re not familiar with model objects) automatically filled with the posted back data.
ASP.NET 4.5 Web Forms Features – Strongly-Typed Data Controls
I’ve been spending a lot of time over the past few months digging into the new features offered by ASP.NET 4.5 Web Forms while creating my new Pluralsight course and have been pleasantly surprised by all of the great stuff in this release. Web Forms isn’t exactly the cool kid on the block any more given all of the attention that ASP.NET MVC, jQuery, SPA and other technologies get, but there are still a ton of Web Forms developers out there using it productively every day to build robust, enterprise-scale applications. Microsoft has really stepped up their game with version 4.5 of the framework and added some features that will truly change how you write your applications. I’ll be blogging about a few of the features related to data over the next month.
In addition to Visual Studio 2012 enhancements to the HTML/CSS/JavaScript editors, enhanced HTML5 support, oAuth and anti-XSRF support, integration with Web Sockets and SignalR, the ability to use the ASP.NET Web API, FriendlyUrls, plus more much more, some of the most impressive features are focused on working with data. Here’s a quick summary of what’s new when it comes to data-specific features:
Creating a Line Chart using the HTML5 Canvas
The HTML 5 canvas is capable of rendering lines, shapes, images, text and more without relying on a plugin. Although the canvas element isn’t supported by older browsers, the latest version of all major browsers (IE, Safari, Chrome, Firefox and Opera) now support the canvas making it an option for rendering charts, graphs and other types of visual data. In cases where a browser doesn’t support the canvas, a fallback can be provided that renders data using Silverlight, Flash or another type of plugin.
In a previous post I walked through the fundamentals of using the HTML 5 canvas to render different types of shapes. In this post I’ll discuss how the canvas can be used to render a line chart using JavaScript. An example of the chart that will be discussed is shown above.
Talking versus Teaching–There’s a Big Difference
I had the opportunity to attend Pluralsight‘s Author Summit this weekend and really enjoyed interacting with some of the top people in the technology industry, sharing ideas with them and learning new things myself. Teaching has been something I’ve been involved with for nearly 15 years now through my own company as well as several others and it’s something that I really enjoy doing. I’ve had the opportunity to teach developers in some of the largest companies around the world as well as developers just starting out. Regardless of their experience level it’s always fun watching as they get excited about learning a given technology or concept. You can literally see their faces change as the “light bulb” moment happens.
I’ve learned a lot about the learning process itself over the years and one of the most important things I’ve come across is the difference between talking versus teaching. There’s a big difference between the two so I thought I’d write about techniques that I’ve learned and how they can be used to help people learn more effectively. A good speaker doesn’t necessarily equate to a good teacher. I’ve known a lot of great speakers over the years who were funny, knowledgeable, and well versed in the technology they were speaking about. Some of these speakers are simply “edutainers” who joke their way through a given talk while others are focused (and pride themselves) on ensuring that the people attending the talk/course leave with a solid understanding of the concepts. It’s definitely an art and something that takes practice, a willingness to truly listen to feedback and a commitment to continually improve. Here are a few of the things I’ve learned about talking versus teaching over the years based on direct feedback, 1000s of evaluations and personal study.
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; }
I also showed how a class named Engine can implement an interface named IEngine. By having the IEngine interface in an application you can enforce consistency across multiple engine classes.
The Art of Productivity
Getting things done has always been a challenge regardless of gender, age, race, skill, or job position. No matter how hard some people try, they end up procrastinating tasks until the last minute. Some people simply focus better when they know they’re out of time and can’t procrastinate any longer. How many times have you put off working on a term paper in school until the very last minute? With only a few hours left your mental energy and focus seem to kick in to high gear especially as you realize that you either get the paper done now or risk failing. It’s amazing how a little pressure can turn into a motivator and allow our minds to focus on a given task.
Some people seem to specialize in procrastinating just about everything they do while others tend to be the “doers” who get a lot done and ultimately rise up the ladder at work. What’s the difference between these types of people? Is it pure laziness or are other factors at play? I think that some people are certainly more motivated than others, but I also think a lot of it is based on the process that “doers” tend to follow – whether knowingly or unknowingly.
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. John Papa has also started a nice series of posts on the subject that go along with the new TypeScript Fundamentals course that he and I co-authored for Pluralsight. 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 classes and interfaces can be extended using TypeScript and the resulting JavaScript that’s generated. Let’s jump in!