Laws related to Software Development

Here is some laws to take into consideration when developing a software:

Hofstadter’s law
It always takes longer than you expect, even when you take Hofstadter’s Law into account.

Brooks’s law
Adding manpower to a late software project makes it later.

Lister’s law
People under time pressure don’t think faster.

The ninety-ninety rule
The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.

Worse is better (New Jersey style)
Describes how a seemingly “inferior” product can be better from a user perspective. A limited but easy-to-use software may be more popular among users than a “better”, more comprehensive one.

Wirth’s law
Software is getting slower more rapidly than hardware becomes faster.

Source: pingdom blog

FastCopy – transfer large files fast

Since getting hdd media player with 650GB of disk space I have been doing some large data transfers. But Windows operating system does a terrible job in transferring large files especially to external hard disks. It hangs, it prematurely terminates the transfers, files get corrupted… you name it.

fastcopy.pngOne way to do large file transfers is using MSDOS’ xcopy command, but it can get troublesome using MS Command Prompt especially when you do not know the commands.

Luckily there is a better way. FastCopy (freeware) (see screenshot) does the same what xcopy does, and even faster. Since it doesn’t use the cache of OS at all, other processes (applications) won’t be affected (i.e become heavy or hang) by the transfer.

It can also verify the copied files making sure that you do not have the corrupted files.

Since finding it I have been using it extensively and so far it’s doing a great job. Highly recommend it.

Download: FastCopy v1.98

TinEye – Searching for images the other way

tineye.pngTinEye is an image search engine that employs image identification technology rather than keywords – you upload sample image (or give URL of the image) and the search engine will find for you images that has the similar shapes, concepts, characteristics.

The results can be the same image, modified version of the image or a different image altogether as seen below. Also, the naming of the images do not really matter in this case as long as they match in appearance.


If you want to see more examples of search results, see cool searches page.

Additionally they have iPhone app which allows you to search for products using your mobile phone’s camera. Just take a picture of the product to start searching for product info and reviews. Cool Stuff!


How to share Google Analytics reports with others

Google Analytics is a great service and it’s used by many. One of the features that I like about Google Analytics is – sharing your reports with others.

Sometimes advertisers or potential partners would ask for your blog’s/website’s traffic statistics. And in this time of fraud and forgery, screenshots won’t simply do it. They want to see the real, live statistics. So, in this kind of situations G.Analytics’ “share reports” feature is a great solution.

Sharing your reports is easy, can be done in 3 simple steps.

1. Login to your G.Analytics account and go to your overview page of your reports. At the end of the page you will see a link “User Manager”, click it.


2. Next page will show you the list of emails (people) who have access to your reports. If it is your first time, you will only see your own email. Click on the “Add User” link.

Continue reading

Blogging Tips: How to write better posts

Writing blog posts comes naturally to some people, but some struggle to write and convey their message effectively. Following some of the tips below, can improve your blog posts’ quality.

Get to the point, will you?

It’s very important that you get to the point in the first few sentences of your blog post. If you cannot do that (perhaps the topic is too broad) then at least give an abstract of what you will be talking first. This is to get the attention of the reader from the beginning, and to give them the idea of what you will be talking about in the blog post.

So, don’t write few paragraphs building a base for your punchline in your post. Leaving the most important part of the post to the end is a bad idea. Unless you are some politician or celebrity, you want to grow your blog’s readership and reach a wider audience, and by beating around the bush in your blog posts, you will only hinder your blog’s growth. Because new readers tend to scan your blog posts and do not have time and reason to read them in full, sentence by sentence.

Use simple words

If your blog is about helping others or teaching them, or sharing your experiences so that they can benefit from it. Then you have to use simple words that everyone can understand. For example, if you have these two different words with a similar meaning to describe a man “sagacious” and “wise“. You should choose “wise man“.

You know what I am talking about right? Again, you don’t have to unnecessarily degrade your speech with primitive words. This is not meant by “using simple words”. It depends on your audience as well. But all else equal, you have to pick words that won’t confuse your readers or won’t make them think what the word means. Try your best to make your sentences flow smooth. Continue reading

Forrester: Company blogs are the least trusted source of info

Forrester has an interesting report on “sources of information” and how much people trust them. You can see the results in the diagram below. As you can see, the least trusted source of information is the corporate blogs. With all the “corporate blogging” taking off… at least among Fortune 500 companies, this is a huge information to swallow for the corporate bloggers.

However, on the positive side, now that the companies know people do not trust their blog posts, they can start working on various solutions to make their corporate blogging work.


How can they make it work?

  • Well, perhaps they could use the blog not only to communicate but also to get feedback from their customers and to start building strong community.
  • To genuinely listen to the comments, and provide quick solutions to the problems.
  • Instead of just re-posting press releases on the blogs (i.e too formal), maybe they could choose an informal approach and be closer to their blog readers.
  • Top management should be actively involved in blogging as well. This has many advantages; one – it would make the posts more authoritative. two- people would be more willing to listen to and believe CEO than any other executive. and three – it would have a multiplier effect on the company, because if CEO replies a commenter and says “we will do it”, this would actually turn into an action. So, by just replying to comments CEO would actually be improving company’s products.
  • …etc.

Companies should definitely try to get this report and study it if they can.

When will the Hour be established?

Picture below is an aerial view of Dubai City. As you can see the buildings are literally above the clouds. Just a few hundred years ago, Dubai and the whole of Arabian peninsula was just a desert. During that time, all you see was some mud houses, bedouins and camels. But now… this!


When I saw it I couldn’t help but remember the prophecy of Prophet Muhammad (peace be upon him). He was asked a question by angel Jibril (Gabriel): “When will the Hour be established?”, in other words when is the Judgment Day.

Prophet said:“… When the shepherds of black camels start boasting and competing with others in the construction of higher buildings. And the Hour is one of five things which nobody knows except Allah.” (Volume 1, Book 2, Hadith No:47)

Subhan’Allah, what a vivid description of the above picture by the prophet.

This was prophesied more than 1,400 years ago. And it’s just one of many prophecies of prophet Muhammad (pbuh) regarding the coming of the Last Day, including the Second Coming of Prophet Isa (Jesus).

The Hour is indeed near!