Presentations

Advanced AngularJS Tips and Tricks (at DevLink 2014)

What happens when two third-party Angular modules export a service with the same name? How do you access scope or dependency injection from a third-party control? How can you always ensure asynchronous code is executed within a digest loop without having to check? Should you store commonly referenced variables in $rootScope or a service? How do you ensure promises are resolved before your controller is invoked? In this talk, Jeremy Likness covers advanced tips, tricks, and techniques for building Angular apps. Based on his hands-on experience building large scale enterprise Angular applications with distributed teams of over 20 developers authoring hundreds of services, controllers, filters, and directives across tens of thousands of lines of code, Jeremy shares common problems and straightforward solutions. Download the source code for this presentation and view the online demo.
August 27, 2014
Chattanooga, TN 



Learn ZoneJS (at DevLink 2014)

The Angular team has released a small tool called Zone that is less than 200 lines of code but will revolutionize how you use JavaScript. A zone is an execution context for asynchronous JavaScript that provides local storage and allows you to hook into various events. Imagine being able to debug a call stack that doesn't end at the click handler but goes all the way back to the code that wired in the handler. Imagine being able to instrument asynchronous calls without changing a line of your existing code but with the ability to see the performance in a continuous line of active and elapsed time from the initial request. Zone can run with any JavaScript library and does not require Angular but can enhance the way you integrate third-party components with Angular. Witness for yourself the power of this library through live examples. Download the source code and run the demo online.
August 27, 2014
Chattanooga, TN

Thread Local Storage Execution Contexts in JavaScript with ZoneJS (at CodeStock 2014)

A Zone is an execution context that persists across asynchronous tasks. You can think of it as thread-local storage for JavaScript VMs. In this presentation, Jeremy Likness explains the Zone library with live examples and demonstrates how it can be a useful tool for instrumenting and troubleshooting JavaScript applications. View the interactive presentation that is written entirely in AngularJS with Zone here and download the source from this GitHub repository.
July 11, 2014
Knoxville, TN

What's New with WinJS (Microsoft's re//build Event)

WinJS is Microsoft's JavaScript library that was first introduced to bridge the gap between Windows Store apps written in JavaScript and HTML5 and the Windows Runtime (WinRT). Since then Microsoft has evolved WinJS to support additional devices such as Windows Phone and XBox and created an open source version that run on any browser and platform. In this talk, Jeremy Likness reviews the history of WinJS, the latest features, and what the future of WinJS will be.
Visit the interactive slide presentation written in WinJS. Use the right arrow for in-slide effects and the spacebar to advance slides.
May 24, 2014
Alpharetta, GA

Enterprise TypeScript

TypeScript is a superset of JavaScript. Designed to enable enterprise-scale application development, TypeScript compiles to pure JavaScript. It provides important features such as classes, modules, and interfaces. TypeScript helps improve the quality of code by generating well-known and widely accepted JavaScript patterns while providing powerful development-time type-checking and discovery. TypeScript runs side-by-side with existing JavaScript and supports the concept of type definition libraries that can describe existing libraries for use by TypeScript even if they are written in pure JavaScript.
In this talk, Jeremy Likness will explore the use of TypeScript in enterprise-scale applications. He’ll discuss not only the technological benefits of TypeScript but also explore the impact to the software development lifecycle overall. TypeScript enables a development workflow that helps scale development teams, improves quality and decreases ramp-up time. It also encourages a logical approach to software construction that results in more reusable and easily maintainable code.

May 22, 2014
LinkedIn .NET User's Group

Windows 8.1 Sockets

Although Windows Store apps run in a security sandbox, the Windows Runtime provides a rich set of APIs that enable connectivity over sockets. WinRT supports the new HTML5 WebSocket specification but also allows apps to connect via TCP and UDP for real-time streaming connectivity. Join Jeremy Likness as he walks through several examples of apps using socket protocols to establish communications and demonstrates the ease of interfacing with the Windows Runtime sockets APIs.

April 7, 2014
Alpharetta, GA

The Windows Runtime and the Web (Chattanooga .NET Users Group)

The Windows Runtime is the runtime that drives Windows 8 and the new Windows Store apps. The runtime enables developers to build rich client apps that run natively on Window 8 devices. In this session, Jeremy Likness explores the various built-in components and APIs that enable Windows Store apps to connect to SOAP, REST, and OData endpoints and syndicate RSS and Atom feeds. Learn how these tools make it easy to build Windows Store apps that are alive and connected to the internet.

December 10, 2013
Chattanooga, TN

My XML is Alive! An Intro to XAML (Gwinnett Georgia Microsoft Users Group)

Extensible Application Markup Language, better known as XAML (pronounced “zammel”), is a language developed by Microsoft that is based on XML. It provides a declarative way to instantiate rich object graphs – in other words, through XAML you are able to create instances of classes, set properties, and define behaviors. Most commonly used to describe the user interface for technologies like Silverlight, WPF, and Windows 8.1, XAML provides a separation of concerns between the presentation and business logic for an app and gives the designer the flexibility to create experiences that interact with code through data-binding. This enables design-time data and true parallel workflows between designers and developers. Jeremy Likness will walk you through XAML, including how it is used by various technologies and the advantages it provides when building applications.

October 10, 2013
Lawrenceville, GA

DevLink: WinRT and the Web (Keeping Windows Store Apps Alive and Connected)

The Windows Runtime is the runtime that drives Windows 8 and the new Windows Store apps. The runtime enables developers to build rich client apps that run natively on Window 8 devices. In this session, Jeremy Likness explores the various built-in components and APIs that enable Windows Store apps to connect to SOAP, REST, and OData endpoints and syndicate RSS and Atom feeds. Learn how these tools make it easy to build Windows Store apps that are alive and connected to the internet.
August 30, 2013
Chattanooga, TN

DevLink: AngularJS and TypeScript for Modern Web App Development

Although native applications continue to thrive, more and more focus is being placed on the web as a way to successfully deliver enterprise applications. The primary language of the web is JavaScript and it comes with its own challenges that make it difficult to scale large teams across large projects. The combination of TypeScript and AngularJS changes this by providing a way to design a declarative UI with a clean separation of concerns while providing strong types that make discovery and refactoring easier than ever before. Join principal consultant Jeremy Likness to learn how these two technologies combine to enable large development teams to deliver web-based applications more quickly and efficiently.
August 30, 2013
Chattanooga, TN

Gwinnett Georgia Microsoft User Group: Introduction to TypeScript

JavaScript is a scripting language most commonly implemented in browsers that has been used for several decades now to enrich web-based applications. A a dynamically typed language that was rapidly developed for a narrow purpose, JavaScript has many nuances that make it difficult to manage in large enterprise applications. TypeScript was developed as the answer to provide a way to build large JavaScript applications without changing the language itself. TypeScript is a superset of JavaScript that provides mostly development-time features such as auto-completion, type checking, and discovery of interfaces. Learn from Wintellect principal consultant Jeremy Likness about the challenges JavaScript brings to enterprise development and how TypeScript provides an elegant solution through its implementation of types, interfaces, classes, modules and definitions.
View the Slide Deck
January 10, 2013
Lawrenceville, GA

Devscovery: Enterprise JavaScript (Oxymoron?)

In this three hour training session Jeremy Likness will cover the nuances of building extremely large enterprise applications that rely heavily on JavaScript. Today’s web platforms have more reach than ever before, and use of JavaScript is evolving rapidly to take advantage of libraries that provide services ranging from cross-browser compatibility to organization and streamlining of code. Learn about some of the popular JavaScript libraries in use today including jQuery and related plugins, Requires, Backbone, Kendo UI, Postal and more. Learn how Wintellect tackles the challenge of working with JavaScript within large development teams and how these technologies correlate closely to server side technologies like MVC and Web API. In building a reference application, Jeremy will uncover some of these challenges and proposed solutions, provide an overview of current best practices and patterns in JavaScript, and discuss challenges like scoping code, enforcing standards, and unit testing. This session is designed to provide you with the tools and insights you need to take advantage of modern web development using the HTML5, CSS3, and JavaScript stack.
View the Slide Deck Part 1
View the Slide Deck Part 2
October 3, 2012
Houston, TX

Devscovery: The Portable Class Library: Building Tomorrow's Applications Today

The Portable Class Library (PCL) is a feature built into Visual Studio 2012 that enables developers to build portable assemblies that can be referenced without recompilation from multiple platforms. These platforms include various versions of the .NET Framework, Windows Phone, Silverlight, Windows 8 and Xbox. The PCL works by providing a profile that exposes APIs that are common across the target footprint. In this 90 minute session Jeremy Likness will build an application that takes advantage of the PCL to leverage code and business logic across multiple target environments including WPF, Silverlight, and Windows 8. You will learn how to leverage the PCL to build applications today that will be reusable for the applications you target down the road. Jeremy will also take a deep dive to uncover just how the Portable Class Library works across so many target environments.
View the Slide Deck
October 3, 2012
Houston, TX

DevLink Technical Conference: Windows 8 for the Silverlight and WPF Developer

The release of Windows 8 represents a bold entry into the world of tablet PCs by Microsoft. With Windows Store applications it is possible to write highly responsive, touch-friendly applications that run efficiently on multiple form factors including new ARM devices. The Microsoft team has taken great care to accommodate your existing knowledge by embracing both C# and the managed code stack and XAML technologies, but there are important fundamental differences. In this deep dive of the Windows 8 stack, Jeremy Likness covers the inner workings of the engine, reveals how it relates to traditional Silverlight and WPF development, and highlights the areas that are important for developers to understand as they transition from the Silverlight and WPF platform to Windows 8 with help from the Portable Class Library (PCL.)
View the Slide Deck
August 30, 2012
Chattanooga, TN

LinkedIn .NET User Group (LIDNUG): Windows 8: A Tale of Two Stacks

Windows 8. The new operating system poses an interesting challenge because it exposes a dual personality with desktop-based features (the “Blue stack”) and tablet-focused features in the Metro or “Green stack.” Jeremy Likness covers the new architecture for Windows 8 and highlights the differences between these stacks to help developers understand how to navigate their new options. In this webinar you will learn about the new WinRT component layer, legacy support, and the new options available for Windows 8 Metro-style development.
Watch the presentation
July 18, 2012
(International Webinar)

LinkedIn .NET User Group (LIDNUG): The Top 10 11 Features Windows 8 Metro Developers will Love

Windows 8 presents a new platform for application development called Metro. This platform is specifically focused on the tablet and slate market and provides many advanced features including touch-friendly interfaces and advanced power management features. Metro also introduces a new runtime known as WinRT that exposes some incredible contracts and interfaces that make it easier than ever before to build connected collaborative, touch-friendly applications. Join Jeremy Likness as he shares the top 10 features developers will love about this platform.
Watch the presentation
June 20, 2012
(International Webinar)

CodeStock: MVVM for Modern Application Development

The Model-View-ViewModel pattern was introduced for Windows Presentation Foundation applications (WPF) and later exploded in popularity with the introduction of various frameworks to support development on additional platforms including Silverlight and Windows Phone. The release of KnockoutJS the pattern has extended MVVM to the web and exposed it to the JavaScript stack, while the new Windows 8 Metro platform embraces the same XAML and C#-based technologies that WPF and Silverlight pioneered. In this talk, Jeremy Likness takes a deep dive into the history of the pattern, describes its benefits, and discusses how it relates to modern application development. Is it a bad fit for web applications? Does it belong in the Metro space? Learn the benefits and trade-offs to help decide if this pattern makes sense in your projects moving forward.
June 15, 2012
Knoxville, TN

Atlanta XAML Meetup: Designing Silverlight Business Applications

Learn some of the key patterns and best practices Silverlight MVP Jeremy Likness follows when building enterprise applications with Silverlight, including solutions for compostion and navigation, implementation of web services, and troubleshooting. Take an exclusive sneak peek at some of the content from his upcoming book about designing line-of-business Silverlight applications and hear his thoughts about the future of Silverlight in light of the recent version 5 release.
January 18, 2012
Atlanta, GA

Atlanta .NET User Group: //BUILD recap

Review of the BUILD conference and Windows 8. Covered the user experience, Live integration, hardware, and development experience. Spoke about the Silverlight story and demonstrated a Silverlight Out of Browser (OOB) application integrated with Windows 8 and launched from the Metro start menu, then demonstrated three different applications built using C++, C#, and JavaScript for Metro using Visual Studio 2011.
September 26, 2011
Alpharetta, GA

DevLink: Sterling for Windows Phone 7

The release of Silverlight 4 and Windows Phone 7 have created an explosion of line of business applications written in Silverlight. The framework provides a powerful advantage with its ability to run offline and disconnected from the network. For browser applications this provides a unique data storage challenge. Windows Phone 7 applications must also cater to the “tombstoning” scenario and efficiently serialize and rehydrate data when the program is swapped to the background and back. Sterling is an open source object-oriented database that addresses these needs by storing data in isolated storage. Sterling works with existing classes/types and is extremely lightweight. Learn how to use Sterling from its creator, Jeremy Likness, when he walks you through various scenarios and features involving indexes, LINQ to object queries, foreign keys, triggers, encryption, and compression.
August 17, 2011
Chattanooga, TN

ReMix South: Tablet Development with Silverlight

Tablet-based computing has become increasingly popular and many IT departments prefer Windows-based solutions due to their existing policy-based security infrastructure to manage the devices and mindshare that exists around the .NET platform. Jeremy Likness will share his experience developing for tablets using Silverlight, providing insights and case studies. Learn how to share code between slate and Windows Phone 7 projects and take a peek at what is in the pipeline with Windows 8.
Click here for the video, slides, and source code
August 6, 2011
Atlanta, GA

Microsoft Worldwide Partner Conference: The Consumerization of IT

At the Worldwide Partner Conference, this talk focused on the consumerization of IT and featured examples of Microsoft Slate applications used in the enterprise. Jeremy demonstrated the Rooms to Go application used to create a mobile point of sale experience.
July 13, 2011
Los Angeles, CA

CodeStock: Silverlight 5 for Line of Business Applications

What's new with Silverlight? Learn about the existing state of Silverlight and what is coming in a few months with the beta release of Silverlight 5. Jeremy covers the new features announced by Microsoft and discusses their impact on line of business applications.
June 3, 2011
Knoxville, TN
Watch the Presentation

MSDN geekSpeak: Project Sterling

In this geekSpeak, Microsoft Most Valuable Professional (MVP) Jeremy Likness introduces us to Sterling. Sterling is an open source, object-oriented database for Microsoft Silverlight and Windows Phone 7 projects that provides persistent, relational data persistence on top of isolated storage. Jeremy shows us how Sterling works with existing classes to provide keys and indexes and provides full LINQ to object support for fast queries. This geekSpeak is hosted by Glen Gordon and Rachel Appel. The geekSpeak series brings you industry experts in a "talk-radio" format hosted by Microsoft developer evangelists. Visit the geekSpeak blog for resources or to ask a question before a live webcast.
April 20, 2011
Listen to the Podcast

Introduction to MEF for Silverlight

The Managed Extensibility Framework is more than a technology for plug-ins. It provides services to help with extensibility, discovery, and metadata for your line of business applications. As of Silverlight 4, it is also a part of the core framework. In this presentation, Jeremy Likness will demonstrate various problems that MEF solves for Silverlight and how to use it effectively within line of business applications.
February 23, 2011
Atlanta, GA

Silverlight's Visual State Manager

The Visual State Manager (VSM) is a key component of the "states and parts" engine that drives lookless controls in Silverlight. The VSM provides a clean separation of UI concerns including transitions and animations from the business logic that drives a control. Learn how the VSM works, best practices for designing controls using the VSM, and how VSM works with the MVVM framework to allow complete control over navigation and transitions while keeping a clean separation between code and design.
January 31, 2011 - January 31, 2011
Alpharetta, GA

Ask the Experts Q&A

For PDC the local Microsoft Technology Center (MTC) in Alpharetta, GA held a gather to stream the video and provide interactive sessions. One session was an interactive Q&A with experts in the field to discuss the PDC announcements.
October 29, 2010 - October 29, 2010
Alpharetta, GA

Isolated Storage for Object-Orientated Databases in Silverlight and Windows Phone 7 Applications

(see more)
Silverlight applications, including Windows Phone 7, don’t provide direct access to the operation system. For this reason, it is impossible to connect with native databases unless you are running in elevated trust.
There is a solution, however, for client-side caching and storage of offline data, and that solution is isolated storage. Jeremy will explain the limitations of working with isolated storage, various practices for using isolated storage, and different strategies for serializing and de-serializing data in the security sandbox.
Included in the discussion will be a behind-the-scenes look at Sterling, an open source object-oriented database based on isolated storage for both Silverlight and Windows Phone 7.
October 20, 2010 - October 20, 2010
Worldwide - LinkedIn .NET Users' Group

Intro to MVVM

(see more)
What exactly is Model-View-ViewModel, and how does it help with building scalable, maintainable Silverlight line of business applications?
Jeremy Likness tackles this question by providing a simple, straightforward walkthrough on the fundamentals of MVVM. Jeremy will refactor an existing Silverlight application to use MVVM and demonstrate firsthand the various benefits that include re-usability, designer/developer workflow, speed of development and testability.
September 22, 2010 - September 22, 2010
Atlanta, Georgia

MVVM and MEF for Silverlight

(see more)
With the release of Silverlight 4, the Managed Extensibility Framework (MEF) became a first class citizen of the .NET Framework 4.0. Model-View-ViewModel (MVVM) has quickly become the most popular pattern for developing Silverlight applications. Learn the benefits of the MVVM pattern and how to leverage MEF to implement the pattern for your line of business applications. Jeremy Likness will cover how the framework and pattern work together to provide a powerful foundation for enterprise applications and cover many “real world” scenarios ranging from asynchronous service calls and dialog boxes to navigation and dynamic modules in the context of MEF and MVVM.
August 12, 2010 - August 12, 2010
Duluth, Georgia

MSDN Fridays: MEF for LOB Applications in .NET 4.0

With the release of Visual Studio 2010, the Managed Extensibility Framework (MEF) became a first-class citizen of the .NET 4.0 Framework. It is the same system used for extensibility and plug-ins within Visual Studio 2010 itself. Learn the ten reasons why you would want to use the Managed Extensibility Framework in your own applications and how MEF can assist you with building dynamic, modular, extensible, testable applications faster than ever before. This deep dive will cover advanced MEF topics included strongly typed meta-data and custom export providers as well as how MEF differs between Web, WPF, Console, and Silverlight applications.
July 30, 2010 - July 30, 2010
United States

MEF with Silverlight

(see more)
Interview with David Giard of "Technology and Friends" to discuss the Managed Extensibility Framework and Silverlight.
June 25, 2010 - June 25, 2010
Knoxville, Tennessee

CodeStock : Advanced Silverlight Applications using the Managed Extensibility Framework

The Managed Extensibility Framework (MEF) simplifies the creation of extensible applications. Learn how to construct scalable, high performance line of business Silverlight applications that expose pluggable interfaces and consume external extensions. Jeremy Likness will demonstrate how MEF empowers you to build robust Silverlight applications and will cover the advanced features of MEF like dynamic package loading, region/views management, and metadata. MEF is a comprehensive framework that is already integrated into the Silverlight 4 beta and will be part of the final release. You don’t want to miss this advanced look “under the hood” to learn how MEF can improve your existing Silverlight applications today.
June 25, 2010 - June 27, 2010
Knoxville, Tennessee

The Managed Extensibility Framework for Line of Business Applications in .NET 4.0

(see more)
With the release of Visual Studio 2010, the Managed Extensibility Framework (MEF) became a first-class citizen of the .NET 4.0 Framework. It is the same system used for extensibility and plug-ins within Visual Studio 2010 itself. Learn the ten reasons why you would want to use the Managed Extensibility Framework in your own applications and how MEF can assist you with building dynamic, modular, extensible, testable applications faster than ever before. This deep dive will cover advanced MEF topics included strongly typed meta-data and custom export providers as well as how MEF differs between Web, WPF, Console, and Silverlight applications.
June 7, 2010 - June 7, 2010
Alpharetta, Georgia

MSDN geekSpeak: Silverlight Unit Testing Framework

(see more)
In this episode of geekSpeak, Jeremy Likness focuses on the Microsoft Silverlight Unit Testing Framework. Jeremy shows us how to design Silverlight applications to take advantage of unit testing (SOLID and DRY principles), building not only view models but also views that can be tested. Jeremy also explains how to use the test surface to unit test controls and some fundamentals of testing in general, such as strategies for dividing test classes and methods and creating stubs and mocks. This geekSpeak is hosted by Glen Gordon and Rachel Appel.
February 25, 2010 - February 25, 2010
Atlanta, Georgia
(see more)

Silverlight Business Applications

Learn how to architect business Silverlight applications using various frameworks, how to build scalable and dynamic application experiences, how to write testable Silverlight code and test it using the Unit Testing Framework, and how to leverage RIA WCF services for your applications. Jeremy will also cover how to plug an existing legacy application into a Silverlight front end.
January 20, 2010 - January 20, 2010
Atlanta, Georgia

Managed Extensibility Framework

(see more)
Learn about the Managed Extensibility Framework and how it can be used to build extensible, modular applications. Jeremy Likness discusses the business problems the MEF solution solves, and demonstrates how to build a program featuring dynamic plugins in under 10 minutes using the MEF library.
January 19, 2010 - January 19, 2010
Duluth, Georgia