Bill Gates Did It Wrong, Again …

This is about the world map you will be seeing when you try to change the time on Windows XP (I think this is same with other Windows computers too. My Geography knowledge is not really good but I think it is good enough to spot a “newly created” gulfs and Islands on the world map because I have had my elementary Geography as everyone else, except some people at Microsoft. Either people who involved with this were too ignorant or they have no respect for geography at all when doing such thing (Although Microsoft’s Virtual Earth remarkable thing).

Map with errors

You can see many erreneous Geographical places on the above map (I have encircled few). And following the world map for your comparison. No wonder why many hates MS products !!!

image2.gif

Shortest Domain Names on the Internet

single_letter.jpg

Recently Google Inc. bought g.cn and it made a buzz about single letter domains again. I decided to do a research on single letter domains because there is not much has done regarding single letter domains and I thought it is an interesting subject for a blog article. ICANN is the responsible authority to issue the single letter domains and it is currently not allowed to issue single letter domains to any top level domains (.com, .net, .org). I tried to find any single letter top level domain and could find only four active domainss although some articles suggest it is six. These domains were allowed to continue, because, these were already registered when the restrictions to single letter domains were imposed.The list is as follows.

1. q.com (Redirect to quest.com)
2. x.com (Belongs to paypal)
3. z.com (Belongs to Nizzan – originally for Nissan z series cars)
4. x.org (Belongs to X organization Fondadtion)
and some articles say following two domains also issued, but seems not active.
5. i.net
6. q.net

I also checked for some country level TLDs, and interestingly only China (.cn) allowed single letter domain names. Following the list of single letter domains for .cn TLD. Non of the domains in above lists were possible to check for the owners because almost all whois databases are returning anything for these domains.

1. a.cn (not developed)
2. b.cn (Parked)
3. c.cn (parked)
4. d.cn (Mobile site)
5. g.cn (Re-direct to Google)
6. h.cn (password protected homepage)
7. j.cn (Developed site in chinese)
8. l.cn (parked)
9. m.cn (developed site in chinese)
10. n.cn (un-developed site with an image)
11. o.cn (developed site in chinese)
12. p.cn (developed site in chinese)
13. q.cn (developed site in chinese)
14. r.cn (developed site in chinese)
15. s.cn (developed site in chinese)
16. t.cn (parked)
17. u.cn (developed site in chinese)
18. v.cn (un-developed site with an image)
19. w.cn (Re-direct to Windows Live sugnup page)
20. x.cn (developed site in chinese)
21. y.cn (HTTP 200 response)

Following the analysis of the 21 .cn single letter domains.

01. Parked 04
02. Mobile platform (opens a wml file) 01
03. Not Developed 03
04. Re-direct 02
05. Password protected homepage 01
06. Developed 09
07. HTTP 200 (Probably not developed) 01
TOTAL 21

As you can see from the list, at least 12 domains are not using to its potential (And I am not in a position to tell anything about developed domains because those are in Chinese). As per the current market estimate, it is believed that a single letter domain is worth at least a six figure value. Yet, most of these domains are not utilizing at all or not utilizing to its potential (Eg. w.cn is used for the windows live registration form)

No Grand Ma, You are not welcome to facebook.

gr

Recently my grand mother who was born on 1910, wanted to register with Facebook and asked my help with it. But it seemed as facebook thought my grand mother has nothing to do with facebook and not allowed to register using her real age. And the hilarious thing is she was asked to enter her real birthday and facebook is not willing to accept that, although 1910 was in the year drop-down list. My Grand ma insisting to register with facebook because all of her friends have profiles at facebook :)
So, I did a trick here. I made my grand ma a teen, and facebook took that without a problem. Finally everyone lived hapily ever after :)  

Facebook Screen

Encoding vs Encryption

Encryption Wheel

In todays technical documents, articles and jargons you may have encountered countless times the terms Encoding and Encryption. Those are terms which automatically come to mind when we need to hide or conceal some document or source code. It is common to see most people are using Encryption and Encoding interchangeably. Then What is Encoding and what is Encrypting?Encryption

The process of converting information into a form unintelligible to anyone except holders of a specific cryptographic key.

Encoding

to change a message into symbols, as encode oral language into writing, encode an idea into words, encode a physical law into mathematical symbols.

So, according to above two definitions, we can see though it seems as similar at the first glance, there is a major difference between the two terms. Simply, Encryption (someone calls this encipherment) is something like making a secret letter by changing, swapping, or replacing characters in previously defined order (This can be called “the Key”). The ‘format’ of the message is not changed. this can be also called “ciphertex”.

When we do encoding, the format of the data is changed. For example when we record a voice sample, the recorder will encode the analog voice signals into difital sygnals and store. Here the format has changed. The encoded data is not necessarily a “secret” as we seen in the encryption.

Usage:
Encryption is widely using when security is matters. There are many methods for encyption but the widely used, most common, and most efficient Encryption method is called PGP (some called it Pretty Good Privacy). A good mysterious encryption which remains unsolved even for today can be found at nowhere other than CIA headquarters. [link:  http://en.wikipedia.org/wiki/Kryptos ]

Encoding is widely used today in internet technology. For example When we want to use ‘&’ with urls we “URL encode” it to “%26″.

Avoid password prompt for Localhost with firefox.

This is a common situation, hence I expect almost every developer has encountered this situation. Although IE can natively handle this without any problem (may be because IE’s integration with the Windows), Firefox seems having problem (?) with natively handling NTLM by default (NT LAN Manager) you can overcome this situation by making some changes.

  1. type “about:config” (without quotes) in the address bar. (FireFox configuration page will appear.)
  2.  type “ntlm” (without quotes) in the filter box.
  3. Double click on the network.automatic-ntlm-auth.trusted-uris and prompt will appear.
  4. type “localhost” (without quotes) in the prompt and press OK.
  5. Now it should work :)

Vebguru Got PR5 – SEO Tricks Worked

Vebguru PR5

After the recent Pagerank update Vebguru.com has gained PR5 and I think that is a major improvement in terms of SEO. After all vebguru is still few months old, so this is a big thing. I am nor a SEO guru nor I did followed any extensive SEO methods, but I was generally aware about the technology and bells and whistles of SEO. So I didn’t forget to try one or two as always as when I get a chance. I think, my main contributor for the PR5 is my habit of commenting on blogs. I use search staus add-on along with stumble-upon tool bar. So I can easily spot a high ranking web page. I comment those page (Of cource my comments are always within the context of the article and I am trying to as informative or useful as possible)..but that was always a random process.

Other thing is my articles on the vebguru site, I first thought the subject I was writing on are not common and will not give any hits from google, but fortunately there was less competition for the words and the results is vebguru is getting more hits for ’strange’ search queries (ie. “moon phase actionscript”).
Other thing was the generous links I got from my friends, though none of those link is not over PR5, I know those links helped it well at the end.
Participation at more social networks also might help it, and I always used my signature with my URL.
So..The final thing is I have got PR5 this time, may be I am lucky or may be I am too smart ;) , but I know the most difficult part is retaining or improving it after the next update. There are lot to do.

APACHE, PHP, MySQL all in one bundle, and Its XAMPP -The Novice Web Developers’ Friend

xampp logo

Recently I got a new PCP for my office (HP dc7700 form factor business PC) and I needed to install all the servers and applications with the new computer. Earlier configuring Apache, MySQL, PHP in a local computer was a somewhat tedious work, and it was not uncommon a simple mis-compatibility of versions, or simple error take your valuable day or two for tracing and correcting installation issue of your Apache, PHP or MySQL. This is not a big thing for an advanced user, but I know this is really a big issue for a beginner, because there are lot of posts in the help forums regarding installation issues.I have already heard about the XAMPP from Apache Friends, so I wanted to have a try on that this time. I downloaded the XAMPP installer, because I guessed that will be the easiest way of installing all these. It was a 34 Megs file but it included

  • Apache HTTPD 2.2.4 + Openssl 0.9.8e
  • MySQL 5.0.45
  • PHP 5.2.3
  • PHP 4.4.7
  • phpMyAdmin 2.10.3
  • Zend Optimizer 3.3.0
  • 1.6.3 Patch

So literally it includes all the modules I will need. Though the download took sometime due to the large files, It is definitely worth trying because, the installation process was really went smoothly. I didn’t have to touch a single line to configure. All worked like a charm. So I think XAMPP is the best option for the beginner developers who want to install Apache, PHP, mySQL on the local server.

You can download the latest version of the XAMPP from here

Thank you Apache Friends for saving the day.

CAPTCHA vs Usability

CAPTCHA Image

Spamming is among the top few reasons, which today’s webmasters have to deal with, and I have already discussed ()some of the methods which can be used to control spamming to some extent. CAPTCHA is among few successful techniques which used by almost all of the web sites to control the automated spamming and other unsolicited activities.

So..whats CAPTCHA? According to official definition CAPTCHA is an acronym and full definition as follows.

A captcha (an acronym for “completely automated public Turing test to tell computers and humans apart”) is a type of challenge-response test used in computing to determine whether or not the user is human. The term was coined in 2000 by Luis von Ahn, Manuel Blum, and Nicholas J. Hopper of Carnegie Mellon University, and John Langford of IBM. …

So in simple terms, CAPTCHA is an image verification system, to differentiate automated bots or machine processes from humans, on the assumptions that, its very difficult to machines to identify shapes (Even letters and numbers are shapes.. aren’t they?) embedded in images.

How does CAPTCHA affects the usability?
At the first glance, we can see, CAPTCHA adds an additional stage for the process. For example, in a new user registration process, you never want or need to enter some obfuscated letters which are completely not related to you or any thing in this world along with your details to make the process successful. You might remember you never did so in any thing you filled manually on paper based forms. Now you can see,CAPTCHA has added an additional stage or field for the process. The usability has already affected to some extent. But you can never compromise security with anything. So, we are now used to bear the burden, as we are now doing with road blocks and other check points.

Okay..So what is this fuzz about usability? I once required to use one online application which required to validate with CAPTCHA. This form was required to enter numbers or letters which is be in the CAPTCHA image. But there were no letter or number in the image but some garbled background. I refreshed the page once. but no change. In this case CAPTCHA made the whole system un-usable. The problem was not with the concept of the CAPTCHA or the technology. But with the implementation and poor designing.

Now we see, how CAPTCHA might fail, and let down the usability and operability of the entire process. CAPTCHA image variations can achieved with changing many parameters. Lets see what are they.

1. Font Variation.
Different font faces have different looks. But I have seen many sites using fonts which are really hard to read. Specially when it is combined with other features listed here. And some CAPTCHAs use numbers and letters that could make problems when differentiating some letters from numbers (ie. 1, I , i, l as well as o, 0) making the CAPTCHA case sensitive will make it harder to use.

2. Rotation
CAPTCHA supports rotation of the fore ground as well as background. But if you rotate too much, some important parts can be cut-off and make problems. the best angle I think from 15 degrees to -15, but I know that depends.

3. Background variation
Background variation can be achieved by changing background color, or using background image or noise. if the background color or image competing with the foreground, there is a big problem. It is always better to maintain some contrast between background and foreground.

4. Colors
As discussed in previous point, color contrast is important, and also it might cause problems to color blinded people, if not choose colors wisely.

5. Deformation
Deformations can be achieved with blurring or shearing the image or background. If these effects uses excessively it might harder to read humans as well, let alone machines.

6. Accessibility problems
If the CAPTCHA doesn’t have any audio support, it will not be usable to visually impaired people at all.

Solutions to improve the usability
Many of the problems are caused by the points I have already listed in the above list. In addition to that here I have few suggestions, almost all are already in operation in many sites.

  • Provide audio support
  • Asking simple yet human understandable question/phrase (logic puzzles) like “please enter the answer for 1 plus 1″.
  • Animated CAPTCHA – CAPTCHA details are displayed in animated gif, in multiple frames, making it is harder to track for bots.

After all, there is no ultimate solution for anything, so the captcha. there are many resources have information about breaking captcha
1. http://www.cs.berkeley.edu/%7Emori/gimpy/gimpy.html
2. http://www.brains-n-brawn.com/default.aspx?vDir=aicaptcha
3. http://sam.zoy.org/pwntcha/

Charting With Flash (Part 1) – Pie Chart and Area Chart

Flash Charts Main

Recently I got a job for developing charting application with flash. I was asked to develop four types of charts. When I do a search for flash charts I found that fusioncharts.com is the leader with flash charts having sleek, advanced, and also various kinds of charts. And there are other vendors who provides flash charts but they all have few major drawbacks.

1. File size is large – being a generalized product, it has many unwanted codes. So that affects the performance as well as the file size.

2. Less customizability/extendability – although fusioncharts and other vendors has many customizability features, it still has limits. And coupling with other technologies is difficult.

So my job was to deveop four charting modules for following cart categories. All the design were done by the client and I was required to follow exact design with high precision, including colors, shading and positioning.

  1. Pie Chart
  2. Area Chart
  3. Stack Chart with Cylinders
  4. Traffic light chart.

All the data were provided with static xml format.
1. Pie Chart
If anyone interested in developing Pie charts with flash I think following formulas will be useful, and I must thank kirupa.com and senocular.com for the vast resources they are providing. Here is a very short brief of the process for those who will need to do this type of application in future. This might not be the best approach to do the job. But, considering the difficulty I had faced to find good help, specially being not good at Mathematics, I think atleast having a simple clue wil be worth than nothing.

Finding the path of a circle.
When cx is the x value of the center, and cy is the y value of the center point the of the circle with 100 units radius(r), you can find any point on the circle circumference with following formula.

x = r * Math.cos(angle_in_radians)
y = r * Math.sin (angle_in_radians)

so the point (x, y) can be any point on the circumference.
Note : Angles in degrees can be convert to radians by this formula.

angles_in_radians = angles_in_degrees*Math.PI/180

Finding a Mid point of an arc
first we need to angle of the mid-point in radians and that can be found with following formula.

starting_angle+(end_angle-starting_angle)/2

So we now know the angle of the mid point and we can get the co-ordinates of the mid-point by using the formula

link to live demo : pie_chart.html

2. Area Chart

* Area charts needs to be semi transparent so that, the overlapping areas to be visible, othewise colors will get distorted. To avoid that its needed to use two adjacent series for one area, with reversing the lower series values to make a closed polygon to avoid overlapping.

this is the pseudo code for the process

series1 = new array
series2 = new array
series1.reverse() //Reverse the series2 array
series2.concat(series1) //to make a single array with concat

Drawing polygon with Flash
Drawing chart area can be done by using drawing API here is the pseudo code for doing this.

//my_mc = the movieclip wich the polygon draws
my_mc.fillStyle(0×123456, 80) //fill with 0×123456 with 80 alpha
my_mc.moveTo(starting point);
my_mc.lineTo(point 1)
my_mc.lineTo(point 2)
………….
my_mc.lineTo(point n..)
my_mc.endFill()

Live Demo : area_chart.html

Comment Spams, What is it and How to stop..

Comment Spam

As a blogger I always like to have an honest, and constructive comments about my post, or there are countless times I used commenting systems to get things cleared, have a discussion or actually complement the poster (or the site owner) and appreciate the effort. And that is the meaning of the comment system you all can see in most of the web 2.0 sites as well as blogs and user generated contents. But there are people who exploit this feature to improve the Page-Rank by commenting in as many as sites they can, thus increasing the no of links pointing to their sites.

So, how we can identify a genuine comment and a comment spammer? Comment spammer is only interested in inserting his link, nothing much. Their comments mostly are also nothing much, but a link to another site, or short or irrelevant message something like “Nice Post”, “Thank you” etc with a link.

Other type of comment spamming is done by automated software called as spambots. Spambots acting in many ways, from collecting email addresses from web pages submitting spam links to comments sections, wikis, and forums. It is this kind of mallicios applications are responsible for the most of the spamming in today’s Internet.

Okay..now lets see how to prevent or control comments spamming while encouraging user participation. It is true that the genuine user’s motive is not to publish a link, but contribute to the post or getting something cleared about the post. Commenting is necessary component of a blog. Best thing to restrict comment spamming is discourage them by not supporting their motives, that is improving the Page-Rank by sewing links everywhere possible.

1. Moderating Comments - No one or nothing can do the job better than you. So in the first hand, why don’t you take the job with your self? Actually this is not an easy task with bigger sites with lot of comments per day. But I think most spam comments can be eliminating, if you implement proper moderation policy.

2. Use Akismet – The best solution to automate comment spam control is using Akismet. It is a near perfect solution with my blog so far. Frankly still not a single spam comment could penetrate it till now. Akismet can be used with any web based application which has submitted content, including forums, wikis, and contact forms.

3. Use rel=”nofollow” for All Links - Some are not agreeing to this but we can see many high-end blogs with higher Page-Rank as well as starters are using this property with Anchor Tag (Eg: <a href=”http://www. vebguru.com” rel=”nofollow” > . This is to notify Googlebot to not to consider this link for calculating Page Rank. WordPress Blogs automatically includes this with comments.

4. Disabling HTML in Comments - Disabling HTML in Comments, can be help to prevent anyone inserting script

block or links, or any un-wanted HTML content with the comments.

5. Image Verifications – Many sites to day uses CAPTCHA (an acronym for “Completely Automated Public Turing test to tell Computers and Humans Apart”) or other image verification method to prevent automated comment spamming.

6. Non-Descriptive form elements – Spam bots (Automated spam posting applications) are programmed to identify specific words like “Comments”, “Feedbacks” etc. So using non-descriptive form names can be help to stop comment spams to some extentI hope this list helps you to cope with comments spams. :)