John Petersen

John PetersenJohn Petersen has been developing software for over 20 years. It all started when, as a staff accountant, he was asked to get involved in a system upgrade to replace an old IBM Series 1 computer (about the size of a large refrigerator!). Those first programs were written in Clipper, summer 87. Since that time, tools included dBase, FoxBase, Visual FoxPro and Visual Basic. An early adopter of .NET, he then decided to go to law school. After practicing law for a few years, John realized that technology was a lot more interesting than the law. Today, John focuses on ASP.NET development and is having more fun than ever solving for clients. John is a Practice Director for Custom Application Development at Neudesic, a Microsoft Gold Partner and the Trusted Technology Partner in Business Innovation.  A 9 time recipient of Microsoft’s Most Valuable Professional Award, John is a current ASP.NET/IIS MVP. John is also an ASP Insider and is the INETA Mentor for PA and WV. John is the author of several books and is a frequent contributor to Code Magazine and DevConnections Magazines. John holds a BS in Business Administration from Mansfield University, an MBA in Information Systems from St. Joseph’s University and a JD from the Rutgers School of Law – Camden.

 John Petersen's Blog

@johnvpetersen

Abstracts

Topic: Building Your First jQuery Plugin
Description:

If you are writing web applications, at one point or another, you have needed to rely on JavaScript and jQuery. jQuery's extensibility model is predicated on plugins, and while there are 1000's to choose from today, you may very will find yourself in a position where you will want to author your own plugin. You may also find you have the need to extend an existing plugin. jQuery plugins is a great way to achieve reusable/testable JavaScript Code. In this session, John teaches you the essentials of building your own jQuery plugins.

Prerequisites:

Need familiarity with JavaScript and jQuery (Level 200)

Topic: Javascript Testing
Description:

This session focuses on how to employ testing principles in your JavaScript Code. In this session, John will review the basics of the three A's of testing: Arrange, Act and Assert and how they can apply to JavaScript tests. John will introduce attendees to the QUnit testing framework which is maintained and used by the jQuery team. John will work from practical examples of untestable code that are refactored toward a SOLID testable foundation.

Prerequisites:

Need familarity with JavaScript, jQuery and testing principles. (Level 300)

Topic: REST and ASP.NET MVC
Description:

You may have heard about Representational State Transfer - AKA REST - as an alternative to SOAP but are unaware of what exactly REST is and its benefits. If you have been using ASP MVC, the good news is, you have been working with an excellent RESTful environment but you may not have known it. In this session, RESTful applications are client agnostic. These class of applciations simply provide http endpoints that either consume data or provide data. When their actions are not being invoked, they are said to be at REST. There is no explicit typing as we would find in another similar technology such as SOAP. For that reason, REST is much simpler to implement than SOAP.  John will focus on MVC's inherent RESTful interface and capabilities. John will go through examples on how to interact with ASP MVC as a RESTful service provider. Examples will include both server (controller) and client (brower/HTML/Javascript/jQuery).

Prerequisites:

Need familarity with ASP MVC. (Level 200)

Topic: Dependency Injection in ASP MVC 3 Distilled
Description:

One of the major changes in ASP.NET MVC 3 is how the Dependency Injection / Inversion of Control Pattern is implemented. We no longer have to wire up our own custom controller factories. Instead, we simply need to make ASP.NET MVC aware of which IoC container we are using. It's not an entirely straightforward process. In this session, John will explain the DI/IoC pattern, why you will want to use Dependency Injection and how DI/IoC works in MVC.

Prerequisites: General familiarity with the ASP.NET MVC framework. (Level 200)
Topic: Cool Tools, a Survey of Open Source Tools
Description:

If your like me, your always on the lookout for cool tool that makes a particular software development task easier. With all of the open source tools available, we have a lot to choose from. The question often is - what is the best way to use these tools? And =- how do the various tools work together? In this session, John will give an overview of at least 3 different tools. Note - the complement of tools highlighted in this session is in flux. Previously, John has discussed jQuery, nHibernate, Fluent NHibernate, MSpec, Fluent Validation for .NET, NBuilder Fizzware, nUnit and nDBUnit to name a few.

Topic: Legal Issues in Software Development
Description:

In addition to being a software developer, John is also a lawyer. In this session, John will cover basic legal concepts that software developers should be familiar with. Topics include copyrights, trademarks, trade secrets, patents, non disclosure, non compete and independent contractor agreements. Additionally, John will also cover current issues and will will be taking your questions.

Topic: ASP MVC 3.0 From the Ground Up
Description:

Microsoft has just released the third version of it's MVC Framework. Perhaps you have heard of ASP MVC but have been waiting to jump on board. Or, you have used versions 1 and 2 and are wondering what's new in 3. In this session, John will cover the important elements of MVC 3, including the Razor View Engine and important/useful enhancements to the MVC Framework itself. If you are completely new to MVC, don't worry. John will take you through the steps of building a small application from the ground up. For those that are familiar with MVC, John will be pointing out, along the way, what's changed. Regardless of your experience, at the conclusion of this session, you will walk away with a comprehensive understanding of the ASP MVC framework and will a solid understanding of the new features in 3.0