logo

Call Us

USA: +1-703-652-8473

UK: +44-114-279-2798

UAE: +971-50-1887848



Archive for the ‘Utilities’ Category

TestSwarm – JavaScript Testing Made Simple

Tuesday, October 6th, 2009

Here’s glad news for web developers from Mozilla Labs. There is now a quick and easy way to test your JavaScript code on multiple browsers. TestSwarm, the new Mozilla Labs project aims to ease developers’ pain by providing distributed continuous integration testing for JavaScript.

However, at this moment, TestSwarm is still in alpha testing.

NOTE: “During this alpha period data may be lost or corrupted and clients may be unexpectedly disconnected.”

The TestSwarm project was initially started by John Resig as a tool to support the jQuery project and it later moved to become an official Mozilla Labs project. According to John, one of the main reasons on why he pursued this project is because the present day’s cross browser Javascript testing methods do not scale. TestSwarm is expected to greatly simplify the complicated and time-consuming process of running JavaScript test suites in multiple browsers.

TestSwarm currently supports 7 operating systems (Windows, Mac OS X and Linux) and runs its tests on all the major browsers from Mozilla to Konqueror. TestSwarm provides a great visual interface to display the test results. Detailed data about what exactly went wrong is provided which helps to rectify the problem too. This makes a developer’s job easier to keep JavaScript libraries compatible with most web browsers.

Currently, TestSwarm is provided as a service to test few popular JavaScript libraries including jQuery, YUI, Dojo, MooTools, and Prototype. You can also download the source code and install TestSwarm on your own servers if you want to use it for your own project.

To know more, watch this screencast on how TestSwarm works. Additional information is available on John’s blog and the TestSwarm site.

Video and the Web

Wednesday, September 30th, 2009

With the increasing number of video formats, the complexity in identifying the best format has also increased.  Compatibility, size, quality and affordability together determine the format that best suits for any requirement in the web.

A video format used in the web should be compatible with major browsers and Operating Systems. Major browsers include Internet Explorer, Mozilla Firefox, Opera, Google Chrome and Safari. Major Operating Systems include Windows, Macintosh, and Linux. When it comes to size, the smaller, the better. And when it comes to quality, the higher, the better. The cost factor also plays an important role. I have summarized below, few recognized and used formats in the web with their pros and cons. Proper analysis of our requirement with the capability of the video format will help us to identify the best format for the requirement. These formats are developed and backed up by giants who continuously update and keep them to standards.

  • WMV:

Windows Media Video (wmv) is developed and controlled by Microsoft. The video file is based on Microsoft Advanced Systems Format (ASF) container format and is compressed with Windows Media compression. The quality of the video is good and the file is also of low size. One major drawback is that the file runs only on Windows. Neither does it support Flash nor Synchronized Multimedia Integration Language (SMIL) standard.

  • Quick Time:

Quick time (.mov) is developed by Apple Inc. The latest released version is 10.0. QuickTime is particularly suited for editing. It contains one or more tracks, each of which contains abstract data references for the media data. QuickTime also supports key standards for web streaming, including HTTP, RTP, and RTSP. Also, QuickTime supports every major file format for images, including JPEG, BMP, PICT, PNG, and GIF. QuickTime also features built-in support for digital video, including MiniDV, DVCPro, and DVCam camcorder formats, as well as support for AVI, AVR, MPEG-1, and OpenDML.

  • Real Media:

Real media was the first streaming technology on the market. However, Real media still trails Flash when it comes to smooth playback of high-impact interactive multimedia. Web developers have begun to use the Real System G2 and SMIL to stream synchronized multimedia presentations over the Web. This in turn is promoting a wider usage of real media by the developers in the web.

  • Macromedia Flash:

Flash is often referred to as the best solution to web media. However, its unfriendliness with search engines has always left it behind. Flash generates high-impact web multimedia with short sound effects and loops. Formerly called as Future Splash, the Flash company was later acquired by Macromedia in 1997. With Flash, users can also draw their own animations or import other vector-based images.

  • MPEG-4:

Developed in 1998, MPEG-4 was specially designed to play streaming media file with high quality in the web. MPEG stands for Moving Picture Experts Group and is managed by ISO (International Organization for Standardization). MPEG-4 is a proprietary technology; it requires licensing in order to be used. AT&T claims to have the patent rights for MPEG. But Apple and a number of other video content providers are continuously working on MPEG along with their technologies.

Stay tuned for my next blog in which, I plan to explain the different methods that are available to deliver these formats on the web.

Google Reader – Track All Your RSS Feeds in One Place

Monday, September 14th, 2009

Did you ever wish that keeping up with all your favorite websites was as easy as checking into your email? Or that somebody would keep an eye on the Internet for your sake, choosing interesting stuff and placing it where you can find them easily?

Too incredible to be true, right? But that’s exactly what Google Reader does.

Google Reader was introduced way back in 2005, graduating from beta status in 2007.

For anyone who is not yet familiar with Google Reader, and given that RSS feeds are more extensively used, let me explain……

Google Reader is a web-based aggregator that is capable of reading all RSS feeds that you have subscribed to, so that you can  access them all in one place. Google Reader lets you know each time your favorite websites are updated. You can then, if required, organize feeds into folders, label them, and share the most interesting posts with your friends.

Google Reader is located on the Web at reader.google.com. You can access Google Reader using your Google Account.

Let’s now take a quick look at some of the main features that Google Reader has to offer: (more…)

Pitfalls in WordPress Version 2.6.1

Friday, August 21st, 2009

Almost a year back (Aug 15th, ‘08, to be precise), AUTOMATTIC released WordPress 2.6.1 fixing over 60 bugs. Also the version featured with the introduction of ‘right to left’ typing for Hebrew and Farsi language administrators. In a very short period of time (may be around one month), the company alerted 2.6.1 version users of security holes in using the same. Here, in this small article, we are going to analyze those vulnerabilities that made AUTOMATTIC release an upgrade for WordPress version 2.6.1 so soon.

Ok, let’s be clear and to the point. The problem is created by the nature of:

1.    mt_rand () function of PHP and

2.    the truncation method that MySQL adopts

mt_rand ():

PHP has two random number generating functions: rand (), mt_rand (). The former uses GNU C library and the latter uses Mersenne Twister algorithm. Mersenne Twister algorithm was created by Takuji Nishimura and Makoto Matsumoto of Japan. mt_rand () is predominantly used in most of the PHP applications and most importantly, WordPress 2.6.1 uses it.

Normally a seed is used to initiate the generation of random numbers. If it is possible to determine that seed, we will be able to generate the same sequence for any number of times. In other words, we will be able to hack the working of random generation. Seed can be determined using a lookup. Now, once the seed is found, anyone can generate the sequence that the application generates. If you want to know how this is possible, you got to learn random number generation in PHP or there’s an alternative: bow to the fact that it is the nature of mt_rand () function.

Now, make a request for admin password which would send an activation link to the actual admin. But since we have the seed, we will be able to calculate the same activation link by enabling Keep Alive HTTP request.  Activating this link and using a different email ID in the form will allow creation of a new WordPress admin password and thereby complete control.

MySQL Truncation:

Let’s see the next one. When the string input given in a query is longer than the defined maximum length, MySQL, by default, truncates the string to the defined maximum length. For example, if the maximum value of the string column is defined to be 8 then, the input value, “qburst_expressions” will be truncated to “qburst_e”. There will be a warning displayed but, applications are normally not configured to handle those warnings. And importantly, WordPress version 2.6.1 was not.

Suppose I know the WordPress admin name, (let’s say, “godfrey”) and the maximum length of the username in MySQL is set as 32. When I register as a new user with the same name “godfrey”, obviously, MySQL will return an error as there already exists an username godfrey. Now, I try with “godfrey   “(with 2 spaces after the name), MySQL will truncate the string to “godfrey” and again return an error due to the same reason. Suppose I try with “godfrey                         g” (with 25 spaces between godfrey and g) then MySQL will not be able to identify a similar username and also truncate the name to “godfrey” to be inserted into the database column. This happen because the username exceeds the defined maximum length of 32 and the system will not be able to find a match in the database. Now we have 2 admin usernames in the table. This is sufficient to pass the validation and gain access to the password of the original admin, thereby complete control.

Username Length Max Length After Truncation Database Change

“godfrey”

7

32

“godfrey”

No change

“godfrey  “

9

32

“godfrey”

No change

“godfrey                         g”

33

32

“godfrey”

Truncated string (godfrey)  inserted as new username into DB

These holes in security made AUTOMATTIC to work on an upgrade at the earliest. And the next release fixed all these errors. So if you are planning to use WordPress, make sure you use the latest version and remain safe. WordPress 2.8.4 is available for download now. It is the latest stable version of WordPress according to the AUTOMATTIC’s last release.

Netbook Vs Notebook

Tuesday, July 21st, 2009

A variety of netbooks have been invading the market for quite a few months now. There have also been reports that consumers who bought a netbook later realized that they had actually wanted a notebook. Majority of the consumers cannot tell the difference between the two, which may be attributed partly to the similar suffixes of the two words.

So, what is the difference between the two?

A simple answer is that, compared to notebooks, netbooks are simply smaller, lighter and cheaper – approximately the size and weight of a hardback novel or diary, weighing around 1 kilogram. Screen sizes (the diagonal measurement across the screen) vary from 7-10 inches for a netbook to 12+ inches for a notebook, typically around 15.4 inches. Netbooks, powered by Intel’s Atom processor are not as powerful as notebooks, and lack the facility to play CDs or DVDs.

Connectivity is the central focus for netbooks and their primary use is to surf the net. Built-in Ethernet and wi-fi is used for connecting to the internet. It is intended to be used mainly by people who want to keep connected while on the go. With its prices below $300, it is an excellent solution during the credit crunch!

Statistics prove that netbooks have succeeded in creating a new market above handheld computers, smart phones and personal digital assistants. Analysts are torn whether or not netbooks will eat into the notebook market share. Since the recession is still underway, people will be looking for cheaper products, which suggest that netbooks will be in demand.

However, netbooks are presently limited by battery size, processing power and storage space, which gives notebooks a clear edge of it.

No matter what, I do believe that there is certainly space in the world for both to function and live together in peace.

Check out the netbooks available in the market

Google Wave 2- The Platform

Tuesday, July 21st, 2009

Articles on Google waves is flooding the web, trying to bring out a deeper understanding on this wave renaissance. There is so much of expectation generated now as people are anxiously looking forward to get their hands on it. With the little information revealed by Google, let us try to figure out something more on how this is going to work. In Google wave 1 we discussed about Google waves as a product. This time let us view Google waves in the perspective of a developer, that is, Google waves as a platform.

What is a platform?

Platform in software realms can be understood as an entity on which software can be made to function. A platform provider will provide APIs (Application Programming Interface) for software to be developed in his platform. Let’s take a few examples: Java, the product of Sun Microsystems serves as a platform and it comes with APIs like AWT, JDBC, JMF and so on. These APIs are also provided by Sun Microsystems. Apple Inc, owner of iphone had APIs confidential until October 2008 when the company open sourced and made it license free to develop software applications to be run on iphone. Lately, there is facebook API which is both powerful and popular.

What about Google API?

Google has promised to come up with a public API which can be used by any developer to create applications that run on the wave platform. There are 2 ways by which a developer can make his presence felt in Google waves. The first method is by building robots or creating gadgets. The other method is by embedding waves on third party websites. Let’s try to get some insight on these new terminologies.

Robots, Gadgets and Embed API

Robots are automated participants in a wave. Remember the robot in ‘Lost in Space’. It is a similar kind of simulation except that these robots will function inside the computer. A robot created inside a wave will be able to read, modify and delete blips and wavelets. A wavelet is a smaller wave that is resident inside a wave and a blip resides inside a wavelet. The diagram below will give you better picture.

The developer can create robots and perform interactive operations within a wave. What are the interactive operations? Well, that is left to the creativity of the developer. Learn more about robots here. Wave Gadgets are similar to the ordinary gadgets in its mechanism to get embedded as third party development applications. But there is more offered. A wave gadget can function within a live wave. An example Google gives to explain this is one which lets participants of a wave to vote on where to go for lunch. Learn more about gadgets here.

The second method using Embed API enables to bring waves into third party websites. There will be simultaneous updates in websites as and when an update is made inside a wave. Google has already come up with a few embeds. ‘You tube playlist discuss’ is one among them and is sure to gain so much popularity.  Learn more about embed APIs here.

As Facebook is dominating now with so much integration, it is certain that we can expect even more from Google waves. So if you are a developer, be informed about what is going on in Google waves and get ready to play with the tools as soon as you get them.

Links for further study:

http://code.google.com/apis/wave/

http://googlewavedev.blogspot.com/

Pocket-sized Dell Mini 10V

Friday, July 3rd, 2009

Pocket-sized Dell Mini 10V

The Arrival of Netbooks has turned the PC market upside down as diverse models and players are coming in short span of time. This segment triggered the competition when Acer introduced its first Netbook model Acer Aspire One in to the market. Dell took further long time for foraying in to Netbooks market. They started with Dell Inspiron Mini 9 then followed by Mini 10,12 and now the advanced Mini 10V.

The hapless performance of Mini 9,10 and 12 forced Dell to come up with a robust model, which can capture some market share in this segment. The drawbacks of the former models were the lack of good memory and hard drive space. Mini 12 was expected to become a leader however; its limited memory slot and hard drive pushed them out of the competition. (Dell Inspiron Mini 12 has 1GB DDR2 memory slot and 80 GB Hard Disk)

Mini 10V Tech specifications

Processor – Intel® AtomTM N270 (1.6GHz/533Mhz FSB/512K L2Cache)

Operating System – Microsoft Windows XP

Memory – 1GB,DDR2,533MHZ

Hard Drives – 160GB SATA HDD 2.5 inch 5400RPM

Display – 10.1″ Widescreen 1024 x 600 WSVGA (WLED)

Apart from these, Mini10V comes up with 1.3 MP webcam, Blue tooth module and for power there are 3 cell & 6 cell Li-lon batteries.

Battery Performance

With the 3-Cell battery , it gives a max of 3 hours and 6-cell battery exhaust after 6.5 hours.

Price – $375

Bing Your Search!

Tuesday, June 23rd, 2009

The new avatar of Microsoft’s latest search engine, Bing, is here.  An updated version of  Microsoft’s former search engines, namely Live Search, Windows Live Search  and MSN Search, Bing.com went fully online on June 3, 2009.

Bing Features

Here’s a quick look at some features of Bing that could give other search engines such as Google and Yahoo a run for their money (although it would be a while before Google can be, if ever they are, outsmarted!).

Do note that some of these features are available in the United States version only. You can change your country settings using the toolbar at the top right hand side of the Bing site.

  • The background image changes daily.  They are mostly striking images of noteworthy places in the world. You can hover over the images to see interesting facts about them. (more…)

Search3 – The ‘3-in-1’ Search Mode

Monday, June 22nd, 2009

We all know that there are a number of search engines on the Net but most of us invariably turn to Google to search for anything and everything we need. Although it often meets up to expectations, there have been times when even Google cannot seem to retrieve what we are looking for.

Here’s a new and useful search engine specially designed to solve this problem. Search3 has recently launched its beta search engine www.search3.com, This search engine allows you to search for an item in different search engines all at once. You can choose among Google, Yahoo, Bing, Twitter and Ebay for web search. For image search, you have Flickr as an additional choice.  The search results are displayed in a three-column format depending on your choice of search engines. The founders plan to add new search engines in the coming days to give users a wider variety of engines to choose from.

Currently, this search engine provides only web and image search. But more categories like health, real estate, etc. will be included shortly.  A mobile version and iPhone app for the service will also be rolled out soon.

With search3.com, users can now compare and decide for themselves which search engine gives them the best results. But the people who are really going to benefit from this tool are SEO professionals who now have a convenient means of comparing page ranking for their websites in different search engines.

Do read up more on search3.com features before you decide to integrate it into your web browser.

Google Wave – 1

Tuesday, June 9th, 2009

Why do we have to live with divides between different types of communication – email versus chat, or conversations versus documents?

Could a single communications model span all or most of the systems in use on the web today,  in one smooth continuum? How simple could we make it?

What if we tried designing a communications system that took advantage of computers’ current abilities, rather than imitating non-electronic forms?

Tough questions! These questions have paved way for Google Wave. Jens Rasmussen and Lars Rasmussen wrestled over these questions since 2004. These geeks were the inventors of Google Maps and now they are ready to unleash Google Wave into the Internet. Google Wave comes in 3 layers. The product, platform and the protocol. Here, we will discuss Google Wave as a product.

Google describes Wave as “Equal parts conversation and document”. It is the next generation of e-mail. A Wave contains a complete thread of message saved in a common server. When this Wave is shared with other users, they can also get into edit mode. The interesting feature is that when a person is editing the wave, others will be able to see the edit process almost letter by letter. So this means that all of them will be able to collaborate in a wave almost instantly. Waves come with a rich text editor and several other functions that will enable the users to work on text, images, videos, maps and many more. Whenever a change is made on a wave, all the collaborators are notified. The complete history is stored within the wave.

Here is a screenshot provided by Google that gives us a first look.


Waves can therefore serve as e-mail and chat. It will work similar to wikis. The next layer ‘platform’ provides various APIs enabling waves to become a place where a group of people can work together to prepare documents, plan events, hold discussions, play games, etc. We will discuss about them in the next section.