Archive for June, 2006

Oops a mistake!

I made a mistake in my post “Useful Resource #4 - Setting up ruby on rails on eclipse“. There is an eclipse update site link available in the RadRails site using which you can install rails as a plugin in eclipse. Thanks to Matt Kent @ radrails who pointed this to me. I missed it and touched my nose round about. Sorry about that.

Blink this Oops a mistake! at blinklist.com    Bookmark Oops a mistake! at blogmarks    Bookmark Oops a mistake! at del.icio.us    Digg Oops a mistake! at Digg.com    Fark Oops a mistake! at Fark.com    Bookmark Oops a mistake! at Furl.net    Bookmark Oops a mistake! at NewsVine    Bookmark Oops a mistake! at reddit.com    Bookmark Oops a mistake! at Simpy.com    Bookmark Oops a mistake! at Spurl.net    Bookmark Oops a mistake! with wists    Bookmark Oops a mistake! at YahooMyWeb

Comments      Cosmos

XUL

Zool as it is pronounced is XML User interface Language. It was initially developed to support Mozilla applications like Firefox and Thunderbird but is picking up as a medium for representing UI details in web applications. There have been frameworks on specific technologies that address the presentation layer but not many to represent in the technology independent format like XML. A response from a web application is always an HTML which is also a form of XML but may not necessarily adhere to the XML rules. A XUL brings back UI information that is parsed on the client end by a XUL runtime environment like XULRUnner which produces a desktop kind of an application using the native API. This breaks away from the traditional way of displaying contents within a browser restricting to UI tied to HTML.

The Mozilla platform extensively uses XUL and the Firefox browser extensions are created using XUL. Even though there are limitations at this point of writing to make a XUL based web application, it would be matter of time it gets to that stage. Once that happens web applications will output XUL instead of HTML and the client browser has the XUL runtime environment that can parse and run it. Right now there is one application Mozilla Amazon Browser (MAB) that has been developed with the help of XUL. MAB allows you to search through Amazon for books and add it to shopping cart and has many more features. You can access MAB only through Mozilla Firefox.

Blink this XUL at blinklist.com    Bookmark XUL at blogmarks    Bookmark XUL at del.icio.us    Digg XUL at Digg.com    Fark XUL at Fark.com    Bookmark XUL at Furl.net    Bookmark XUL at NewsVine    Bookmark XUL at reddit.com    Bookmark XUL at Simpy.com    Bookmark XUL at Spurl.net    Bookmark XUL with wists    Bookmark XUL at YahooMyWeb

Comments      Cosmos

Useful Resource #4 - Setting up ruby on rails on eclipse

I have been working with eclipse environment for quite some time now. And since I started working with Ruby on Rails I was initially using RadRails (which is again extended from eclipse). So I had to switch between eclipse and RadRails for J2EE and Rails projects until I saw this wonderful article “Setting up a Rails Development Environment on Windows Using Eclipse” in NAPCS.com by Brian Hogan, which explains clearly to setup ruby on rails in eclipse environment. Now I have all my Rails and J2EE projects configured in eclipse and don’t need shift back and forth.

Blink this Useful Resource #4 - Setting up ruby on rails on eclipse at blinklist.com    Bookmark Useful Resource #4 - Setting up ruby on rails on eclipse at blogmarks    Bookmark Useful Resource #4 - Setting up ruby on rails on eclipse at del.icio.us    Digg Useful Resource #4 - Setting up ruby on rails on eclipse at Digg.com    Fark Useful Resource #4 - Setting up ruby on rails on eclipse at Fark.com    Bookmark Useful Resource #4 - Setting up ruby on rails on eclipse at Furl.net    Bookmark Useful Resource #4 - Setting up ruby on rails on eclipse at NewsVine    Bookmark Useful Resource #4 - Setting up ruby on rails on eclipse at reddit.com    Bookmark Useful Resource #4 - Setting up ruby on rails on eclipse at Simpy.com    Bookmark Useful Resource #4 - Setting up ruby on rails on eclipse at Spurl.net    Bookmark Useful Resource #4 - Setting up ruby on rails on eclipse with wists    Bookmark Useful Resource #4 - Setting up ruby on rails on eclipse at YahooMyWeb

Comments (2)      Cosmos

Aspect Oriented Software Development (AOSD)

Few days back I had a post titled Separation of Concerns. The topic was about how to divide/design your application into areas addressing specific concern of the problem. Now I call that vertical slicing of the problem. But if you analyze carefully there are certain aspects of the development which cut across horizontally. These most likely do not belong to the problem domain. For example, logging is one of them. You would have used a log framework and mingled log statements within the code for debugging and/or logging error traces. The log statements are never part of your problem, so it is kind of polluting the domain model. At the same time system management features such as logging and monitoring is rudimentary to any application. So how to take care of the horizontal separations at the same time preserving the vertical separations without polluting?

Welcome Aspect Oriented Programming (AOP) or Aspect Oriented Software Development (AOSD). Like Objects in Object Oriented Programming, Aspects are the core of AOP. An aspect represents a separation on the horizontal axis of the system. Say logging is an aspect, monitoring could be another aspect. The aspects are coded separately away from the problem domain code. Let’s define the whole system on a 2D plane (say a square or rectangle) and draw lines horizontally and vertically. Let’s also say that the horizontal lines represent the aspects and vertical lines represent the domain. Now there is a cutting point in when a horizontal line meets a vertical line. This cutting point in AOP is called a join point. In reality there could be multiple aspects cutting across one domain and these intersections are called point cuts. What needs to be done or how the system should behave when a join point and/or point cuts is encountered is called an advice. The aspect program contains all this information.

Now that is not the end to it. There needs to be some binding process that can bind the aspects and the domain code, so that the system when put into action will behave normally as though they were intertwined (meaning how you would have a code without AOP). AOP code is processed by a preprocessor that clubs the aspects and domain as defined by the join point, point cuts and advice and passes it on to the language compiler/interpreter. AspectJ is the AOP version of Java. While Separation of Concerns is a top priority for any system, AOP helps in keeping those SOC verticals clean and purely focused on the problem domain.

Blink this Aspect Oriented Software Development (AOSD) at blinklist.com    Bookmark Aspect Oriented Software Development (AOSD) at blogmarks    Bookmark Aspect Oriented Software Development (AOSD) at del.icio.us    Digg Aspect Oriented Software Development (AOSD) at Digg.com    Fark Aspect Oriented Software Development (AOSD) at Fark.com    Bookmark Aspect Oriented Software Development (AOSD) at Furl.net    Bookmark Aspect Oriented Software Development (AOSD) at NewsVine    Bookmark Aspect Oriented Software Development (AOSD) at reddit.com    Bookmark Aspect Oriented Software Development (AOSD) at Simpy.com    Bookmark Aspect Oriented Software Development (AOSD) at Spurl.net    Bookmark Aspect Oriented Software Development (AOSD) with wists    Bookmark Aspect Oriented Software Development (AOSD) at YahooMyWeb

Comments      Cosmos

Same origin policy

With so much AJAX based web applications coming out in full swing one has to be aware that there is lot of javascript coding that runs on the user’s machine. That could mean security vulnerabilities. Think about this situation. A user is using an AJAX based web application and simultaneously he/she has a browser window opened that is connected to his/her online banking. What if the AJAX application sent an AJAX request to the bank making it look like a request from the banking application? If the bank application responded back with confidential information, the AJAX site could then update it back to its site. This would lead to a heavy security breach. Mozilla’s same origin policy helps in blocking such malicious requests. When a browser instance connects to an application on the server, it gets bound to three items viz., protocol, port (if provided) and host/domain. The browser does not allow communication from a javascript to be sent to a URL if any one of these three is different from the application’s URL. If you are an AJAX developer keep this in mind and do not try to make an AJAX request to a different URL from the javascript of your application. It won’t work.

Blink this Same origin policy at blinklist.com    Bookmark Same origin policy at blogmarks    Bookmark Same origin policy at del.icio.us    Digg Same origin policy at Digg.com    Fark Same origin policy at Fark.com    Bookmark Same origin policy at Furl.net    Bookmark Same origin policy at NewsVine    Bookmark Same origin policy at reddit.com    Bookmark Same origin policy at Simpy.com    Bookmark Same origin policy at Spurl.net    Bookmark Same origin policy with wists    Bookmark Same origin policy at YahooMyWeb

Comments      Cosmos

Can’t undo - Weeping Woman

This interesting video is a creatively animated story of an imagination of how Picasso might have ended up creating the weeping woman (1937) portrait. The video reminds me when I am stuck with an application where I cannot undo beyond a step and have to restart from scratch. Good one. Have a good weekend.

Blink this Can't undo - Weeping Woman at blinklist.com    Bookmark Can't undo - Weeping Woman at blogmarks    Bookmark Can't undo - Weeping Woman at del.icio.us    Digg Can't undo - Weeping Woman at Digg.com    Fark Can't undo - Weeping Woman at Fark.com    Bookmark Can't undo - Weeping Woman at Furl.net    Bookmark Can't undo - Weeping Woman at NewsVine    Bookmark Can't undo - Weeping Woman at reddit.com    Bookmark Can't undo - Weeping Woman at Simpy.com    Bookmark Can't undo - Weeping Woman at Spurl.net    Bookmark Can't undo - Weeping Woman with wists    Bookmark Can't undo - Weeping Woman at YahooMyWeb

Comments      Cosmos

Selenium

Selenium is a web testing tool that runs on the browser and imitates like a user operating the application. Selenium is an excellent tool to automate some of the functionality tests. The Selenium IDE which is a firefox extension can help in recording and playing back the actions on a web application. The recorded script can be stored as a test case and run any time. Selenium on Rails is a plugin for rails that can help testing rails application easily. Here is an excellent screen cast that demonstrates using selenium on rails. On the whole Selenium is a great tool really helps in greater productivity and help in delivering quality applications.

Blink this Selenium at blinklist.com    Bookmark Selenium at blogmarks    Bookmark Selenium at del.icio.us    Digg Selenium at Digg.com    Fark Selenium at Fark.com    Bookmark Selenium at Furl.net    Bookmark Selenium at NewsVine    Bookmark Selenium at reddit.com    Bookmark Selenium at Simpy.com    Bookmark Selenium at Spurl.net    Bookmark Selenium with wists    Bookmark Selenium at YahooMyWeb

Comments      Cosmos

Reverse AJAX

Getahead’s DWR (Direct Web Remoting) is a javascript framework that enables Ajax with j2ee applications. Recently etahead launched a new use of AJAX called reverse AJAX. In reverse AJAX the response is a push from the server to the clients rather than the traditional pull. The server code pushes the javascript to the clients who are connected to the server. Read this article from Ajaxian on uses of reverse Ajax.

Blink this Reverse AJAX at blinklist.com    Bookmark Reverse AJAX at blogmarks    Bookmark Reverse AJAX at del.icio.us    Digg Reverse AJAX at Digg.com    Fark Reverse AJAX at Fark.com    Bookmark Reverse AJAX at Furl.net    Bookmark Reverse AJAX at NewsVine    Bookmark Reverse AJAX at reddit.com    Bookmark Reverse AJAX at Simpy.com    Bookmark Reverse AJAX at Spurl.net    Bookmark Reverse AJAX with wists    Bookmark Reverse AJAX at YahooMyWeb

Comments      Cosmos

Next entries » · « Previous entries

Creative Commons License  This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.