Archive for July, 2006

Sand Art

If you have watched Animal Planet closely there are in between ads (ones that finally says It Grabs You!), one of them is a sand art. A sand art presentation on evolution was performed during the SICAF Seoul 2003 event. Here is the Google Video presentation of it. Amazing! It is done on overhead projector with fine sand.

And here is another flavor of creativity with the use of crazy multi-input touch screen.

Happy Weekend!

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

Comments      Cosmos

Useful Resource #8 - HTML Meta Tags

The HTML Meta tags describe about a web page, its author, how the browser should handle the page and such. Meta tags have been around since the inception of HTML. These tags can come handy when you want to instruct the browser how to handle the page. For example should the browser cache or expire when the user clicks back or refresh and so on. Not only that the search engine robots get information about a page from the Meta tags and index them. The page can also mention what the robots should do with the page. “Useful HTML Meta Tags” has the table of Meta tags with example and description.

Blink this Useful Resource #8 - HTML Meta Tags at blinklist.com    Bookmark Useful Resource #8 - HTML Meta Tags at blogmarks    Bookmark Useful Resource #8 - HTML Meta Tags at del.icio.us    Digg Useful Resource #8 - HTML Meta Tags at Digg.com    Fark Useful Resource #8 - HTML Meta Tags at Fark.com    Bookmark Useful Resource #8 - HTML Meta Tags at Furl.net    Bookmark Useful Resource #8 - HTML Meta Tags at NewsVine    Bookmark Useful Resource #8 - HTML Meta Tags at reddit.com    Bookmark Useful Resource #8 - HTML Meta Tags at Simpy.com    Bookmark Useful Resource #8 - HTML Meta Tags at Spurl.net    Bookmark Useful Resource #8 - HTML Meta Tags with wists    Bookmark Useful Resource #8 - HTML Meta Tags at YahooMyWeb

Comments      Cosmos

Enterprise Application Integration (EAI)

Large enterprises have multiple applications serving different purposes. And the information is scattered across various applications. Most of the times there is a huge overlap of information between different applications but each application uses its own resource to store information. Not only data but common business processing code might be available redundantly in many applications. When applications working in silos can be interconnected with common business entities acting as service and common data shared between services and applications, it is enterprise application integration (EAI). While it is easy to define here, it is an Herculean task to bring together different applications and deifferent teams to make it happen. Enterprise Service Bus (ESB) is one of the approaches to enable EAI. EAI on wikipedia has more details and also the pitfalls.

Blink this Enterprise Application Integration (EAI) at blinklist.com    Bookmark Enterprise Application Integration (EAI) at blogmarks    Bookmark Enterprise Application Integration (EAI) at del.icio.us    Digg Enterprise Application Integration (EAI) at Digg.com    Fark Enterprise Application Integration (EAI) at Fark.com    Bookmark Enterprise Application Integration (EAI) at Furl.net    Bookmark Enterprise Application Integration (EAI) at NewsVine    Bookmark Enterprise Application Integration (EAI) at reddit.com    Bookmark Enterprise Application Integration (EAI) at Simpy.com    Bookmark Enterprise Application Integration (EAI) at Spurl.net    Bookmark Enterprise Application Integration (EAI) with wists    Bookmark Enterprise Application Integration (EAI) at YahooMyWeb

Comments (1)      Cosmos

Enterprise Service Bus

Have you come across multiple applications working together? Take for example an online shopping site. This would integrate with multiple vendor applications and payment gateways behind the scenes. Making these applications coordinate with each other and making them work coherently would be the critical part that decides its success. Called an enterprise application the architecture/design plays an important role in deciding the interface that will enable integration with other applications. This interface called as middleware is only responsible for making sure the information from one application to another is passed without fail and in a secure fashion. If the applications that we are talking about are services then what we are talking about is Enterprise Service Bus (ESB). The ESB is a key enabler of the buzzword Service Oriented Architecture (SOA). The technology choices around ESB are critical decisions performed by an architect that orchestrates the services working together. For example communicating with an application that acts as a payment gateway would require a secure communication and with either a successful or total failure transaction meaning you don’t want to pay but not get the product. A detailed three part series on “Enterprise Service Bus” is available on Dr. Dobb’s Portal.

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

Comments      Cosmos

Foundation Stone #10 - Service: A thought around the definition

Probably you might have come across this term so often. I wanted to share my thoughts on defining services. Before we go any further lets take one definition from the net to continue with. So here is a great definition I picked up from the list of results that I got by typing “define: service” in Google.

A service is a self contained business function in which consumers interact through a well defined interface (contract). In this model, the consumer does not know (or care) “how” the service implements the requested business action - only that the service performs “what” is defined by its published interface (contract).

There are two key terms that we need to understand here.

  • Self Contained - A self contained function is said to perform only the business function for which it was written for. If the self contained function expects an input, that is all it expects, it performs the function and returns back the result. It does not care what the consumer is going to do with the result.
  • Contract - A contract is an agreement to use the service and abide by it in order to consume it. For example if the service expects an input that is mandatory for it to perform the function, and if the input is not provided then the contract is violated and the service does not work.

We can also see the word interface in that definition. An interface we can say is a bridge between a source and a destination. The consumer as per the above definition may not care how the service was implemented but has to care where it was implemented and how to reach it.

A web service is a service that sits on the web or the internet. In this case it is quite difficult to understand where the service sits and how to access it unless and otherwise the contract gives that information. Even if the consumer is able to get the contract but cannot interpret it then it is not possible for the consumer to interact with the service. So there should be a mechanism where in the consumer and the service can interact in a language that is common. Since there could be multiple consumers this language should be a global language. Welcome XML! We know that XML is technology agnostic, platform agnostic and is a best form of representing information in a structured fashion. So if the contract is in XML, and the service can be contacted through XML and the response is also in XML, then we have a service that does not care who, where and how a consumer works and the consumer does not care how the service is implemented.

Behold, the key definition of a service is still valid - “A service is a self contained business function”. To continue learning more on web services here is an article on “Introduction to web services“.

Read other Foundation Stones.

Blink this Foundation Stone #10 - Service: A thought around the definition at blinklist.com    Bookmark Foundation Stone #10 - Service: A thought around the definition at blogmarks    Bookmark Foundation Stone #10 - Service: A thought around the definition at del.icio.us    Digg Foundation Stone #10 - Service: A thought around the definition at Digg.com    Fark Foundation Stone #10 - Service: A thought around the definition at Fark.com    Bookmark Foundation Stone #10 - Service: A thought around the definition at Furl.net    Bookmark Foundation Stone #10 - Service: A thought around the definition at NewsVine    Bookmark Foundation Stone #10 - Service: A thought around the definition at reddit.com    Bookmark Foundation Stone #10 - Service: A thought around the definition at Simpy.com    Bookmark Foundation Stone #10 - Service: A thought around the definition at Spurl.net    Bookmark Foundation Stone #10 - Service: A thought around the definition with wists    Bookmark Foundation Stone #10 - Service: A thought around the definition at YahooMyWeb

Comments      Cosmos

Firefox Chrome

The core of Firefox does the job of a typical browser that can communicate with servers spilled over in the internet world. What adds more strength is the extensions of Firefox that give more value add. So how do these extensions work? Firefox extensions are nothing but combination of XUL (XML UI Language), CSS (Cascading Style Sheets) and JavaScript that can override the default behavior of Firefox in the form of toolbars, buttons and any UI outside of the main window in Firefox. The default layer that can handle these extensions is called Chrome. Any extension that sits in the chrome folder of the Firefox installation directory modifies or adds new behavior to the Firefox UI and performs additional functions. By default the extensions that you install on Firefox gets installed for your user id on your desktop. For example take the Selenium IDE extension that is used to automate web application tests. If you have installed this extension you can find out where the Selenium chrome is installed, by following the below steps in Windows.

  1. Right click on the Start button and select Explore. This will open up your windows explorer with your start menu folder under home folder open. In your home folder (c:\documents and settings\) you will find a folder called “Application Data”.
  2. Under that select Mozilla -> Firefox -> Profiles.
  3. Right click on that folder and select search. In the search window type “Selenium” and click Search.
  4. In the results you will find Selenium.jar. Look under the “In folder” column and you will know where the code for Selenium IDE is located. This will be in some random folder number, under the chrome directory.
  5. Double click on the jar file or open it in WinZip and you can see XUL, CSS and js (JavaScript) files.

Any Firefox extension can be triggered not only by any visible toolbar buttons or menu items but also by a special URL syntax that starts with chrome://. The Selenium IDE invoked from Firefox has a button that says “Play with Selenium TestRunner”. When you click on that button, the test runner is opened up in the Firefox browser instance. Look at the URL that gets loaded. You must be seeing an URL that is prefixed with chrome://. And Chrome itself is like an extension and does lot of built in capabilities of Firefox. And these can be invoked with the Chrome URL’s. “Firefox Chrome URL’s” lists all implicit XUL’s of Firefox and how they can be invoked through Chrome.

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

Comments      Cosmos

Country List

If you are part of a web application project that’s going to be out and used by public, you must most likely have a feature for the user to register to your site for various services.  Getting the country where the user is from is part of the user registration form.  Since there are nearly 200 countries probably you were thinking to display them in a combo box sorted alphabetically.  But based on your own experience with web you might have seen that the users come from 50 to 70% of the countries in the world.  It’s a pain if the user’s country starting letter is somewhere at the end and he/she has to scroll through (or type few letters) to get there. Here is an article “Putting some intelligence into web applications” that has a cool logic to capture the most number of users from countries and display in that order.  The sample program is in PHP but no big deal to translate it in any language.

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

Comments      Cosmos

3D on a 2D Road

Here is the creativity site for the week.  Probably you would have seen this.  Julian Beaver is an artist who is famous for his chalk arts on the pavements.  Look at these amazing 3D pictures drawn on the road.

Happy Weekend!

Blink this 3D on a 2D Road at blinklist.com    Bookmark 3D on a 2D Road at blogmarks    Bookmark 3D on a 2D Road at del.icio.us    Digg 3D on a 2D Road at Digg.com    Fark 3D on a 2D Road at Fark.com    Bookmark 3D on a 2D Road at Furl.net    Bookmark 3D on a 2D Road at NewsVine    Bookmark 3D on a 2D Road at reddit.com    Bookmark 3D on a 2D Road at Simpy.com    Bookmark 3D on a 2D Road at Spurl.net    Bookmark 3D on a 2D Road with wists    Bookmark 3D on a 2D Road at YahooMyWeb

Comments (1)      Cosmos

Next entries » · « Previous entries

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