Schedule

Upcoming Presentations/Talks

03/18/2017 Boise Code Camp

Migrating to TypeScript

TypeScript is a statically typed superset of JavaScript that compiles to plain JavaScript. It can help you be more productive and write higher quality code. That’s all great, but migrating an existing JavaScript project to TypeScript can seem like a daunting proposition.

Luckily, benefitting from TypeScript doesn’t require you to migrate your entire project to TypeScript. You can benefit from TypeScript by making incremental changes to your project.

In this talk, you’ll learn the basics of the TypeScript language and how to incrementally migrate a project to TypeScript. You’ll also see how Visual Studio Code leverages the TypeScript Language Service to provide a rich JavaScript development experience. And you’ll see how to use JSDoc comments and TypeScript Declaration (d.ts) files to refine the TypeScript Language Service’s understanding of your code.

http://lanyrd.com/2017/boise-code-camp/sfqmgz/

03/29/2017 Donut.js

Can Anyone Learn to Program?

Are there innate abilities that make some people better suited to become programmers? Or can anyone learn to program? Does talent alone create success or can dedication and hard work make up for an initial lack of talent? This talk will examine the fixed and growth mindsets and what they can teach us about ourselves and how our industry can grow and nurture great developers.

http://donutjs.club/

06/07-06/09/2017 Code PaLOUsa

Hey… You Got Static Types in My JavaScript!

As JavaScript applications continue to grow in size and complexity, the teams that develop and support them often find themselves looking for ways to help increase productivity and reduce errors. A well-known practice for reducing coding errors is to employ unit testing. A more recent approach is to add static typing to JavaScript by utilizing technologies like Microsoft’s TypeScript or Facebook’s Flow.

Adding static types to JavaScript helps developers to detect errors in their code at design time, without having to execute their code. Static typing dramatically improves the overall development experience by adding support for symbol-based navigation, statement completion, and code refactoring.

In this talk, we’ll walk through a series of demos showcasing how TypeScript and Flow bring static typing to JavaScript. We’ll look at how they are similar, how they differ, how they can help you write better code, and how they won’t. By the end of this talk, you’ll be on your way to answering the question “are static types a good fit for my JavaScript project?”

Topics include:

  • Comparing static and dynamic typing
  • Reviewing the benefits and disadvantages of static dynamic
  • Leveraging TypeScript and Flow in your projects
  • Comparing TypeScript and Flow

http://www.codepalousa.com/Sessions/819

Past Presentations/Talks

03/07-03/08/2017 Visual Studio 2017 Launch and 20th Anniversary Event

3/8 9-10am Getting Started with ASP.NET Core in Visual Studio 2017

ASP.NET Core is an open-source (github.com/aspnet/home) and cross-platform framework for building modern web apps using .NET. It is a significant redesign of ASP.NET that is built from the ground up to provide an optimized development framework for apps that are either deployed to the cloud or run on-premises. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac, and Linux.

In this module, we’ll create a simple app using both the .NET Core command-line interface (CLI) and the latest tooling available in Visual Studio 2017. Along the way, we’ll also take a look at some of the key new concepts and features that are part of ASP.NET Core and how they compare to the ASP.NET that you know and love.

https://channel9.msdn.com/events/Visual-Studio/Visual-Studio-2017-Launch/WEB-101

3/8 10-11am Exploring and Migrating to TypeScript

TypeScript is a statically typed superset of JavaScript that compiles to plain JavaScript. It can help you be more productive and write higher quality code. That’s all great, but migrating an existing JavaScript project to TypeScript can seem like a daunting proposition.

Luckily, benefitting from TypeScript doesn’t require you to migrate your entire project to TypeScript. You can benefit from TypeScript by making incremental changes to your project.

In this module, you’ll learn the basics of the TypeScript language and how to incrementally migrate a project to TypeScript. You’ll also see how Visual Studio 2017 leverages the TypeScript Language Service to provide a rich JavaScript development experience including features such as symbol-based navigation, statement completion, and code refactoring. And you’ll see how to use JSDoc comments and TypeScript Declaration (d.ts) files to refine the TypeScript Language Service’s understanding of your code.

https://channel9.msdn.com/Events/Visual-Studio/Visual-Studio-2017-Launch/WEB-102

02/28/2017 Portland TypeScript Meetup

Migrating to TypeScript

TypeScript is a statically typed superset of JavaScript that compiles to plain JavaScript. It can help you be more productive and write higher quality code. That’s all great, but migrating an existing JavaScript project to TypeScript can seem like a daunting proposition.

Luckily, benefitting from TypeScript doesn’t require you to migrate your entire project to TypeScript. You can benefit from TypeScript by making incremental changes to your project.

In this talk, you’ll learn the basics of the TypeScript language and how to incrementally migrate a project to TypeScript. You’ll also see how Visual Studio Code leverages the TypeScript Language Service to provide a rich JavaScript development experience. And you’ll see how to use JSDoc comments and TypeScript Declaration (d.ts) files to refine the TypeScript Language Service’s understanding of your code.

https://www.meetup.com/Portland-TypeScript-Meetup/events/237273776/

01/31/2017 Portland TypeScript Meetup

Exploring TypeScript

In this talk, we’ll start with a brief history of TypeScript followed by a series of interactive demos that will show you the basics of the language. We’ll also see how popular editors like GitHub’s Atom and Microsoft’s Visual Studio Code provide support for working with TypeScript.

TypeScript, introduced by Microsoft in October 2012, is a strict superset of JavaScript that adds optional static typing and ES2015/++ language features such as classes, modules, arrow functions, decorators, async/await, and more. TypeScript’s static typing allows tooling to provide richer support for features such as symbol-based navigation, statement completion, and code refactoring. All of this together helps ease the development of JavaScript applications.

https://www.meetup.com/Portland-TypeScript-Meetup/events/235989986/

11/20-11/21/2016 Nodevember

Exploring TypeScript

In this talk, we’ll start with a brief history of TypeScript followed by a series of interactive demos that will show you the basics of the language. We’ll also see how popular editors like GitHub’s Atom and Microsoft’s Visual Studio Code provide support for working with TypeScript.

TypeScript, introduced by Microsoft in October 2012, is a strict superset of JavaScript that adds optional static typing and ES2015/++ language features such as classes, modules, arrow functions, decorators, async/await, and more. TypeScript’s static typing allows tooling to provide richer support for features such as symbol-based navigation, statement completion, and code refactoring. All of this together helps ease the development of JavaScript applications.

http://nodevember.org/

09/16/2016 UtahJS Conference

Reactive Programming with RxJS

RxJS, the Reactive Extensions for JavaScript, is a set of libraries that give us powerful tools for managing concurrency in our applications. Using RxJS, we use Observables to represent asynchronous data streams and then query those streams using one or more of the many available operators. In this talk, we’ll create some simple examples to explore what Observables are and how to use them. Along the way, we’ll compare and contrast Observables to the other familiar tools in our JavaScript developer’s toolbox: event listeners, callbacks, and promises. We’ll also look at an Angular 2 example, which favors using Observables over promises.

https://conf.utahjs.com/

09/14-09/16/2016 Angular Remote Conf

Reactive Programming with RxJS

RxJS, the Reactive Extensions for JavaScript, is a set of libraries that give us powerful tools for managing concurrency in our applications. Using RxJS, we use Observables to represent asynchronous data streams and then query those streams using one or more of the many available operators. In this talk, we’ll create some simple examples to explore what Observables are and how to use them. Along the way, we’ll compare and contrast Observables to the other familiar tools in our JavaScript developer’s toolbox: event listeners, callbacks, and promises. We’ll also look at an Angular 2 example, which favors using Observables over promises.

https://allremoteconfs.com/angular-2016

09/10/2016 Seattle Code Camp

Reactive Programming with RxJS

RxJS, the Reactive Extensions for JavaScript, is a set of libraries that give us powerful tools for managing concurrency in our applications. Using RxJS, we use Observables to represent asynchronous data streams and then query those streams using one or more of the many available operators. In this talk, we’ll create some simple examples to explore what Observables are and how to use them. Along the way, we’ll compare and contrast Observables to the other familiar tools in our JavaScript developer’s toolbox: event listeners, callbacks, and promises. We’ll also look at an Angular 2 example, which favors using Observables over promises.

https://seattle.codecamp.us/Session/Details/134

Can Anyone Learn to Program?

Are there innate abilities that make some people better suited to become programmers? Or can anyone learn to program? Does talent alone create success or can dedication and hard work make up for an initial lack of talent? This talk will examine the fixed and growth mindsets and what they can teach us about ourselves and how we can get (or stay) on the track to becoming a great developer.

https://seattle.codecamp.us/Session/Details/133

09/06/2016 PADNUG (Portland Area .NET User Group)

Getting Started with ASP.NET Core

ASP.NET Core (previously known as ASP.NET 5) is a new open-source (github.com/aspnet/home) and cross-platform framework for building modern web apps using .NET. It is a significant redesign of ASP.NET that is being built from the ground up to provide an optimized development framework for apps that are either deployed to the cloud or run on-premises. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac, and Linux.

In this talk, we’ll review the development history of ASP.NET Core, set up our development environment, explore the .NET Core (dotnet) CLI, and create a simple app–from the command line and using Visual Studio. Along the way, we’ll also take a look at some of the key new concepts and features that are part of ASP.NET Core.

http://www.meetup.com/PADNUG/events/229163115/

09/01/2016 Willamette Valley Software Engineers Meetup

The Latest on TypeScript

TypeScript, introduced by Microsoft in October 2012, is a strict superset of JavaScript that adds optional static typing and ES2015/++ language features such as classes, modules, arrow functions, decorators, async/await, and more. TypeScript’s static typing allows tooling to provide richer support for features such as symbol-based navigation, statement completion, and code refactoring. All of this together helps ease the development of JavaScript applications.

In this talk, we’ll start with a brief history of TypeScript followed by a series of interactive demos that will show you the basics of the language. Then we’ll look at some of the more advanced language features using Angular 2, React, and Node.js. We’ll also see how popular editors like GitHub’s Atom and Microsoft’s Visual Studio Code provide support for working with TypeScript.

http://www.meetup.com/Willamette-Valley-Software-Engineers-Meetup/

08/30/2016 Portland TypeScript Meetup

The Latest on TypeScript

With Ken Howard

A new version of TypeScript is released about every three months. This means that new features—features that can make your applications more reliable and you more productive—are coming at you at a rapid pace. It’s difficult to know what you need to pay attention to and what you can ignore.

We’re here to help!

In this talk, Ken and James will highlight and demo some of the great TypeScript features that have been released in the last year. So join us for the latest on TypeScript!

Learn about improvements in…

  • ES6/ES++ support
  • Classes
  • Modules
  • Compiler configuration
  • React support

https://www.meetup.com/Portland-TypeScript-Meetup/events/231830415/

07/13-7/15/2016 Newbie Remote Conf

Can Anyone Learn to Program?

Are there innate abilities that make some people better suited to become programmers? Or can anyone learn to program? Does talent alone create success or can dedication and hard work make up for an initial lack of talent? This talk will examine the fixed and growth mindsets and what they can teach us about ourselves and how we can get (or stay) on the track to becoming a great developer.

https://allremoteconfs.com/newbie-2016

06/28/2016 Portland TypeScript Meetup

Working with TypeScript Definitions

With Peter Snider

Your TypeScript code doesn’t live in isolation. In fact, almost every application that you develop using TypeScript will need to interact with libraries or frameworks that are written in JavaScript. Sometimes this code is from a third party, sometimes it’s your own.

TypeScript definition files allow you to leverage these assets in your projects, without having to sacrifice the benefits of working with pure TypeScript.

In this talk, we’ll show how to use the command line tool Typings to find and consume definition files for popular libraries and frameworks. We’ll also walk through the process of writing your own definition file, for those times when a library or framework (either third party or your own) doesn’t have a definition file available.

http://www.meetup.com/Portland-TypeScript-Meetup/events/229370660/

06/19-06/21/2016 NodePDX Conference

Demystifying TypeScript Decorators

TypeScript decorators, based on the ES2016 decorator proposal and introduced as part of TypeScript 1.5, provide developers with a way to modify a JavaScript class, property, method, or method parameter using a convenient declarative syntax. We’ll start this session by creating our own decorator, to see firsthand how they work. Then, we’ll take a look at how decorators can be used in a variety of settings.

http://lanyrd.com/2016/nodepdx/sfchfg/

See the video of this talk at https://www.youtube.com/watch?v=05FC8Wh7C5w

Other

2016

  • 04/16/2016 Utah Code Camp - Using TypeScript Decorators with Angular
  • 03/19/2016 Boise Code Camp – Developing ASP.NET Core 1.0 Applications (http://boisecodecamp.com/sessions#james-churchill)
  • 03/19/2016 Boise Code Camp – Using TypeScript Decorators with Angular (http://boisecodecamp.com/sessions#james-churchill)
  • 03/19/2016 Boise Code Camp – Introduction to TypeScript (http://boisecodecamp.com/sessions#james-churchill)
  • 03/03/2016 Willamette Valley Software Engineers Meetup – Developing ASP.NET 5 Applications
  • 02/23/2016 Portland TypeScript Meetup – Using TypeScript Decorators with Angular
  • 02/10/2016 Angular Portland Meetup – Using TypeScript with Angular
  • 01/28/2016 Portland TypeScript Meetup - Up and Running with TypeScript Hands-On Workshop

2015

  • 11/05/2015 Eugene Oregon Programmers – Developing ASP.NET 5 Applications
  • 10/13/2015 Gorge Cloud Application Developers Meetup – Developing with ASP.NET on Mac OS X
  • 09/12/2015 Seattle Code Camp – Developing with ASP.NET on Mac OS X
  • 08/04/2015 PADNUG (Portland Area .NET User Group) – The Latest on TypeScript
  • 07/15/2015 Portland TypeScript Meetup – TypeScript Editor Shootout (with Adron Hall, Andrew Chalkley, and Ken Howard)
  • 07/07/2015 Portland Code School – Project Management Overview
  • 05/27/2015 Portland JavaScript Admirers – Introduction to TypeScript (Redux)
  • 04/09/2015 Portland TypeScript Meetup – Introduction to TypeScript
  • 02/24/2015 Portland Code School – AngularJS Overview