Wednesday, December 31, 2008

Getting Started :

Of course, the first thing you need to do is install Python, if you don ’ t already have it. Installers are available for Windows, Macintosh, Linux, Unix, and everything from OpenVMS to the Playstation (no, I ’ m not kidding). 

Obtaining Python and Installing It :

If you go to ' www.python.org/download ' you can find links to download the correct version of Python for your operating system. Follow the install instructions for your particular Python distribution — instructions can vary significantly depending on what operating system you are installing to.

What Version Number to Install : 

Although the examples in this book should work for any Python version above 2.0, it is best to install the latest stable build for your operating system.

For Windows (which is the environment I primarily work in), the latest stable version is 2.51. There is an alpha build of Python 3.0 available as of this writing, but other than just looking at it for R & D enjoy. 

Sunday, November 30, 2008

Integrated Development Environments (IDEs) for Python:

ActivePython is a Python distribution from ActiveState (http://www.activestate.com).

At its core, it’s the same as the standard Python distribution for Windows. The main difference is that it includes a lot of extra goodies (modules) that are available separately. It’s definitely worth a look if you are running Windows.

Komodo has been made open source, so free versions are also available.
Environment Description Web Site IDLE The standard Python environment

http://www.python.org/idle

Pythonwin Windows-oriented environment http://www.python.org/download/windows

ActivePython Feature-packed; contains Pythonwin IDE

http://www.activestate.com

Komodo Commercial IDE http://www.activestate.com3

Wingware Commercial IDE http://www.wingware.com

BlackAdder Commercial IDE and (Qt) GUI builder http://www.thekompany.com

Boa Constructor Free IDE and GUI builder http://boa-constructor.sf.net
Anjuta Versatile IDE for Linux/UNIX http://anjuta.sf.net
Arachno Python Commercial IDE http://www.python-ide.com
Code Crusader Commercial IDE http://www.newplanetsoftware.com
Code Forge Commercial IDE http://www.codeforge.com
Eclipse Popular, flexible, open source IDE http://www.eclipse.org
eric Free IDE using Qt http://eric-ide.sf.net
KDevelop Cross-language IDE for KDE http://www.kdevelop.org
VisualWx Free GUI builder http://visualwx.altervista.org
wxDesigner Commercial GUI builder http://www.roebling.de
wxGlade Free GUI builder http://wxglade.sf.net

Wednesday, October 22, 2008

Brief Intro about Mobile Python :

Python is a dynamic object-oriented, open-source, computer-program-
ming language. It can be used for many kinds of software development,
for instance, to create stand-alone programs, scalable server software or
small scripts – Python’s roles are virtually unlimited. Python was created
by Guido van Rossum and is distributed under an OSI-approved, open-
source license that makes it free to use, even for commercial products.

Python is often used for prototyping and teaching introductory pro-
gramming classes. It can be learned in a few days and offers strong
support for integration with other languages and tools. Python comes
with an extensive standard library, thus its slogan is ‘Python – batteries
included’.

Python runs on most common and legacy platforms, for example,
Windows, Mac OS X, Linux/Unix, OS/2, Amiga and Palm OS. It also
runs on Nokia S60 2nd and 3rd Edition mobile phones – that is where
this book comes in. Python has also been ported to the Java and .NET
virtualmachines. It is an interpreted programming language that combines
remarkable power with clear syntax; it has modules, classes, exceptions,
high-level dynamic data types and dynamic typing.

Python for S60 brings the Python programming language to the S60
platform. Python for S60 is based on Python version 2.2.2. It supports
many of the Python Standard Library modules but also includes sev-
eral modules specific to the mobile platform, for example, native GUI
elements, Bluetooth, networking, GSM location information, SMS mes-
saging, access to the camera, and more. 


Adding New Section : Python  

Mobile Python – or, more formally, Python for S60 (see Figure 1.1) –
empowers you to do fun and engaging stuff with your mobile phone.
You can start programming shortly after getting into this book. Being able
to see results quickly on the phone guarantees to bring inspiration and
makes programming these gadgets fun!

Development on the Symbian platform has been time-consuming in
the past and it has required in-depth knowledge of C++ or Java. Python
for S60 remedies this problem. It is easy to learn and takes only a few days
to get into most of its features. Novice programmers, artists and people
from creative communities can innovate and contribute applications to
the mobile space.

Tuesday, September 30, 2008

Google AJAX Language API - Tools for translation and language detection

The API helps developers automatically translate content in their applications.

Users on these sites will have an easier time communicating across lingual boundaries.

The Language API provides both translation and language detection

Sunday, August 31, 2008

XSLT : 

The first and most well-developed face of XSL is a conversion tool known as XSLT.

The T stands for transformation, and that’s exactly what this part of XSL is designed to do — use a set of rules to transform (that is, convert) documents described by one set of elements into documents described by another set of elements.

Tuesday, July 29, 2008

Development of an AJAX-enabled grid using ICallbackEventHandler, with operations which include sorting, paging and page length change.

The basic features of the gird are as follows (All operations are asynchronous)

Sort in ascending or in descending order by clicking on the arrows next to column name. 

1.)  Change current page. 

2.)  Change page length.

The server-Side functions are as follows
public string GetCallbackResult() 

  {

  return result;

  }

This function simply returns the result which we have put as innerHTML in the ShowResult function.

Friday, June 27, 2008

What JavaScript libraries and frameworks are available?

There are many libraries/frameworks out there (and many more emerging) that will help abstract such things as all the nasty browser differences. Three good libraries are The Dojo Toolkit, Prototype, and DWR. 

The Dojo Toolkit contains APIs and widgets to support the development of rich web applications. Dojo contains an intelligent packaging system, UI effects, drag and drop APIs, widget APIs, event abstraction, client storage APIs, and AJAX interaction APIs. Dojo solves common usability issues such as support for dealing with the navigation such as the ability to detect the browser back button, the ability to support changes to the URL in the URL bar for bookmarking, and the ability to gracefully degrade when AJAX/JavaScript is not fully support on the client. Dojo is the Swiss Army Knife of JavaScript libraries. It provides the widest range of options in a single library and it does a very good job supporting new and older browsers. 

Prototype
focuses on AJAX interactions including a JavaScript AJAX object that contains a few objects to do basic tasks such as make a request, update a portion of a document, insert content into a document, and update a portion of a document periodically. Prototype JavaScript library contains a set of JavaScript objects for representing AJAX requests and contains utility functions for accessing in page components and DOM manipulations. Script.aculo.us and Rico are built on top of Prototype and provide UI effects, support for drag and drop, and include common JavaScript centric widgets. If you are just looking to support AJAX interactions and a few basic tasks Prototype is great. If you are looking for UI effects Rico and Script.aculo.us are good options. 

Yahoo UI Library is a utility library and set of widgets using the APIs to support rich clients. The utility library includes support for cross-browser AJAX interactions, animation, DOM scriptging support, drag and drop, and cross browser event support. The Yahoo UI Library is well documnented and contains many examples. 

DWR (Dynamic Web Remoting) is a client-side and server-side framework that focuses on allowing a developer to do RPC calls from client-side JavaScript to plain old Java objects in a Java Enterprise Edition web container. On the server side DWR uses a Servlet to interact with the Java objects and returns object representations of the Java objects or XML documents. DWR will be easy to get up and running and plays well with other Java technologies. If you are looking for a client-side and server-side framework that integrates well use DWR. 

Google Web Toolkit (GWT) is client/server framework provided by Google that allows a developer to write an AJAX application in pure Java. The GWT takes care of the details of generating all the client-side code using a Java-to-JavaScript compiler. One of the key benefits of the GWT Software Developer Kit (SDK) is that it allows you to debug your applications in what is known as GWT hosted mode using an embedded browser (IE on Windows and Mozilla/Gecko on Linux) that is tied to the toolkit. In GWT hosted mode you setup through the code and debug it as it is running on both the client and server. The GWT contains a default set of widgets and widget containers. An application is built by coding a set of widgets and containers together much like would be done in a Swing application. The GWT Software Developer Kit (SDK) is limited to Linux and Windows XP/2000 though the web applications it generates are compatible with the latest generation of the mainstream browsers. 

There are many new and emerging libraries for JavaScript and this list only reviews some of the more common libraries. When making a choice choose the library which suites your needs the best. While it might be better to choose one, there is nothing stopping you from using more than one framework. For a more extensive list of client-side frameworks see: Survey of AJAX/JavaScript Libraries.
What do I need to know to create my own AJAX functionality?

If you plan not to reuse and existing AJAX component here are some of the things you will need to know. 

Plan to learn Dynamic HTML (DHTML), the technology that is the foundation for AJAX. DHTML enables browser-base realtime interaction between a user and a web page. DHTML is the combination of JavaScript, the Document Object Model (DOM) and Cascading Style Sheets (CSS). 
JavaScript - JavaScript is a loosely typed object based scripting language supported by all major browsers and essential for AJAX interactions. JavaScript in a page is called when an event in a page occurs such as a page load, a mouse click, or a key press in a form element.
DOM - An API for accessing and manipulating structured documents. In most cases DOM represent the structure of XML and HTML documents. 
CSS - Allows you to define the presentation of a page such as fonts, colors, sizes, and positioning. CSS allow for a clear separation of the presentation from the content and may be changed programmatically by JavaScript.

Understanding the basic request/response nature of HTTP is also important. Many subtle bugs can result if you ignore the differences between the GET and OIst methods when configuring an XMLHttpRequest and HTTP response codes when processing callbacks. 

JavaScript is the client-side glue, in a sense. JavaScript is used to create the XMLHttpRequest Object and trigger the asynchronous call. JavaScript is used to parse the returned content. JavaScript is used to analyze the returned data and process returned messages. JavaScript is used to inject the new content into the HTML using the DOM API and to modify the CSS.

What is OpenAjax? 

OpenAjax represents the collection of technologies and approaches defined by the OpenAjax Alliance to promote open and interoperable Ajax-based Web technologies that in turn lead to long-term customer success with Ajax.

How OpenAjax Alliance is organized : 

1. Steering Committee --

The members of the OpenAjax Alliance elect representatives from seven companies to positions on the OpenAjax Alliance Steering Committee. The Steering Committee manages the affairs of the OpenAjax Alliance on behalf of its member organizations. Among other things, the Steering Committee has final approval on the creation of working groups and specifications. 

2. Working Groups --

The OpenAjax Alliance develops its Specifications and other published Material within Working Groups that are chartered and approved by its membership and Steering Committee. At this point, the alliance has the following Working Groups: 
Interoperability Working Group - This group is responsible for technical activities in the general area of Ajax runtime interoperability. The key products coming out of this group include documents that provide the detailed definition of OpenAjax Conformance, such as the Specification for the OpenAjax Hub, management of the OpenAjax Registry, and development of OpenAjax Best Practices. 

Marketing Working Group -

This group is responsible for the OpenAjax Alliance's communications, educational and promotional activities for fulfilling the Alliance's mission to accelerate customer success with Ajax, promote adoption of open and interoperable Ajax-based Web technologies, and help drive the future of the Ajax ecosystem. Among other things, this group produces the Alliance's white papers, oversees the development of its website, and drives the strategy, high-level definition and industry rollout of the term OpenAjax Conformance. 

IDE Working Group -

This group is developing metadata standards for Ajax libraries in order to facilitate the integration of Ajax libraries into Ajax developer tools (i.e., IDEs). 

Task Forces 

The OpenAjax Alliance establishes task forces to investigate possible areas of new activity. The task forces are informal groups of interested members who perform relevant research and then produce recommendations for future alliance activities. Sometimes task forces are promoted into formally chartered working groups.

At this time, there are six active task forces: 

Security Task Force, which is identifying key Ajax security issues and investigating related activities that the alliance might pursue ,

Mobile Ajax Task Force, which is investigating what OpenAjax Alliance might do to accelerate customer adoption and success with Ajax on mobile devices 

Production Ajax Management Task Force, which is investigating what OpenAjax Alliance might do to help vendors and customers in the area of runtime performance monitoring

Searchability Task Force, which will investigate how to make current application state within an Ajax application discoverable and usable to search engines, perhaps by standardizing on particular approaches to URL fragment identifiers or parameters.

Runtime Advocacy / Lobbying Task Force, which will attempt to recruit a critical mass of Ajax toolkits and investigate ways that OpenAjax Alliance might be able to play an advocacy role to accelerate browser improvements that make Ajax applications work better.


Mashup Widgets/Gadgets Task Force, which will investigate a common metadata standard for Ajax-based mashup components such that (ultimately) the developers of the mashup components will be able to write-once and have it run anywhere.


Friday, May 30, 2008

AJAX Limitation :

As a developer, you’re probably well aware of this issue which is commonly occur due to cached data.

AJAX is not unique when it comes to these type of issues .

Wednesday, April 30, 2008

Who’s Using Ajax :

Google is making a huge investment in developing the Ajax approach. All of the major products Google has introduced over the last year — Orkut, Gmail, the latest beta version of Google Groups, Google Suggest, and Google Maps — are Ajax applications. (For more on the technical nuts and bolts of these Ajax implementations, check out these excellent analyses of Gmail, Google Suggest, and Google Maps.) Others are following suit: many of the features that people love in Flickr depend on Ajax, and Amazon’s A9.com search engine applies similar techniques.

Q. Is Ajax just another name for XMLHttpRequest?

A. No. XMLHttpRequest is only part of the Ajax equation. XMLHttpRequest is the technical component that makes the asynchronous server communication possible; Ajax is our name for the overall approach described in the article, which relies not only on XMLHttpRequest, but on CSS, DOM, and other technologies.

Q. Is Ajax a technology platform or is it an architectural style?

A. It’s both. Ajax is a set of technologies being used together in a particular way.

Q. What kinds of applications is Ajax best suited for?

A. We don’t know yet. Because this is a relatively new approach, our understanding of where Ajax can best be applied is still in its infancy. Sometimes the traditional web application model is the most appropriate solution to a problem.


How to build an Ajax website :

You need for some wrapper. Your JavaScript program, integrated into a web page, sends request to the server to load files for rebuilding of pages. The received documents are processed with Dom's methods or XML parsers and the data are used to update the pages.

Monday, March 31, 2008

Web 2.0 Technologies :

  • Dynamic User Interfaces – Dynamic user interfaces refer to a web application's responsiveness and its ability to interact more dynamically with actions you take on its web pages. Using Asynchronous JavaScript and XML (Ajax) technologies to build more interactive user interfaces, Ajax enables web application users to asynchronously update and retrieve data from a server without having to wait for a screen refresh. Of particular importance here in the Java space are Sun Microsystems' jMaki and DynaFaces technologies.

    • jMaki tools enable developers to wrap any widget in a JSP tag or a JSF component so the widget can be easily implemented in a Web application.

    • DynaFaces focuses on enabling JSF developers to Ajax-enable the JSF components they already use.

    In addition to jMaki and Dynafaces, a third-party JavaScript library, called Dojo, is also included in the Sun WDP.

  • Lightweight Programming Models – Platform-agnostic scripting languages are becoming increasingly popular with web application developers because of their flexibility and because they often allow for more rapid development than previous coding techniques. While no one scripting language is dominant at this time, Ruby and JavaScript are among the most popular. In response to this popularity, the Sun WDP includes technology from the Phobos project, which provides an application framework that enables you to develop web applications entirely in a scripting language, while still providing access to the entire Java EE stack. Phobos currently supports only JavaScript, but support for other scripting languages is planned with the help of JSR 223 (Scripting for the Java Platform).

  • Lightweight Web Services – The Representation State Transfer Technology (REST) architectural model emphasizes building web services that can be accessed as resources by means of the common HTTP GET, POST, PUT, and DELETE operations. The technologies included in the Sun WDP that facilitate REST style coding are:

    • ROME – (RSS and Atom Utilities) API for processing and generating syndication feeds

    • WADL – (Web Application Description Language) Web services description language like WSDL, but designed for REST-based Web services by supporting the base set of HTTP methods for accessing resources

    • Atom – XML-based format for syndication feeds and a publishing protocol that provides CRUD (Create, Read, Update, Delete) support for REST-based Web services

Who’s Using Ajax

Google is making a huge investment in developing the Ajax approach. All of the major products Google has introduced over the last year — Orkut, Gmail, the latest beta version of Google Groups, Google Suggest, and Google Maps — are Ajax applications. (For more on the technical nuts and bolts of these Ajax implementations, check out these excellent analyses of Gmail, Google Suggest, and Google Maps.) Others are following suit: many of the features that people love in Flickr depend on Ajax, and Amazon’s A9.com search engine applies similar techniques.

These projects demonstrate that Ajax is not only technically sound, but also practical for real-world applications. This isn’t another technology that only works in a laboratory. And Ajax applications can be any size, from the very simple, single-function Google Suggest to the very complex and sophisticated Google Maps.

Friday, February 29, 2008

Accessibility :

Non-Ajax users would ideally continue to load and manipulate the whole page as a fall back, enabling the developers to preserve the experience of users in non-Ajax environments (including all relevant accessibility concerns) while giving those with capable browsers a much more responsive experience.

For this reason it is advised to first develop a full application without Ajax, and implement Ajax enhancements as an addition only.

Tuesday, January 29, 2008

Drawbacks of Ajax :

- If JavaScript is not activated, Ajax can't works. The user must be asked to set JavaScript from within options of the browser, with the "no-script" tag.

- Since data to display are loaded dynamically, they are not part of the page, and the keywords inside are not used by search engines.

- The asynchronous mode may change the page with delays (when the processing on the server take some times), this may be disturbing.

- The back button may be deactivated (this is not the case in examples provided here). This may be overcomed.

Data Science - 103 (Kapil Sharma)

Cloud Computing Basic:-  In this the PC is on service provider data center and secuirty maintenance and upgrades are done by the service pro...