Blogs

View all Blogs >>

Jason Harwig

Senior Software Engineer at Near Infinity

Jason Harwig
Jason Harwig full-time job is a senior software engineer at Near Infinity Corporation, an enterprise software development and consulting services company headquartered in Reston, Virginia. In his spare time he runs Pine Point Software LLC, writing Mac OS X applications in Cocoa/Objective-C.

His interests include Cocoa, JavaScript, OpenGL and user-interface design.

Presentations

JavaScript Security - Seeing the possibilities of a sand-boxed scripting language

JavaScript's popularity in recent years has brought with it the attention of hackers, white and black. Both sides looking for ways to do things that weren't intended with the scripting language. In this talk we'll look at the more popular, but also some of the interesting JavaScript security issues that could effect your applications or users. We'll use Digg.com to introduce CSRF as a case study.

Advanced Web Graphics with Canvas

I hate images. Not pictures or icons, mind you, but user interface graphics. I think that small gradient PNGs that web developers set to repeat are the spacer gifs of today. Images are hard to change, and slower to download.

Canvas is an HTML 5 standard for drawing bitmap graphics. It was created by Apple Inc, for drawing dashboard widgets. Since then all other browsers have added support (it works in IE with a JS library). This talk covers basic drawing commands and using canvas to draw user interface elements without resorting to image files. An intermediate level of JavaScript is preferred.

Object-Oriented and Functional Programming in JavaScript

Like it or not, JavaScript is the language used for any kind of web development. Since it's the only supported language of the browser, and customers demand rich web experiences, JavaScript is the king of the web. But, increasingly complicated user interfaces require a more disciplined approach to coding in the scripting language.

JavaScript's malleable nature allow it to be used in different programming paradigms including procedural, functional, and object-oriented. Unlike Java's class-based structure, JavaScript has a prototype inheritance structure that gives it great flexibility.
This talk is intended for beginner to intermediate JavaScript programmers that don't yet have a good grasp on prototypical inheritance and JavaScript functions.

We will explore that basic prototype inheritance scheme along with library extensions that create class-like inheritance.