Saturday, Sep 04, 2010
Login

Category: Programmer’s Heaven

Top 10 JavaScript Frameworks

1. jQuery: The Write Less, Do More, JavaScript Library

jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript.

jQuery is really a new kind of JavaScript library, you can write less but do more; maybe jQuery is the JavaScript framework that have the biggest collection of plug-ins and add-ons. Some things you should know:

  • Current version: 1.4.2
  • Size: 24 KB (Minified and Gzipped) and 155 KB (Uncompressed Code)
  • Author: John Resig
  • Tutorials in 19 languages: 183 (data on 19 October, 2009)
  • Sites in use: 1000+
  • Plugins: 3.493 (data on 19 October, 2009)
  • Easy to learn
  • Support designers very well, by using CSS syntax
  • A lots of nice and lovely extensions
  • Great community, maybe largest
  • Used by millions of website and well known companies like Google, DELL, CBS, NBC, DIGG, Bank og America, WordPress, Drupal, Mozilla etc…

2. MooTools – a compact javascript framework

MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.

MooTools code respects strict standards and doesn’t throw any warnings. It’s extensively documented and has meaningful variable names: a joy to browse and a snap to understand.

  • Current version: 1.2.4
  • Uncompressed Size: 65 KB (client) and 23 KB (server)
  • Author: Valerio Proietti
  • Using: w3c, cnet, bing, …
  • Plugins on Official site: 4
  • Better OOP structure
  • The animations are smoother
  • The syntax and the handle of elements are more logical

3. Prototype: Easy Ajax and DOM manipulation for dynamic web applications

  • Lastest version: 1.6.1
  • Uncompressed Size: 136 KB
  • Creator: Sam Stephenson
  • Using: NASA, CNN, NBC, …
  • Plugins: 150+
  • Better for the big web apps, give you many choices to write custom code

4. Dojo Toolkit: great experiences for everyone
Unbeatable JavaScript Tools
Dojo saves you time, delivers powerful performance, and scales with your development process. It’s the toolkit experienced developers turn to for building great web experiences.

  • Lastest version: 1.4
  • Compressed Size: 26 KB (closely 5.000 code lines)
  • Foundation: Dojo Foundation
  • Dojo Users: AOL, IBM, Sun, …
  • Client-side data storage
  • Server-side data storage
  • Asynchronous communication

5. script.aculo.us: easy-to-use, cross-browser user interface JavaScript libraries

6. ExtJS: Cross-Browser Rich Internet Application Framework

ExtJS is a very cool cross-browser JavaScript framework for helping you build rich web applications, support all modern web browsers. Plus plenty of plugins and extensions, your ExtJS based web applications become more attractive by features such as well designed, documented and extensible Component model, high performance, easy-customizable UI widgets, …

7. UIZE: supporting widgets, AJAX, DOM, templates, and more

8. YUI Library: is proven, scalable, fast, and robust

UI is one of the biggest JavaScript frameworks in this list. YUI has all things to help you build interactive web applications using techniques such as DOM scripting, DHTML and AJAX by a set of powerful utilities and controls. YUI has countless powerful features, plugins, extensions that take you the very long time to learn.

9. Archetype

  • Lastest version: 0.10.0 (September 2009)
  • Size of package: 2.14 MB
  • Creator: Temsa & Swiip
  • In use: GifTeer, Meteo France, …

10. qooxdoo: the new era of web development

What’s qooxdoo? That’s great and powerfull JavaScript framework to create rich internet applications (RIAs) by taking the advantages of object-oriented JavaScript. qooxdoo includes a platform-independent development tool chain, a state-of-the-art GUI toolkit and an advanced client-server communication layer. It is open source under an LGPL/EPL dual license.


Top 10 PHP Frameworks

1 CodeIgniter

2 Yii

3 CakePHP

4 Zend

5 Symfony

6 PHPDevShell

7 Prado

8 Akelos

9 ZooP

10 QPHP


Top 15 Interview Questions

You should have answers prepared for these questions.

  1. Describe your ideal job and/or boss.
  2. Why are you looking for a job? Why are leaving your current position?
  3. What unique experience or qualifications separate you from other candidates?
  4. Tell me about yourself.
  5. What are your strengths and weaknesses?
  6. Describe some of your most important career accomplishments.
  7. What are your short-term/long-term goals?
  8. Describe a time when you were faced with a challenging situation and how you handled it.
  9. What are your salary requirements?
  10. Why are you interested in this position? Our company?
  11. What would your former boss/colleagues say about you?
  12. What are the best and worst aspects of your previous job?
  13. What do you know about our company?
  14. What motivates you? How do you motivate others?
  15. Are you willing to relocate?

Don’t forget to write a brief ‘Thank You’ note to the person or people who interviewed you.   You may be the only candidate who performed this small courtesy!


AJAX Tutorials

This is a user-contributed list of AJAX tutorials for those new to Asynchronous JavaScript with or without XML. Feel free to leave a comment if you feel an important tutorial has been omitted.

  1. AJAX security – read about AJAX security issues and vulnerability postings
  2. jQuery plugins – a directory of plugins for jQuery.
  3. How jQuery works – a basic jQuery tutorial.
  4. Tutorial: AJAX Made Easy – On the heels of two very successful tutorials on creating a collapsible div and an animated sliding div, I’ve decided to write another. It seems my last few helped a number of programmers learn a simple trick, and hopefully this one will do the same.
  5. Efficient JavaScript code – Opera has one of the fastest and most efficient JavaScript engines of any browser, but when you have multiple User JavaScripts installed, it is important that they run efficiently to keep Opera’s performance as high as possible. Well written code will help to minimise the performance impact of User JavaScripts.
  6. Create a photo gallery using CSS – This sample chapter, taken from Sams Teach Yourself CSS in 10 Minutes, discusses how to create a photo gallery using a series of floated div elements.
  7. Developing PHP the Ajax way, Part 2: Back, Forward, Reload – A major challenge of Asynchronous JavaScript and XML (Ajax)-driven Web sites is the lack of a Back button. We will use JavaScript to create a history stack for the Ajax photo gallery built in Part 1 of this two-part “Developing PHP the Ajax way” series. This history stack will closely mirror the history utility found in Web browsers, and it will be used to provide Back, Forward, and Reload buttons for the application.
  8. 30 second AJAX tutorial – as simple as they get
  9. Ajax: What is it Good For? – sliding interface and image gallery code examples
  10. AJAX: Creating Huge Bookmarklets – A bookmarklet is a special piece of JavaScript code that can be dragged into a user’s link toolbar, and which later can be clicked on to implement cross-site behavior. People have done all sorts of cool stuff with it.
  11. AJAX Tutorial with Prototype – I wanted to give an example of a good use of AJAX, and at the same time keep it simple. So I thought a good example would be to build a zip code verifier. As soon as the person enters the zip code it makes a request to the server to see if the zip code is in the database, and returns the city and state.
  12. AJAX Tutorial from W3Schools – very basic one
  13. AJAX:Getting Started – from Mozilla Developer Center
  14. Guide to Using AJAX and XMLHttpRequest – Although the XMLHttpRequest object might sound complex and different from any other JavaScript object you have ever used, it really isn’t. A good way to think of the XMLHttpRequest object is as you would think of the JavaScript Image object. As we know, with the Image object you can dynamically specify a new URL for the image source without reloading the page. Similarly with the XMLHttpRequest object, you can dynamically specify a URL to get some server data without reloading the page.
  15. AJAX: Usable Interactivity with Remote Scripting – This article aims to give you an introduction to the foundations of remote scripting, in particular, the emerging XMLHttpRequest protocol. We’ll then walk through an example application that demonstrates how to implement that protocol, while creating a usable interface.
  16. Ajax Tutorial from HTMLSource – includes a guide to cross-browser AJAX
  17. Make an AJAX Website in Less than 10 Minutes – I’ve been toying around with AJAX apps and XMLHttpRequest but have wanted to put up a site that loads all of its content asynchronously. If you’re like me and you learn best from working with examples you’re only 10 minutes away from your first AJAX website.
  18. Make all your tables sortable with AJAX – While the web design community gradually moves away from using tables to lay out the structure of a page, tables really do have a vital use, their original use; they’re for laying out tabular data.
  19. Using Ajax with PHP and Sajax – For years, the goal of creating a truly responsive Web application was hampered by one simple fact of Web development: To change the information on part of a page, a user must reload the entire page. Not anymore. Thanks to asynchronous JavaScript and XML (Ajax), we can now request new content from the server and change just part of a page. This tutorial explains how to use Ajax with PHP and introduces the Simple Ajax Toolkit (Sajax), a tool written in PHP that lets you integrate server-side PHP with JavaScript that makes this work.
  20. Learn xajax in 10 Minutes – xajax is designed to be extremely easy to implement in both existing web applications as well as new projects.
  21. Nice forms with AJAX – Web forms. Everybody knows web forms. Each day we have to fill in some information in a web form, be it a simple login to your webmail application, an online purchase or signing up for a website. They are the basic (and pretty much the only) way of gathering information on the web.
  22. Submit a form with Ajax – for CakePHP
  23. Building a Drag-and-Drop Shopping Cart with AJAX – The rise of AJAX over the past several months has taken over the development world and breathed new life into the Web. Although these techniques have been possible for many years now, the maturity of Web standards like XHTML and CSS now make it a viable alternative that will be viewable by all but the oldest browsers.
  24. Drag & Drop Sortable Lists with JavaScript and CSS – self-explanatory
  25. Mastering Ajax: Advanced requests and responses in Ajax – For many Web developers, making simple requests and receiving simple responses is all they’ll ever need, but for developers who want to master Ajax, a complete understanding of HTTP status codes, ready states, and the XMLHttpRequest object is required. In this article, Brett McLaughlin will show you the different status codes and demonstrate how browsers handle each and he will showcase the lesser-used HTTP requests that you can make with Ajax.
  26. AJAX: Instant Tutorial – Simply put, AJAX allows you to make a call to an http server (typically an RSS feed or a webpage), get it’s content and load them into your existing page without having to refresh the whole page. This means that services like email don’t have to reload the whole page everytime you click a message, saving on bandwidth (loading the header/footer all over again) and making things more efficient.
  27. Mastering Ajax: Make asynchronous requests with JavaScript and Ajax – Most Web applications use a request/response model that gets an entire HTML page from the server. The result is a back-and-forth that usually involves clicking a button, waiting for the server, clicking another button, and then waiting some more. With Ajax and the XMLHttpRequest object, you can use a request/response model that never leaves users waiting for a server to respond. In this article, Brett McLaughlin shows you how to create XMLHttpRequest instances in a cross-browser way, construct and send requests, and respond to the server.
  28. Alternate Ajax Techniques – By now, nearly everyone who works in web development has heard of the term Ajax, which is simply a term to describe client-server communication achieved without reloading the current page. Most articles on Ajax have focused on using XMLHttp as the means to achieving such communication, but Ajax techniques aren’t limited to just XMLHttp. There are several other methods; we’ll explore some of the more common ones in this series of articles.
  29. Everything AJAX – relevant links
  30. 50 AJAX toolkits and frameworks – a great roundup
  31. YShout – a PHP+AJAX Shoutbox
  32. Easy AJAX inline text edit – As everybody knows, refreshing pages is so 1999. AJAX, DOM, whatever you call it makes it possible to let people edit a piece of text inline without having to use a submit button.
  33. Developing AJAX Applications the Easy Way – AJAX is the buzzword of the moment among web developers, so much so that you could be sick of introductions to AJAX by now (if that’s the case, skip down to “The Chat Web Page”). AJAX is a technology that is hotly debated from many angles, but it has stuck because it encapsulates something that is new from a user’s perspective. The functionally that is newly available to all web users is “in-page replacement”: the ability for a web page to change using data from a web server without totally redrawing itself. This functionality has been around in Mozilla and Internet Explorer for a while, but it is only recently that Safari and Konqueror users have been able to join in.
  34. The Dojo Toolkit in Practice – When you start to build an Ajax application, you quickly run into situations where you feel like you are reinventing the wheel. The XMLHttpRequest object is what a lot of developers jump on when they think about Ajax, but that is just the start, and is the easy part.
  35. prototype.js just for AJAX – prototype.js library is too large for just using AJAX. In its current version (1.4.0_pre10) it weighs 36KB and contains lots of other features that are most probably not needed when just dealing with AJAX.
  36. Google Web Toolkit – Google Web Toolkit (GWT) is a Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don’t speak browser quirks as a second language. Writing dynamic web applications today is a tedious and error-prone process; you spend 90% of your time working around subtle incompatibilities between web browsers and platforms, and JavaScript’s lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile.
  37. ASK – AJAX Source Kit – The thing with AJAX is that it needs JavaScript to work and a direct consequence surrounding its hype is that a lot of web sites have implemented it without catering to common usability and accessibility factors. This is something that has saddened me, and therefore I developed ASK – AJAX Source KIT to address that while at the same time offer a light-weight library to implement AJAX functionality without having to worry about web browser differences.
  38. AJAX validation on Rails – I wanted AJAX requests in Rails to result in error handling and message reporting that was at least as nice (and almost as easy) as doing the same thing without AJAX.
  39. Responsible asynchronous scripting – Asynchronous or remote scripting has been lurking in the background of web app development for quite some time now. Originally dependent on proprietary technology like Java applets, ActiveX and Flash or clever combinations of disparate technologies like images and cookies, native support for the XMLHttpRequest (XHR) object in modern browsers has made it easier than ever to make web apps more responsive and more like their desktop counterparts. This lower barrier to entry also makes it easier to make poor decisions and inappropriate use of a powerful technology.
  40. Ajax RSS reader – Learn how to build an Asynchronous JavaScript and XML (Ajax) Really Simple Syndication (RSS) reader, as well as a Web component that you can place on any Web site to look at the articles in the RSS feeds.
  41. Creating a MySQL connection with PHP/AJAX – In this tutorial I will explain how to open a mysql database connection using PHP and the all popular AJAX. The purpose of this article is to demonstrate how the XMLHttpRequest object works within php and the advantages of using it. This tutorial will be the first in a series of articles leading to the development of a fully functional dynamic web events application.
  42. Getting Started with Ajax – The DOM plays into Ajax in a number of ways. How you use the DOM depends a good deal on how you handle the content returned from the server. You can treat the con­tent as simple text using the responseText property of the server response, or you can treat it as XML using responseXML. Assuming the content you pull back from the server is an (X)HTML snippet and you’ve gotten it as responseText, you could drop that content into a particular spot on the page using innerHTML. On the flip side, if the content you pull back is XML and you’ve gotten it as responseXML, you can traverse its DOM, cherry-picking or performing functions on the elements, attributes, and text nodes.
  43. Using Ajax from Perl – If you’re even remotely connected to web development, you can’t have failed to have heard of Ajax at some point in the last year. It probably sounded like the latest buzzword and was one of those things you stuck on the “must read up on later” pile. While it’s definitely a buzzword, it’s also quite a useful one.`

10 mistakes managers make during job interviews

Hiring is one of the hardest parts of managing a team. A lot is riding on the initial meeting, and if you’re nervous or ill-prepared — or both — it can make you do strange things. The following mistakes are all too common, but they’re easy to avoid with some advance preparation

#1: You talk too much

When giving company background, watch out for the tendency to prattle on about your own job, personal feelings about the company, or life story. At the end of the conversation, you’ll be aflutter with self-satisfaction, and you’ll see the candidate in a rosy light — but you still won’t know anything about his or her ability to do the job.

#2: You gossip or swap war stories

Curb your desire to ask for dirt on the candidate’s current employer or trash talk other people in the industry. Not only does it cast a bad light on you and your company, but it’s a waste of time.

#3: You’re afraid to ask tough questions

Interviews are awkward for everyone, and it’s easy to over-empathize with a nervous candidate. It’s also common to throw softball questions at someone whom you like or who makes you feel comfortable. You’re better off asking everyone the same set of challenging questions — you might be surprised what they reveal. Often a Nervous Nellie will spring to life when given the chance to solve a problem or elaborate on a past success.

#4: You fall prey to the halo effect (or the horns effect)

If a candidate arrives dressed to kill, gives a firm handshake, and answers the first question perfectly, you might be tempted to check the imaginary “Hired!” box in your mind. But make sure you pay attention to all the answers and don’t be swayed by a first impression. Ditto for the reverse: The mumbler with the tattoos might have super powers that go undetected at first glance.

#5: You ask leading questions

Watch out for questions that telegraph to the applicant the answer you’re looking for. You won’t get honest responses from questions like, “You are familiar with Excel macros, aren’t you?”

#6: You invade their privacy

First of all, it’s illegal to delve too deeply into personal or lifestyle details. Second, it doesn’t help you find the best person for the job. Nix all questions about home life (“Do you have children?” “Do you think you’d quit if you got married?”), gender bias or sexual preference (“Do you get along well with other men?”), ethnic background (“That’s an unusual name, what nationality are you?”), age (“What year did you graduate from high school?”), and financials (“Do you own your home?”)

#7: You stress the candidate out

Some interviewers use high-pressure techniques designed to trap or fluster the applicant. While you do want to know how a candidate performs in a pinch, it’s almost impossible to re-create the same type of stressors an employee will encounter in the workplace. Moreover, if you do hire the person, he or she may not trust you because you launched the relationship on a rocky foundation.

#8: You cut it short

A series of interviews can eat up your whole day, so it’s tempting to keep them brief. But a quick meeting just doesn’t give you enough time to gauge a candidate’s responses and behavior. Judging candidates is nuanced work, and it relies on tracking lots of subtle inputs. An interview that runs 45 minutes to an hour increases your chances of getting a meaningful sample.

#9: You gravitate toward the center

If everyone you talk to feels like a “maybe,” that probably means you aren’t getting enough useful information — or you’re not assessing candidates honestly enough. Most “maybes” are really “no, thank yous.” (Face it: The candidate didn’t knock your socks off.) Likewise, if you think the person might be good for some role at some point in the future, he or she is really a “no.”

#10: You rate candidates against each other

Mediocre candidates may look like superstars when they follow a dud, but that doesn’t mean they’re the most qualified for the job. The person who comes in tomorrow may smoke all of them, but you won’t be able to tell if you rated mediocre candidates too highly in your notes. Evaluate each applicant on your established criteria — don’t grade on a curve.