Sunday, July 22, 2007

Scrum Vocabulary

  • A Product Owner compiles all the changes planned for the product and prioritizes the possible functionalities.
  • Sprint is A 1-6 week period in which the delivery team produces (mutually agreed)acceptable product features. Also called Iteration in the Agile methodology.
  • The result of the Product Owner’s work is a Product Backlog. It is a to-do list that is constantly reprioritized. Before each Sprint, the highest prioritized goals are transferred to a Sprint Backlog.
  • Together with a user, the project members form a Scrum Team. During discussions with the Product Owner, the goal of the Sprint is determined and the prioritized functionality is broken down into detailed tasks.The team is self-organized and the members have a joint responsibility for the results.
  • The Scrum Master coaches the development team, removes any possible impediments and constantly works to ensure that the team has the best possible circumstances for realizing the goals fixed for the Sprint.

Wednesday, July 18, 2007

Scrum in Five Minutes - Executive Summary

In his blog entry, Jeff Sutherland introduces an exceptionally concise introduction to the Scrum development process, titled "Scrum in Five Minutes" . This document is created by Swedish consulting firm Softhouse, and gives a brief outline of the pieces and players of Scrum in whole 16 pages.

For those to Scrum, such summaries can serve as a useful introduction.

Summaries like this can facilitate comparisons between the various flavors of agile development. Some others available are

Sunday, July 15, 2007

What Is Dojo?

Dojo is an Open Source JavaScript UI toolkit. It makes writing JavaScript easier, building great interfaces faster, and deploying dynamic UIs at scale much easier. The foundation of Dojo is "Dojo Base", a single tiny library which contains Ajax, event handling, effects, blazing fast CSS queries, language utilities, and a lot more. On top of this Base, the rest of Dojo Core adds high-quality facilities for Drag and Drop, extended forms of Ajax and I/O, JSON-RPC, internationalization, and back-button handling.

Layered on Dojo Core is a widget system, Dijit, which makes developing and reusing interface components a snap. If you can write HTML and CSS, Dijit allows you to quickly build reusable client-side components. Similarly, Dojo can use extended attributes on HTML in order to declare where widgets should be placed and how to configure them. Placing a graphical date picker in a page is as easy as adding an attribute to an <input> element. By upgrading standard HTML instead of inventing a new markup language, Dojo makes building degradeable user interfaces easy. It's "progressive enchancement" in the extreme, and it allows you to build UIs that look good, work well, and run fast. Dojo has also been built with great care. From the unit test harness all the way to the data binding system, to its portable 2D drawing API, Dojo has been engineered as a coherent system which means that the Dojo Team's single-minded attention to consistency and quality ensures your applications will not only look good but will stand the test of time. Dojo features built-in internationalization and localization support, full accessibility hinting in all Dijit widgets, infrastructure to support coherent keyboard event handling, and the ability to theme all Dijit components using only CSS.

The Core and Dijit projects are fanatical about quality and consistency and the bar for new code to be accepted in them is very high. As a result, new "edge of the web" features are being developed in the DojoX namespace. DojoX features portable 2D drawing APIs which paper over the differences between the browsers as well as Comet support (among other amazing projects). DojoX provides a sandbox where these new systems can evolve without always being constrained by the high standards of testing, documentation, and support to which Core and Dijit are held. Individual projects in DojoX contain a README file so that you can know what state they're in. Many are at or near the quality, testing, and documentation level required for inclusion in Core already!

Source: The Dojo Book

Yahoo! User Interface Library

The Yahoo! User Interface (YUI) Library is a rich set of utilities and controls, written in JavaScript. It is used for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX. The YUI Library also includes several core CSS resources.

The YUI Library components fall into three groups: Utilities, UI Controls, and CSS resources.

YUI Utilities

The YUI Utilities simplify in-browser devolvement that relies on cross-browser DOM scripting, as do all web applications with DHTML and AJAX characteristics. Various utilities are:
  • Event
  • Dom Collection
  • Connection Manager
  • Drag & Drop
  • Animation

YUI Controls

The YUI Library Controls provide highly interactive visual design elements for your web pages. These elements are created and managed entirely on the client side and never require a page refresh.

YUI Controls include:
  • AutoComplete
  • Container
  • DataTable Control
  • Logger
  • TabView
  • TreeView
  • Slider
  • Calendar

YUI CSS Resources
  • CSS Grids
  • CSS Fonts
  • CSS Reset
YUI Library is open sourced under BSD license and is free for all uses. YUI is available at

Friday, July 13, 2007

New Look n Feel

I have started using a new Blogger template called TypoXP 2, all courtesy Ustadz.Net. I think it is an adaptation from Wordpress theme by the same name.
I am liking this new template a lot, especially its color combinations.
Also, it has a widget for Recent Posts. It has expandable post summaries. Author comments are highlighted. I am also liking its sidebar a lot. Just check it out!

Saturday, July 7, 2007

HTTP Status Codes

In a web app, whenever there is a communication between the browser (i.e client) and (web) server, there is a back-and-forth transfer of data. The client sends data to Server for processing. Data is then processed at the server side, and a response is sent back to client, indicating the status of the sent request. The response sent by Server to browser, typically, has a status line, some response headers, blank line, and the document, e.g.

HTTP/1.1 200 OK
Content-Type: text/plain

This is an example of status codes.

Here, the first line indicates the HTTP Version (HTTP/1.1), a status code (200) and a short description of status code (ok). Second line consists of the various headers sent by Server. At mimimal, it has a content type. The data after the blank line indicates the document itself, though not all responses may have a document. If a document is present, the content type indicates its MIME type.

Given below is a list of the commonly used status codes. The status codes are all three-digit numbers that are grouped by the first digit into 5 groups.

1xx: Informational

100 Continue
Continue with partial request.

101 Switching Protocols
Server will comply with Upgrade header and change to different protocol.

2xx: Successful

200 OK
Means that the server did whatever the client wanted it to, and all is well.

The rest of the 2xx status codes are mainly meant for script processing and are
not often used.

3xx: Redirection
Means that the resource is somewhere else and that the client should try again at
a new address.

301 Moved permanently
The resource the client requested is somewhere else, and the client should go there
to get it. Any links or other references to this resource should be updated.

302 Moved temporarily
This means the same as the 301 response, but links should now not be updated, since
the resource may be moved again in the future.

304 Not modified
This response can be returned if the client used the if-modified-since header field
and the resource has not been modified since the given time. Simply means that the
cached version should be displayed for the user.

4xx: Client error
Means that the client screwed up somehow, usually by asking for something it should
not have asked for.

400 Bad request
The request sent by the client didn't have the correct syntax.

401 Unauthorized
Client tried to access password-protected page without proper authorization. Response should include a WWW-Authenticate header that the browser would use to pop up a username/password dialog box, which then comes back via the Authorization header.

403 Forbidden
The client is not allowed to access the resource and authorization will not help.
Often the result of bad file or directory permissions on the server.

404 Not found
Seen this one before? :) It means that the server has not heard of the resource
and has no further clues as to what the client should do about it. In simpler
words: dead link.

405 Method Not Allowed
The request method not allowed for this particular resource.

5xx: Server error
This means that the server screwed up or that it couldn't do as the client requested.

500 Internal server error
Something went wrong inside the server. It is often the result of Servlets or CGI
programs or (Any Other Server Side Technology) that crash or return improperly
formatted headers.

501 Not implemented
The request method is not supported by the server.

503 Service unavailable
This sometimes happens if the server is too heavily loaded and cannot service the
request. Usually, the solution is for the client to wait a while and try again.
A servlet might return this header if some thread or database connection pool is
currently full. Server can supply a Retry-After header.

505 HTTP Version Not Supported
Server doesn't support version of HTTP indicated in request line.

Just keep in mind that some of the status codes may be available only in HTTP/1.1 version though some of the browsers may still support only HTTP/1.0 version.
The general method of setting status codes is simply to call response.setStatus(int), there are two common cases where a shortcut method in HttpServletResponse is provided. The sendError method generates a 404 response along with a short message formatted inside an HTML document. The advantage of sendError over setStatus is that, with sendError, the server automatically generates an error page showing the error message. And the sendRedirect method generates a 302 response along with a Location header indicating the URL of the new document.

Fund Literacy, Care for the Environment, and get a Fair Price on the Books you Want.


Popular Posts (Last 30 days)

This is a personal blog and I do not speak for my employer.