Rey Bango

JavaScript, HTML, CSS & Random Stuff…

I’m 43 Years Young Today

Yep, today is my birthday and I turn 43 but I genuinely don’t feel it. Not sure if my body is holding up well or if it’s my sunny disposition but I regularly hear guys complaining about getting old; I just don’t feel it.

It’s not to say that I don’t get the occasional pain here and there or that my metabolism is still running at rabbit speed (my belly can attest to that). I just honestly feel young. :)

I also feel really fortunate to have made it this far and been able to experience so many awesome things. I have an incredible wife and four amazing daughters. I’m in a really good space.

So if this is what getting old is like, then I’m looking forward to it. :)

Eloquent JavaScript is one of the Best JavaScript Books I’ve Read

The kind folks at No Starch sent me over a copy of the newly released book, Eloquent JavaScript by Marjin Haverbeke. I had already been recommending the namesake site as a must-read resource on my list of What to Read to Get Up to Speed in JavaScript so actually having the book was a welcome change. I know some people love to read stuff on the web but call me old fashioned in that I really like the feel of a book in my hands.

What I loved about this book is that it’s not your typical reference tomb. The basic premise is that it’s going to teach you proper constructs for writing solid JavaScript code as opposed to listing every method, attribute, data type or property ever included in the JavaScript language. It gets straight to the meat of JavaScript development, introducing you to the basic constructs of the language and then quickly diving into more complex topics such as partials and currying. This is all done in a step-by-step approach to give the reader an opportunity to not only digest the material but also see actual results in real-time. Definitely a great approach.

Differences Between the Site and the Book

As I mentioned the book is based on the great work that Marjin did on the namesake site. I’ve seen the site and absolutely love it but to me, I feel the book is a MUCH more organized version of his thoughts. The content is broken down into logical sections with better headers which makes conceptualizing specific areas much easier.

And again, I truly am partial to reading books instead of websites so for me, having the book was a real blessing.

What about JavaScript Libraries?

This book is really focused on the JavaScript language itself and not libraries. If you’re interested in really becoming a better JavaScript developer so you can take full advantage of your favorite library, then this book is a great choice. It’s a complementary selection.

My Visual Studio 2010 HTML5 Templates are Updated for jQuery 1.5.1 and Modernizr 1.7

I wanted to do a refresh of the Visual Studio 2010 HTML5 Templates I created last September. With jQuery now at v1.5.1 and Modernizr at v1.7, it was time for an update.

If you’ve already downloaded my original templates, you can simply overwrite those with the following files. If you’re new to this, then download the files and drop them into the folders I mention immediately below each file:

HTML5 Page Template with jQuery 1.5.1 & Modernizr 1.7

Drop this into “Visual Studio 2010 > Templates > ItemTemplates” folder

HTML5 Web Site Template with jQuery 1.5.1 & Modernizr 1.7

Drop this into “Visual Studio 2010 > Templates > ProjectTemplates” folder

Using the Templates

Once in place, all you have to do is select “File=>New Web Site” to use the new template:

To create a new HTML5 web page template, you’d select “File=>New File” to choose the HTML5 Page Template

IE6countdown.com – Pushing for IE6 to Die

Still not convinced that Microsoft is serious about getting Internet Explorer 6 users to upgrade? I’ve not seen too many companies that actually create a site dedicated to moving users off of their product but that’s what Microsoft is doing with the IE6 Countdown site.

It’s a great initiative that helps people better understand where the highest usage of IE6 is along with information to help users upgrade to a better, more modern version of Internet Explorer. The site also provides a code snippet that you can include in your site that will prompt IE6 users to upgrade.

From the looks of it, China and South Korea have the largest amount of IE6 users worldwide although the U.S. at 2.9% is still pretty high. We need to get this figure down to about 1% at which point the usage will be so small that we can focus on modern browsers.

Also, if you have friends who are corporate users and they feel stuck, be sure to tell them about the resources outlined here.

The New HTML5 Logo by the W3C Looks Great!

The World Wide Web Consortium (W3C) announced their vision for a logo to represent HTML5 and related technologies. I have to say the logo looks awesome and I’ll be adding it to my blog shortly. Check it out below:

You can download them individually from the W3C website or if you’d like to grab them all in one shot, I’ve packaged them up in a zip file.

HTML5 Logos (.zip file)

You can read more about logo usage & license via the W3C’s FAQ.

What to Read to Get Up to Speed in JavaScript

There’s a discussion going on on the JSMentors JavaScript mailing list about books to read to get you to the next level. There’s been a lot of great feedback and suggestions thrown out and I wanted to offer up what I felt were good books/resources to carry you through the learning process. While I list a number of books in the Big List page that I created, narrowing it down into specific levels makes a lot of sense.

Note that some resources will overlap between levels. That should be expected as some books cover a wide breadth of language features. Also, I am NOT covering blogs in this post, only books (print and online). If you think something’s missing, please add it to the comments below.

Also, I’m not saying that you need to read every book mentioned below. These are books that I’ve read over the years and found incredibly useful so I’m categorizing them to make it easier for you to get going. I’ve done the legwork so need for you to do the same. Choose the books that you feel suit you.

Introductory

These are books that will give you the fundamentals of the JavaScript language and get you started:

Intermediate

Once you’ve gotten an understanding of the basics, it’s time to get a resource that will take you deeper and in many cases be your reference for years to come. These books fit that description.

Advanced

You have a firm grasp of the JavaScript language and now you want to step up your game. These books will help you get the knowledge you need to organize your applications and build maintainable code.

God Mode Reading

As Peter van der Zee likes to call it “godmode; the actual specification”. Want some deep reading and know every nook and cranny of the language. Here ya go:

Blogs

What if *I* had to Choose Just 3 Books

If I had to choose just three books to have in my stash, I’d go with the following:

Some may disagree with me on this but I’ve personally found each one of these books incredibly valuable. Professional JavaScript for Web Developers is a complete reference and covers EVERYTHING. All developers need a book like this. The book on Object-Oriented JavaScript is great to give you an understanding of leveraging one of the best features in JavaScript. Once you get past the basics, you’re going to want to identify key coding practices that make your code better and more maintainable. JavaScript Patterns helps you do that.

What would you guys choose?

Why We Built the JSMentors.com JavaScript Mailing List

I posted earlier this week about the launch of the JSMentors.com mailing list. So far the response has been amazing. The list has grown from 344 on Nov 29 to 900+ today. Just phenomenal growth and a testament to the need of the list. But where did this idea come from?

comp.lang.javascript Was Not for Me

I’ve been involved in the JavaScript community for some time, especially with the jQuery JavaScript library project. I’ve been fortunate to make a lot of friends who have helped me overcome many of the pitfalls and hurdles normally associated with becoming a JavaScript developer. As I began feeling more confident, I did what I feel most people do when they want to advance their skills to the next level and ventured over to comp.lang.javascript (CLJ). CLJ has a long history due to its roots in the newsgroup mediums which predated forums as the main method of communicating about many topics. I had heard that the developers there were top notch and you could find great content. To me, this was the obvious place to go. So I went. And I regretted it.

Everything people said was true. There are many incredibly smart and savvy JavaScript developers there; I would say some of the best in the world. The problem I encountered was a consistent lack of manners, courtesy and respect that completely overshadowed any of the conversations that were going on. I’m not alone in this feeling. And this seemed to be happening due to a small but vocal minority that tended to hijack any thread and turn them into their own chest-thumping diatribe. I’ve dealt with tough crowds before but even I was shocked by what was happening here. Couple that with the insane amount of spam being posted there, I knew that *I* wouldn’t be successful in this environment (CLJ) in spite of some of the great information being posted. Notice how I highlighted “*I*”. That’s because CLJ may be perfectly suited for others. I know several developers who participate and find it useful. It just wasn’t for me.

A Community Resource

So I began chatting with Asen Bozhilov about this and explained how I would love to see a list where anyone who wanted to become a better JavaScript developer could go to and participate in a courteous, respectful and professional environment. It was also important to have as many of the non-confrontational experts on CLJ serve as mentors and share their knowledge with people who genuinely wanted to learn but didn’t want to be shot down or berated due to their skill level. So Asen & I set about creating JSMentors.com. Asen is one of this super experts and he has very close ties with many of the experts on CLJ. After chatting with them a bit, many found this to be a great idea, especially since it offered them:

  • A chance to teach best practices to an ever-growing community of developers
  • A medium to publish content that they felt was important
  • An opportunity for the JavaScript world to meet these top developers and begin learning from some of the best

The important part was that each of these mentors understood that this list was going to be very different and that our goal was to nurture a community. And we made the rules of the list perfectly clear to ensure no confusion:

  • No insulting other subscribers
  • No posting racism
  • No spam publications

This had to be different from CLJ to work. It had to focus not only on the language but also the community.

JSMentors.com is Born

The list was launched with little fanfare. We wanted it to grow organically to see how people would react and that was a great tact. Since launching, we’ve steadily grown the mailing list as well as the list of mentors. The great thing is that we’re getting top-level developers involved who would never had considered participating in CLJ due to the tough nature of communication there. This was exactly what we wanted. A place where developers of ALL skill levels can go and exchange ideas in a professional setting. It’s not to say that occasionally there won’t be disagreements. That’s normal. But Asen & I actively monitor the list and we’re adamant about the rules we’ve set and maintaining a good list. Ultimately, we want everyone to become better developers and yes, I have a little selfish motivation myself as the opportunity to learn from so many top developers is one my drivers for this list. And I think that’s a good thing. :)

JSMentors.com – The Mailing List to Learn JavaScript in a Professional and Courteous Environment

There are a number of resources on the Internet for reading up on JavaScript but very few viable options for actually exchanging ideas with extremely knowledgeable JavaScript developers, especially when it comes to just wanting to know about JavaScript itself and not a specific JS library. This was a pain point I personally felt when I wanted to learn more about the language and be able to have “mentors” that could help me better understand JS and ECMAScript.

After chatting a bit with JavaScript expert Asen Bozhilov about this, we decided to fill that hole by launching a new mailing list called JSMentors that allows developers to get to know the language and find the expert guidance in a friendly and professional environment. The list offers developers a place to:

  • Discuss ECMA-262 standard
  • Discuss different implementations of ECMA-262
  • Discuss different host environments of JavaScript
  • Discuss implementation of algorithms in JavaScript
  • Discuss your library design
  • Review your code
  • Review your book on JavaScript topic
  • Review your article on JavaScript topic

We also wanted to provide a list that was professional, courteous, and friendly to developers of all skill levels. Too many forums, newsgroups and lists look down on beginners or questions deemed too introductory and we wanted to ensure that JSMentors didn’t fall into that same hole. So we created a set of simple rules. Via the JSMentors mailing list you must not:

  • Insult other subscribers
  • Post racism
  • Spam publications

So far it’s been working great and developers are getting the mentoring that they desperately want and need. And the great thing is that the mentors are a who’s-who of the JavaScript world. Check out this list:

  • Garrett Smith
  • Juriy Zaytsev a.k.a. kangax
  • Dmitry A. Soshnikov
  • Steven Levithan
  • John-David Dalton
  • Stoyan Stefanov
  • Benjamin Rosseaux a.k.a. BeRo
  • Diego Perini
  • Angus Croll
  • Peter van der Zee
  • Christian C. Salvadó
  • Peter Michaux

One important thing to note is that the main focus of the list is the JavaScript language and while you can post about JavaScript libraries, you’re more likely to get a better answer in a library’s specific support forum or list than on JSMentors.com.

Asen and I would like to invite developers to join JSMentors.com and create a productive list to help everyone become better JavaScript developers and help push the web forward.

Presenting at the jQuery Summit Online Conference on November 17th

Next week, Environments for Humans will be hosting their 2nd jQuery Summit Online Conference and what a great event it will be. The speakers (myself included) are just an who’s-who of the jQuery world so you can be sure to get awesome presentations during the event. Lined up are experts like:

  • John Resig
  • Jonathan Snook
  • Richard Worth
  • Emily Lewis
  • …and a lot more.

The event is divided into two tracks targeting designers on the 16th and developers on the 17th. I’ll be presenting on the 17th and will be discussing how to use the new jQuery Templates plugin to make code layout much easier.

You can register for the event by going to the jQuery Summit website and when you do, be sure to take advantage of the following code for a 20% discount on your registration: JQUERY2010

The great thing about this is by registering, you’re also helping out the jQuery project as Environments for Humans is donating part of the proceeds of the conference to the jQuery Foundation.

I’m looking forward to this event and I hope to see you there as well!

Something Just Came Over Me…

I did an interview with James Senior on Microsoft’s Channel 9. We chatted about Script Junkie, the site I manage for Microsoft. We also chatted about the jQuery conference and how awesome it was going to be. Then, in the last 30 seconds of the interview, something just came over me. Well, Ralph Whitbeck though it would be awesome to create a video of that “special part” and air it to the jQuery Conference attendees. Here is his handy work:

Learn JavaScript!

What to Read to Get Up to Speed in JavaScript.

The best books & blogs for learning JavaScript development. Broken down by experience levels!


My BIG LIST of JavaScript, CSS & HTML Development Tools, Libraries, Projects, and Books.

Constantly updated with the latest and greatest tools. Check it out!

Contact Me

GMail: reybango at gmail dot com
Twitter: @reybango




JavaScript JS Documentation: JS Function Example: Specifying arguments with the Function constructor, JavaScript Function Example: Specifying arguments with the Function constructor

Twitter

Rey Bango is Stephen Fry proof thanks to caching by WP Super Cache