Showing posts with label Conference. Show all posts
Showing posts with label Conference. Show all posts

Friday, April 12, 2013

AngleBrackets Sessions and Slides

I had a great time this week at the AngleBrackets conference in Las Vegas, NV. It was the first year for this web focused conference.

I was honored to speak alongside John Papa (@john_papa), Dan Wahlin (@danwahlin), Scott Hanselman (@shanselman), Christian Heilmann (@codepo8), Lea Verou (@LeaVerou), Denise Jacobs (@denisejacobs), Jim Cowart (@ifandelse), Todd Anglin (@toddanglin), Burke Holland (@burkeholland), and more....

Thanks you for everyone who was able to attend my talks. It was great to meet you all. I enjoyed our conversations and your questions. I hope to see you all around at another conference in the near future! The following are the talks that I gave this past week.

Angry Birds of JavaScript


AngleBrackets was the first time I've given my Angry Birds of JavaScript talk based on the blog series that ended yesterday. You can click the following image to see the slides.

I used the reveal.js slide presentation framework for my slides. You'll need to down-arrow down to drill into each topic and then right-arrow to the next topic. The last slide of the Red Angry Bird is an interactive game. You have to destroy both pigs before you can proceed to the next topic ;)


Introduction to Backbone.js


I've given this talk once before, but I tweaked the slides somewhat since then.



Other Sessions


You can view the slides from the other sessions at the AngleBrackets website.

Monday, March 11, 2013

<anglebrackets /> Front-End Web Conference

A new front-end developer conference is starting in Las Vegas April 8-11! This conference will be focusing primarily on the front-end concerns such as HTML5, CSS3, and JavaScript.

This event reminds me a lot of the Microsoft MIX conferences that used to be held for the last several years. I am glad to see something like this conference come to fruition and I'm honored to be one of the speakers chosen for its 1st meeting.

In addition, this conference will be taking place in-tandem with another conference called Dev Intersection & SQL Intersection. This other conference will be more focused on Microsoft and .NET technologies. These two conferences will be held at the time and location so you can hop between the conferences as you wish.

If you are interested in attending either of the conferences you can use the "MANOR" discount code for $50 off your <anglebrackets /> Registration OR Dev Intersection & SQL Intersection Registration price.

Speakers


At the <anglebrackets /> conference I'll be speaking alongside many well known speaker such as

  • Scott Allen
  • Todd Anglin
  • Justin Beckwith
  • Miguel Castro
  • Jim Cowart
  • Damian Edwards
  • Jason Follas
  • Brady Gaster
  • Phil Haack
  • Scott Hanselman
  • Christian Hellmann
  • Burke Holland
  • Billy Hollis
  • Scott Hunter
  • Denise Jacobs
  • Brian Noyes 
  • John Papa
  • Jonathan Snook
  • Lea Verou
  • Dan Wahlin

Sessions


Some of the sessions that look interesting to me are...

  • 5 Tips for Better JavaScript
  • ASP.NET - Don't Do THAT! Common Mistakes and Pitfalls
  • Break Out Of The Browser With HTML5
  • Comparing JavaScript Frameworks: Ember, Angular, and Knockout
  • Eventing and Messaging in JavaScript
  • Getting Started With Require.js
  • HTML5 for Business: Forms and Input Validation
  • Modern Single Page Applications with  HTML5, CSS3, JS, ASP.NET and Visual Studio
  • etc...

I will be presenting the following two sessions at the event


See You There!


It should be a fun event and I hope to see you there. There are also some nice workshops you might want to check out. If you are able to make it then come up after one of my talks or stop me somewhere, I'd enjoy getting to meet you.

Remember the "MANOR" discount code for $50 off your <anglebrackets /> Registration OR Dev Intersection & SQL Intersection Registration price.

Monday, February 04, 2013

FluentConf Advanced jQuery Training & Session

FluentConf 2013


Last year I was unable to attend FluentConf, but I'm honored to be on the Program Committee this year. In addition I'll be leading a 3 hour Advanced jQuery workshop and presenting a session on JavaScript.

Training Workshop

Advanced jQuery Techniques


On Tuesday, 05/28/2013 at 9:00am I will lead a workshop on Advanced jQuery Techniques. This workshop will be last 3 hours long and will contain a combination of both lecture and lab.

If you would like to attend this workshop you can add it to your schedule. You can view all of the other workshops from the FluentConf website.

Join appendTo’s Elijah Manor for a dive into advanced topics surrounding the front-end with jQuery. Utilize the jQuery library in the context of large-scale applications by learning how to dramatically improve performance, increase maintainability and reusability, and write cleaner and more concise code. Learn how to adopt a style that is maintainable and scalable while keeping simplicity as a core tenant for successful web development.

JavaScript Session

Angry Birds of Modern JavaScript Development


On Wednesday, 05/29/2013 at 1:45pm I will present a session titled Angry Birds of Modern JavaScript Development.

This is not your ordinary session, I've tried to mix things up by having each Angry Bird represent an area of JavaScript along with its strengths. Some topics covered include code organization, events and messaging, MV* frameworks, prototyping and mocking, design patterns, linting, and build systems. The goal is to defeat the pigs and by doing so produce highly tested quality JavaScript code.

A diabolical herd of pigs stole all of the front-end architecture from an innocent flock of birds and now they want it back! A team of special agent hero birds will attack these despicable pigs until they recover what is rightfully theirs, front-end architecture!

The Red Birds attacks with the force of their trusty IIFE, the basic building block of all privacy. The Blue Bird follows in his footsteps and triggers events and messages that scatter to infiltrate the pig’s castle. The Yellow Bird comes with a Require.JS speed booster and dynamically injects scripts against those pesky swine. The Black Bird is soon to follow and he provides a much more organized approach to fighting these porkers and introduces the Backbone.js bomb to their dismay. The White Bird appears to be seemingly harmless, but when it pulls out it’s strict coding style and bursts of quality checks the hogs are sure to squeal. The Green Bird can reach all of those hard to reach places and will mock and spy those stealing swine right where it hurts! The Orange Bird starts out small with a simple template, but then expands itself into a DOM blast that will surely send the message that the birds mean business. The Big Brother is not too far behind and he is pulling out the big guns with his finite state machine and other proven design patterns of destruction. The Mighty Eagle pulls up the ranks with a superior weapon of them all, a suite of tools that can organize and deploy all the other birds into battle against their soon to be be vanquished foe.

appendTo Virtual Live Trainings


In addition to the previous FluentConf workshop and session I also lead Virtual Live Trainings for appendTo.

If your company is interested in a private remote training experience on JavaScript, jQuery, Backbone.js, Underscore.js, RequireJS, or other web technologies please e-mail training@appendto.com for more information.

Here are some of the benefits of a Virtual Live Training (VLT)
  • Virtual Live Trainings can be located worldwide. I've performed numerous trainings both in the United States and overseas.
  • Virtual Live Trainings are cheaper than our On-Site Trainings because there is no additional cost for travel or hotel fees.
  • Virtual Live Trainings are well suited for 1/2 day trainings over a week duration enabling the students to gradually absorb the knowledge and also remain productive at their day job.
  • Virtual Live Trainings can be scheduled quicker than an On-Site Training since there is no travel involved.
  • Virtual Live Trainings get the same content and labs as an On-Site Training and to make it feel more personable I stream video of myself as well as my screen.

Tuesday, July 24, 2012

Exterminate Common jQuery Bugs Video


I recently gave a presentation at aspConf: The Virtual ASP.NET Conference on `Exterminating Common jQuery Bugs`. I recorded the session locally and the aspConf guys graciously processed it and hosted it on the Channel 9 website.

The video above is the full 1 hour session with all of the points from my blog series plus a couple more that I haven't blogged yet. You can view the slides from the presentation from my GitHub account.

If you enjoy the talk please consider rating it on Channel 9 and SpeakerRate.

I presented this same talk at the jQuery San Fransisco 2012 Conference about a month ago, but I was limited to 30 minutes so I had to trim down what sections I covered.

The session is not referring to bugs in jQuery core itself, but rather bugs that tend to crop up in your application code the more you use jQuery.

Each point focuses on Examining a code sample with a bug, Explaining what is going on, Exterminating the bug by solving it one or more ways, and then dive into some Extra tidbits of knowledge that might be interesting about that topic.

The bugs vary from synchronous/asynchronous code, looking into the $.each method, looking at some confusing jQuery methods, digging into event delegation, unpacking strange animation behavior, and much more.

I hope you enjoy the session and pick up at least one thing you didn't know and can start using right away.

I want to thank all the staff and volunteers that put together and ran the jQuery and aspConf conferences. I had a blast participating in the events and enjoyed interacting with the audience in person and virtually. Thanks!

Thursday, April 21, 2011

jQCon: Front-end Prototyping & Unit Testing with Mocking



Right after speaking at the Mix11 conference in Las Vegas, Nevada I flew to the jQuery Conference in San Francisco, California to present my next talk.

If you were able to attend my talk in person I would appreciate if you could give me some feedback on SpeakerRate. Thanks in advance! Unfortunately, the session was not recorded at the conference, but I plan to record the material soon and make the session available for to you to watch.

For this talk I focused on some prototyping and unit testing tools to help web developers quickly build their front-end while not depending on the back-end. Here is the abstract for the session:

Prototyping and Unit Testing with Mockjax, mockJSON, and Amplify
The front-end and back-end of your application inevitably progress at different speeds. In order for each layer to develop independently it is optimal if the front-end piece can work regardless of the back-end, which is where the Mockjax plugin or the Amplify Request component comes in. These tools can intercept and simulate ajax requests made with jQuery with minimal effort and impact to your code. Another tool that works well with these tools is mockJSON which provides a random data templating feature. This can be very handy when you want to mock a JSON response from a AJAX call, but instead of manually building the response you can build a template to do it for you.

As you are developing, Mockjax or Amplify Request can also be used to help Unit Test your front-end code. You can setup a static mock responses to your requests and then Unit Test your Ajax success and fail event handlers.

At the end of the presentation I went through a demo showing the various types of prototype and unit testing techniques you can utilize using Mockjax, mockJSON, and Amplify. The source code for all of the examples I presented can be found on my GitHub account.

The demonstration code goes through the following steps (they are outlined in the index.html comments):
  1. Use a local JSON file with contacts and have $.getJSON refer to that endpoint
  2. Update URL to use the real endpoint and use Mockjax to intercept and return the contacts
  3. Use mockJSON and Mockjax to return a random set of contacts based on a template
  4. Use Amplify Request and return an array of mock contacts (this part was mentioned, but not demonstrated)
  5. Uses Amplify Request and mockJSON to return an random array of contacts*
  6. Updates Amplify Request Definition to pull contacts from Whitepages instead*
  7. Pulls out Amplify Request decoder and type to allow reuse for later requests*
* No code changes were made to the main application. The only changes made were to the amplify.request.define statement.

View Slides Download Code

Wednesday, April 20, 2011

Mix11 Video: Good JavaScript Habits for C# Developers



If you were able to watch my presentation (either in person or the above video) please consider rating my talk on SpeakerRate and providing a comment with your feedback. Thank you.

Thanks to everyone who voted my talk, I was able to present again at Mix again this year. In my presentation I reviewed some common problems that C# developers tend to make when moving to the JavaScript language. The languages look very similar, but they are very much different and knowing these differences is key!

You can view the recorded session above. The conference was jam packed with great sessions and many times it was difficult to pick which one to attend. Fortunately, all the sessions were recorded and Mix did a great job about publishing the videos only a few days after recording.

Throughout the presentation I list several resources that you might want to dig into and research for yourself.

Slides and Articles
  • I have hosted the slides from the video. I utilized an HTML5 Presentation tool and the slides are best viewed using either Google Chrome or Firefox. 
  • The article series this video was based on can be found on Enterprise jQuery

Tools
  • JSLint.com by Douglas Crockford
  • JSHint.com (a fork of JSLing supported and maintained by the JavaScript developer community) by Anton Kovalyov

Books

Articles

Video


Monday, March 28, 2011

20 Mix11 HTML5 and JavaScript Sessions

This year I will be attending the Microsoft Mix Conference again in Las Vegas (April 12-14 2011). There were a lot of great sessions last year and there appear to be many more scheduled for this year.

I have listed 20 sessions (in alphabetical order) that I hope to attend if the schedule permits, otherwise I'll just catch the videos that will be posted shortly after they are presented.

In addition to these sessions I'm also looking forward to the Future of the Web keynotes by Scott Guthrie, Dean Hachamovitch, Joe Belfiore.

If you are already going or plan to attend after seeing these great sessions, then I hope to see you there! It should be another great conference! See http://live.visitmix.com/mix11 for more details...

  1. 5 Things You Need To Know To Start Using <video> and <audio> Today

    Nigel Parker

    Come along to this session to get an overview of the new video and audio tags from the HTML5 specification. Discover how to use them to play media in modern browsers and on mobile devices. Learn the most advanced techniques and best practices, including encoding optimizations, custom skinnable players, full screen workarounds, seeking settings and fallback scenarios for legacy browsers.

  2. 50 Performance Tricks to Make Your HTML5 Web Sites Faster

    Jason Weber

    Learn how you can make your sites faster directly from the Internet Explorer Performance Team. These are the same guys who brought you GPU accelerated graphics and compiled JavaScript with Internet Explorer 9, and they’re going to share their favorite 50 best practices for web developers. This session will provide an inside look into browser performance, discuss why common web best practices are important, and then go deep into how to get the most from new HTML5 capabilities including Canvas, Audio, Video, SVG, local storage, and more.

  3. Building Business Centric Application in JavaScript

    Deepesh Mohnani

    Building end-to-end data-intensive JavaScript applications has never been easier. In this session, we will talk about tools that let you focus on business logic, without having you worry about plumbing and infrastructure, making your development process more productive. Attendees will learn about the latest investments that are being made to simplify development of business-centric applications, bringing rich data and visualization to your jQuery client using WCF and WCF DomainServices.

  4. Data in an HTML5 World

    Asad Khan

    Come and learn about ‘datajs’. datajs is a new cross-browser JavaScript library that enables better data-centric web application by leveraging HTML5 browser features and modern protocols such as OData. It's designed to be small, fast, and provide functionality for structured queries, data modification, and interaction with various cloud services, including Windows Azure.

  5. Deep Dive Into HTML5 <canvas>

    Jatinder Mann

    If you’ve seen the demos for Internet Explorer 9’s hardware accelerated graphics, you are probably excited to learn the details of HTML5 Canvas. With all major browsers supporting HTML5 Canvas, a scriptable 2D drawing context, Canvas is quickly becoming the natural choice for graphics on the web. In this session, you will learn advanced Canvas concepts (including the origin-clean security and the Canvas Drawing Model), understand when to use Canvas versus SVG and get a deeper look at how the Internet Explorer team solved interoperability issues as we implemented the specification. You will learn to build HTML5 Canvas websites through best practices and lots of code samples.

  6. Designer and Developer: A Case for the Hybrid

    Jeff Croft

    Should designers code? Or is is okay for one to specialize in visual design and expect others to build their vision? As we get farther and farther away from the days of the "webmaster," and become an industry of specialists, are we losing some of the beauty, efficiency, and innovation that can be found at the point where design and development intersect? Jeff Croft, hybrid designer and developer, makes the case that the best web products will always be created by designers who understand the building blocks of the web: the code.

  7. Filling the HTML5 Gaps with Polyfills and Shims

    Rey Bango

    Everyone wants to jump into HTML5 but how do you use the cool features of this new specification while ensuring older browsers render your web pages as expected? This is where polyfills and shims come in. In the session, you’ll learn how to use specially crafted JavaScript and CSS code that emulate HTML5 features so that you can take advantage of HTML5 today without breaking your sites in older browsers.

  8. The Future of HTML5

    Giorgio Sardo

    We love HTML5 so much that we want it to actually work – in an interoperable, predictable manner across all browsers. In this session you will learn the current status of HTML5 and the Open Web Platform and what will take to bring it to a Recommendation. You will also preview the next emerging standards and understand Microsoft implementation approach through prototypes. Finally ride the DeLorean at 88mph and discover some of the work being done by Microsoft with the W3C on what will lead into HTML6.

  9. Going Mobile with Your Site on Internet Explorer 9 and Windows Phone 7

    Joe Marini

    The mobile Web is here, it’s huge, and your business can’t afford to ignore it. Mobile users have come to expect their favorite Web sites to give them a great mobile experience – otherwise, they find new favorite sites that do. In this session, Joe Marini, Principal Program Manager for Internet Explorer on Windows Phone will take you through the design and experience principles you need to consider when creating your mobile Web presence, teach you about the exciting new HTML5 capabilities that Internet Explorer 9 on Windows Phone 7 will support, and show you how to give your sites the next-generation features you need to engage your users on their smartphones.

  10. Good JavaScript Habits for C# Developers

    Elijah Manor

    It seems that far too many people come to jQuery thinking that their previous knowledge with object-oriented languages like C# or Java will help them be successful at client-side scripting. In many cases, you can be successful with this approach, however, the more JavaScript you write you will inevitably find yourself uncovering strange bugs because you didn't take time to learn JavaScript properly. This session is targeted for developers that use jQuery, but haven’t invested adequate time to learn some of the foundational JavaScript concepts that differ from C#. If you would like to avoid some of these common mistakes when bringing your existing expertise to JavaScript, then please join me as I try to explain some of the differences.

  11. HTML5 with ASP.NET

    Mads Kristensen

    This talk is all about code. Whether you are building a new website using ASP.NET or maintaining an existing one, you’ll leave the talk ready and able to utilize HTML5 on ASP.NET. We’ll look at what HTML5 offers modern application developers and how you can code HTML5 with ASP.NET WebForms or ASP.NET MVC today and tomorrow.

  12. JavaScript Panel

    Luke Hoban, Allen Wirfs-Brock, Tomasz Janczuk and Doug Crockford

    JavaScript is one of the most widely used general purpose functional, dynamic and prototype-based object-oriented programming languages on the web with considerable amounts of JS even running outside of the browser in other hosts. The language has matured and is currently in version 5 (officially, this is known as EcmaScript 5). Where did it come from? What problems was it initially designed to solve? How has it managed to scale to so many different usage scenarios? What are these scenarios, exactly? What does EC5 add to the language and what specific problems do these new additions solve? What's missing from the language? How will it evolve? How general purpose is JavaScript, really? The folks who will be on stage can answer all of these questions, but most importantly, YOU will drive the panel with your own questions. What do you want to know? What's the most burning question you have in your mind related to JavaScript? Answers await.

  13. Knockout JS: Helping you build dynamic JavaScript UIs with MVVM and ASP.NET

    Steve Sanderson

    Steve Sanderson delivers KnockoutJS in this lightening talk. Learn how the Knockout library builds on advanced jQuery and JavaScript techniques to make even the most complex data-filled HTML forms a breeze. We’ll see jQuery, jQuery templating, JSON and live data banding applied wto the MVVM pattern with Knockout, combined with ASP.NET to produce results that need to be seen to believed.

  14. Making Better Web Apps For Today's Browsers

    James Mickens

    Microsoft Research is working on several cool ways to make web applications faster and more robust. In this session, James Mickens will describe two projects that leverage JavaScript to improve web programs running on unmodified, commodity browsers. His talk will focus on Silo, a system that exploits DOM storage and AJAX to make web pages load more quickly. He’ll also describe Mugshot, a framework which allows developers to capture and replay JavaScript application bugs that users encounter in the wild. Neither project requires users to install a plugin or otherwise change their browser.

  15. Modernizing Your Website: SVG meets HTML5

    Jennifer Yu

    Scalable Vector Graphics (SVG) integrates with the HTML5 and CSS features to unleash some of the most beautiful experiences on the web. In this session we’ll explain what is SVG and when you should consider using it instead of other alternatives. We’ll show you how to create content that is interoperable across browsers and devices. We’ll cover common pitfalls to avoid, as well as look at the best SVG tools and libraries available to developers. We’ll walk through code samples to learn first-hand how you can bring a high quality, interactive SVG experience to your customers.

  16. Node.js, Ruby, and Python in Windows Azure: A Look at What’s Possible

    Steve Marx

    Most people using Windows Azure are using ASP.NET and PHP, but Windows Azure is much more general than that. Steve Marx will show how he built a few web apps (including his blog) that run on Windows Azure and don’t use .NET or PHP. Server-side JavaScript, Ruby, and Python will be the most prominent examples.

  17. An Overview of the MS Web Stack of Love

    Scott Hanselman

    Oh yes. Building web applications on the Microsoft stack continues to evolve. There’s lots of great tools to leverage, but it can be difficult to keep up with all the options. In this technical and fast-paced session, you’ll learn from Scott Hanselman how the pieces fit together. We’ll look at ASP.NET MVC 3, MvcScaffolding, Entity Framework Code First (Magic Unicorn Edition), SQL Compact 4, jQuery and more. We’ll also see how many times Scott can say “unobtrusive” in a single talk. You’ll leave this session with a clear understanding of the technology options available on the Microsoft Web Stack. What’s changed since PDC? What direction are we doing? Let’s see what we can build in a PowerPoint-free hour with the Microsoft Web Stack of Love.

  18. Pragmatic JavaScript, jQuery & AJAX with ASP.NET

    Damian Edwards

    jQuery turned the world on its ear. Do we still write JavaScript or do we just write jQuery? Damian will answer that question with new JavaScript techniques and AJAX as well as some jQuery plugin surprises up his sleeve. What are the best libraries and practices for using jQuery and JavaScript with ASP.NET? How should balanced applications be designed to make the best use of the power of the server and the power of the client?

  19. Reactive Extensions for JavaScript (RxJS)

    Bart De Smet

    Nobody likes sluggish web interfaces that get stuck when interacting with servers and services. Asynchrony has become the way of life to enhance user experiences. The A in AJAX pinpoints this observation precisely. Moreover, the sheer amount of asynchronous data sources is overwhelming: stock tickers, Twitter quotes, RSS feeds, you name it. Unfortunately, the programmability story for each of those sources differs significantly, with little to no unification or compositionality. Got tired of writing cumbersome code with plenty of callbacks, tedious logic and tricky error handling? Enter the Reactive Extensions, a library to seamlessly compose all kinds of asynchronous “reactive” data streams using LINQ-style query operators, available for both .NET and JavaScript (RxJS). Come and learn how Rx will make your life as a web developer easier when dealing with the asynchronous reality of modern web programming.

  20. The View of the World Depends on the Glasses I Wear

    Thomas Lewis

    There is no mobile Web, there is no desktop Web, and there is no tablet Web. We view the same Web just in different ways. So how do we do it? Sitting next to HTML5 is its friend CSS3 with its support for Media Queries. Media Queries let you customize your web experience based on parameters of display, device, properties and more. If you are a designer or front-end developer, come to this session to explore the sheer brutality of CSS3 Media Queries.

Friday, February 04, 2011

jQuery Conference Boston 2010 Video: Intro to jQuery UI


The presentations from last year's jQuery Conference Boston 2010 are now online for you to view. You can click the above picture to watch my introduction to jQuery UI. The material is targeted to someone who hasn't seen jQuery UI at all or knows very little about it.

Slides

I have hosted my slides from the presentation if you are interested.

Other Presentations

In addition you can check out most of the other sessions from the jQuery Conference Videos page.

Some of talks the talks that I found particularly interesting were...


Thursday, January 27, 2011

JavaScript DevExpress Webinar on 2-Feb-2011

The fine people at DevExpress are letting me present a Webinar covering the Good C# Habits can Encourage Bad JavaScript Habits series that I wrote on the Enterprise jQuery website.

The Webinar will take place on Wednesday February 2nd, 2011 at 12:00pm CST (other time zones).
This happens to be the same talk that I submitted as a proposed topic to the Mix11 conference. I would appreciate if you could vote for my session to be included in the conference line-up. Thanks!
The session is considered beginning as it covered introduction level JavaScript concepts that may not be known by a typical C# developer. The talk will last about an hour, but it may go a little over with questions and answers.

Register Now

Wednesday, January 26, 2011

Mix11 Open Call Session Voting

The voting for the Open Call sessions for the Mix11 Conference has begun again this year and I'm honored that my session made the cut this year.

According to their voting page there are 206 sessions that made it to this stage of the selection process.

You can view all of the sessions on Mix's updated Open Call page and you are allowed to vote up to 10 sessions.

The session that I submitted this year is...

Good C# Habits can Encourage Bad JavaScript Habits 

Elijah Manor

It seems that far too many people come to jQuery thinking that their previous C# knowledge will help them be successful at client-side scripting. In many cases, you can be successful with this approach, however, the more JavaScript you write you will inevitably find yourself uncovering strange bugs because you didn't take time to learn JavaScript properly.

This session is targeted for developers that use jQuery, but haven’t invested adequate time to learn some of the foundational JavaScript concepts that differ from C#. If you would like to avoid some of these common mistakes when moving from C#, then please join me as I try to explain some of the differences.

Some of the topics that will be discussed in this session are:
  • Having Variables & Functions in Global Scope
  • Not Declaring Arrays & Objects Correctly
  • Not Understanding False-y Values
  • Not Testing & Setting Default Values Correctly
  • Using the Wrong Comparison Operators
  • Not Using the for…in Statement Correctly
  • Misunderstanding Scope in JavaScript
  • Not Knowing Variable and Function Hoisting
  • Not Using Closures Correctly or at All
Since jQuery is a library that is built with JavaScript and used alongside JavaScript, it is important that you, as a developer, understand what you are doing. jQuery helps alleviate many of the DOM frustrations that you may have, but you should still take time to be proficient as a JavaScript developer. By doing so, it will increase your jQuery code quality, make it more efficient, and easier to maintain.
If you find my session interesting please vote for my session (even if you can't personally made the event... it will be recorded for playback on their website after the conference).

Thursday, March 18, 2010

Mix10 Session - 6 Things Every jQuery Developer Must Know

This year I was chosen by the community to speak at Mix10 as one of the Open Call sessions. I was honored to be selected and thoroughly enjoyed attending Mix10 and building relationships.

My session was entitled 6 Things Every jQuery Developer Should Know

This seminar provides an overview of several in-depth concepts that developers need to learn to bring their jQuery development to the next level. We review six things that you should know, such as: "What Is This?", "Am I Referencing the jQuery Object or a DOM Element?", "Understanding Selectors", "Combine and Minify Your Scripts", "Different Ways of Storing Data", and "The Dos and Don'ts of Events". Along the way, we share several helpful websites and tools to make your job as a jQuery developer easier.

Mix10TalkImage

For each of the 6 points I started with beginning material and then progressed to intermediate then advanced concepts. When I moved to the next point the content would go back to beginner and then progress to advanced. In this way, I hoped to reach a wider audience with things tips they could take away from the session. 

The video from my talk is now available from the Mix10 website. You can watch the video and also download my web-based presentation along with the code I showed.

Unfortunately, the main demo that I wanted to show didn’t work during the presentation. The demo worked the night before & it works now. My guess is that the Picasa Web API was temporarily down during my talk, which is unfortunate. I guess I should have expected something to go wrong. Anyway, overall I think it went well. I had several questions at the end and people stayed after to ask questions as well.

During the presentation I listed several resources that I recommended. I pulled those out and provided them below for quick access them. Some of them I demonstrated during the talk and others I just referred to as good resources you may want to check out.

3h. Knowing Selectors

6. Combine & Minify Scripts

If you were able to attend my session at Mix10 or watch the above video recording, I would appreciate if you could take a moment to rate my talk on speakerrate.com. Thank you again for voting my session into Mix10.

Note: Someone asked me what Visual Studio theme I was using to show the code near the end of the session. As it turns out, I was using JetBrains WebStorm IDE. Jeffrey Way did a great mini-screencast review of the new IDE on Nettuts.

Tuesday, January 05, 2010

Mix10 Open Call Entry Voting Has Begun: My 4 jQuery Sessions

Mix10_Vote_blk_240_3 Mix 2010, a 3 day Microsoft conference for web designers and developers, recently opened up to all developers the opportunity to submit sessions that will be voted upon and possibly included in the conference line-up. 

Voting for these sessions begins today (January 5, 2010) and will close on January 15, 2010. At the end of the voting they will choose 10 sessions with the highest votes to be added to their conference. The winners of the selected proposals will be announced January 18, 2009.

You can view a comprehensive list of sessions or a filtered list of just my 4 jQuery sessions on the Mix10 website. There are 162 sessions and 92 speakers represented in the voting. You are able to vote for 5 sessions during your ballet submission. How do I know those stats… well, because I’m a geek and ran some jQuery in the FireBug console ;)

var uniqueSpeaker = [];
var speakerSelection = $('table tr td:nth-child(2) a');
speakerSelection.sort().each(function(i) {
   var speaker = $(this).text();
   speaker = speaker.replace(/^\s+|\s+$/g,"")
   if (uniqueSpeaker[speaker] === undefined) {
      uniqueSpeaker[speaker] = 1; 
   } else {
      uniqueSpeaker[speaker] += 1;
   }
});

var numberOfUniqueSpeakers = 0;
for(var key in uniqueSpeaker) {
   console.log(key + ': ' + uniqueSpeaker[key] + ' sessions');
   numberOfUniqueSpeakers++;
};

console.log('Number of Sessions: ' + speakerSelection.length);
console.log('Number of Unique Speakers: ' + numberOfUniqueSpeakers);

Note: If you actually wanted to run the above script you will need to jQueryify the Mix10 Open Call Entries webpage since it doesn’t have jQuery referenced. The jQueryify bookmarklet inject jQuery into a webpage that doesn’t already have it referenced.

Speaking of jQuery, the 4 session that I submitted to Mix10 are jQuery related…

6 Things Every jQuery Developer Must Know

An overview of several in-depth concepts that developers need to learn to bring their jQuery development to the next level.

We will review 6 things that you should know such as "What Is This?", "Am I Referencing the jQuery Object or a DOM Element", "Understanding Selectors", "Combine and Minify Your Scripts", "Different Ways of Storing Data", and "The Dos And Don'ts of Events".

Along the way, I'll share several helpful websites and tools to make your job as a jQuery developer easier.

How to Debug Your jQuery Code

In the past 10 years, more and more Web development has moved off the server and migrated to the browser, making a user's experience more responsive. Unfortunately, this transition hasn't always been pleasant for developers. The good news is that tooling Front-End debugging is much better.

We will examine some necessary tools for development such as FireBug and several other helpful tools. Our main focus will be on Debugging Selectors, Debugging Events, and Debugging Chains. During the session we'll review some common scenarios and how to debug them.

Custom jQuery Events and Selector Filters

jQuery has a wide variety of events and selectors that it already supports. Despite the rich functionality jQuery provides, you will eventually come to a spot where you need some event or selector that it doesn't support. The good news is that jQuery has made it easy to extend the library to support custom events and selectors.

In this session we are going to take a look at some of the existing events and selectors that jQuery makes available and then we will move on to show how we can extend jQuery to support our own custom needs.

Along the way, we will touch on what Event Driven Programming means and how custom jQuery events can make your code abide by the Open Closed Principle.

jQuery Test Driven Development

The concept of Unit Testing has been around for quite some time in the development world, but it's adoption in the JavaScript arena has been quite low.

In this session, we will examine a jQuery Unit Testing framework and a JavaScript Mocking framework to assist you in your Front-End Browser Unit Tests.

You can also use the discipline of Test Driven Development as you build out new jQuery and JavaScript functionality.

We will also examine how to integrate these Unit Tests into your Continuous Integration environment.

Of course I’d like for you to vote for one or more of my jQuery sessions above (click the Vote For Our Session Submission image above), but in addition I recommend you also look at the sessions by the following individuals…

image003

Friday, August 14, 2009

How to Create Your Own jQuery Plugin

I just gave the following presentation at devLINK on “How to Create Your Own jQuery Plugin”.

SommetGroupjQueryPluginTshirtYou can download the code samples and slides and investigate them in more detail.

I am considering making a screencast or a blog series on the concepts described in my presentation. I find that just posting a bunch of code and slides don’t tell the whole story for those that didn’t actually attend the talk.

At the end of the talk I gave away custom made jQuery Plugin t-shirts for those that asked relevant questions. A huge thanks goes out to my company, Sommet Group, for making such awesome shirts!

Additional thanks go out to the follow resources that I used to help assist me with my presentation

I will create another blog post on some of the helpful bookmarklets & plugins that I find useful when developing in jQuery, but I did want to mention one website that is helpful when starting a jQuery Plugin from scratch.

It is called Starter: jumptstart Your jQuery Plugins and you just provide the new jQuery Plugin name, optional namespace, parameters, options, etc… and then you are on your way focusing on the guts of your Plugin.

starter

Friday, June 26, 2009

Useful jQuery Tips, Tricks, and Plugins with ASP.NET MVC

I’ve given several User Group talks thus far, but this morning I gave my first conference presentation this morning at CodeStock in Knoxville, TN.

Thanks to all that came out to the talk. I hope you found some useful tips &| tricks that you can your in your near to short term development.

If you were able to attend the presentation could you please consider filling out a rating of the talk to help assist me become a better presenter?

Feel free to grab the sample code that I used during my presentation. Since I used Google Docs Presentation for my slides I am going to embed those here for your review.

Personally, I like it when people post their slides & code on their blog, but then several months down the line it is difficult to find that information again…

So, I plan to split apart the presentation into numerous detailed blog posts for those that were unable to make CodeStock and for those who would like to find the material easier in the future.

Thanks again for all of you who attended my presentation. I look forward to the rest of the conference.

Monday, May 18, 2009

Speaking at CodeStock 2009

I am honored to have been picked as one of the CodeStock 2009 speakers for this year. Thank you to everyone who voted for my session!

The results of the voting came out yesterday and have been posted to the CodeStock website.

Useful jQuery tips, tricks, and plugins with ASP.NET MVC
Elijah Manor - ( Area: ASP.NET MVC Level: 200)

ASP.NET MVC has included the jQuery framework as part of their installation package. There are many ways in which jQuery compliments ASP.NET MVC by making the Views very simple. This session will review various tips, tricks, and plugins that demonstrate how jQuery and ASP.NET MVC work very well together.

codestock_title_09

CodeStock will be taking place June 26-27, 2009 in Knoxville, TN.

Purchase your tickets today!

You can find a list of Twitter Users that have already signed up for CodeStock on their website.

I hope to see you there! I’m sure I’ll be tweeting about my experiences :)

Monday, April 20, 2009

Presenting jQuery Plugin Session at devLink Conference

Last month I submitting 6 sessions to this year's devLink Conference.

I recently found that they accepted the advanced session on 'How to create your own jQuery Plugin' that I had proposed.

Here is the session abstract for those of you who are interested...

How to create your own jQuery Plugin

There comes a time when the jQuery plugins currently available just don't meet your immediate needs. This session will show you how to go about creating your own plugin and will address key points you need to consider while making a plugin.
I've been to devLink for the past two years and it's definitely worth the time and money. It is a great chance to learn new concepts and to meet and share ideas with fellow geeks!

Here is some more information about the conference...
When
August 13 - 15, 2009
Reg. Opens
April 1, 2009
Reg. Closes
July 30, 2009 or until sold out (800 available)
Cost
Standard Ticket - $100
Where
Lipscomb University

Friday, June 23, 2006

Conferences, Talks, Screencasts, etc...

This post is mainly to help me document when and where I have spoken and done other types of community type events (screencasts, podcasts, video, etc...)

I guess it could also be useful for someone to see any upcoming events I might participate in. For whatever reason, here it goes...

Conferences

User Groups

Screencasts

Podcasts