Total number of Websites

There are over 1 billion websites on the world wide web today.


By “Website” it means unique hostname (a name which can be resolved, using a name server, into an IP Address).
Around 75% of websites today are not active, but parked domains or similar.

Websites Change Internet Users Users per
Websites launched
2015 863,105,652 -11% 3,185,996,155* 3.7
2014 968,882,453 44% 2,925,249,355 3.0
2013 672,985,183 -3% 2,756,198,420 4.1
2012 697,089,489 101% 2,518,453,530 3.6
2011 346,004,403 67% 2,282,955,130 6.6
2010 206,956,723 -13% 2,045,865,660 9.9 Pinterest
2009 238,027,855 38% 1,766,206,240 7.4
2008 172,338,726 41% 1,571,601,630 9.1 Dropbox
2007 121,892,559 43% 1,373,327,790 11.3 Tumblr
2006 85,507,314 32% 1,160,335,280 13.6 Twttr
2005 64,780,617 26% 1,027,580,990 16 YouTube, Reddit
2004 51,611,646 26% 910,060,180 18 Thefacebook, Flickr
2003 40,912,332 6% 778,555,680 19 WordPress, LinkedIn
2002 38,760,373 32% 662,663,600 17
2001 29,254,370 71% 500,609,240 17 Wikipedia
2000 17,087,182 438% 413,425,190 24 Baidu
1999 3,177,453 32% 280,866,670 88 PayPal
1998 2,410,067 116% 188,023,930 78 Google
1997 1,117,255 334% 120,758,310 108 Yandex
1996 257,601 996% 77,433,860 301
1995 23,500 758% 44,838,900 1,908 Altavista, Amazon, AuctionWeb
1994 2,738 2006% 25,454,590 9,297 Yahoo
1993 130 1200% 14,161,570 108,935
1992 10 900%
Aug. 1991 1 World Wide Web Project


Web-Development – General Notes

Do not add css styles and javascript handler for the same class

Separate css styles and javascript logic for not making your code extremely tight coupled.
For example add these 2 classes for the element: “.navbar-search .navbar-search-action”.
And then add styles for the first one and bind javascript events for the second one.

Do not use ID selector

Bad thing about it that you cannot use same ID selector twice on page and you cannot use multiple ID selectors for the same element.

The only case you need to use ID for is the label-input connection. The other cases better to replace it with classes selectors.

Keep the same naming in BE, FE and DB

If the field in db was renamed from active to is_active, then rename this variable to is_active in FE and BE too. This will save you a lot of time while developing and maintaining the app.

Avoid too much of abstraction

It is much better to have show_state() and hide_state() than toggle_state(‘show’)

No code = No problems

Less code means less bugs, less time on maintenance, less time to found the issue, little bit less time on execution.

Windows Cleanup

Clean “Temp” folder

  • Click Start, type “%tmp%” and press Enter.
  • Delete all files and folders in “C:\Users\admin\AppData\Local\Temp”

Clean “Download” folder

  • Open “c:\Windows\SoftwareDistribution\Download\” folder
  • Delete all files and folders

Disk Cleanup

  • Open “My Computer”, mouse right click on disc “C”, “Properties”, “Disk Cleanup”, “Ok”
  • Open “My Computer”, mouse right click on disc “C”, “Properties”, “Disk Cleanup”, “Cleanup System Files”

Logs cleanup

Open ‘C:\Windows\Logs\CBS\’ folder. You can delete these log files if you are sure your system is running fine.
TrustedInstaller.exe (aka CBS aka Component Based Servicing) will create a new log file during its next run. You may keep only few last ones because it could be useful for troubleshooting issues.

Download and use CCleaner to clean up your Windows registry

Windows Performance

Change Virtual Memory Settings to speed up Windows

Virtual memory for your computer is hard drive space used by Windows when it fills up the physical RAM.
When your system runs low on RAM because an application like Firefox is taking too much memory, Windows moves the least used “pages” of memory out to a hidden file named pagefile.sys in the root of one of your drives to free up more RAM for the applications you are actually using. What this actually means to you is that if you’ve had an application minimized for a while, and you are heavily using other applications, Windows is going to move some of the memory from the minimized application to the pagefile since it’s not being accessed recently. This can often cause restoring that application to take a little longer, and your hard drive may grind for a bit.

If you want to take a look at your own pagefile settings, launch sysdm.cpl from the Start menu search or run box (Win+R) and navigate to Advanced –> Settings –> Advanced –> Change.

By default, Windows uses the boot partition (the partition that contains your operating system files) and it is recommended to set the size of the paging file to 1.5 times the amount of RAM that you have.

To change the virtual memory settings, go to “Start”, “Control Panel” and click on “System”. Click on the “Advanced tab” and under the “Performance” box, click “Settings”. In Windows 7, you’ll need to click on “Advanced System Settings” on the left side to bring up the “System Properties” dialog.

On the “Performance” dialog, click the “Advanced” tab and then click “Change” under the “Virtual Memory” heading.

Now you’ll see the Virtual Memory settings as shown below. In Windows 7 and higher, the “Automatically manage paging file size for all drives” box is checked by default.

To get the best performance it is best to create a paging file on a different partition than the boot partition (the drive that contains that operating system, which is usually the C drive) and to also create it on a separate hard drive. In this way, Windows can handle more I/O requests because the paging file will not have to compete with the system folder that needs to be constantly accessed as Windows runs.

Set the initial and maximum sizes for paging file to the same number to reduce fragmentation of the paging file.

Create paging file on the boot partition and set the initial and maximum sizes to 1.5 times the amount of RAM you have.


Windows services which are safe to disable?

  • Print Spooler – if you don’t use a printer or print-to-PDF
  • Remote Registry – it’s not usually running by default, but you can disable it for safety

Windows Tools

Uninstall Windows programs

  1. Click Start, type run and press Enter.
  2. Type appwiz.cpl and click OK.

Show Windows services

  1. Click Start, type run and press Enter.
  2. Type services.msc and click OK.

Show Windows startup and other configs

  1. Click Start, type run and press Enter.
  2. Type msconfig and click OK.

Windows calculator

  1. Click Start, type run and press Enter.
  2. Type calc and click OK.


  1. Click Start, type run and press Enter.
  2. Type %appdata% and click OK.

Find IP-address of the site

Open command line “Start = Run” and ‘cmd’ and then print – “nslookup” and press “enter”

Check disk

Type in the command line ‘chkdsk g: /f’ and press “enter”. This command will check the disk G and fix the problems (/f param).

Clear DNS cache

Type in the command line “ipconfig /flushdns” and press “enter”

Mobile Website vs Mobile App


  • Does not need to be installed. User just need a browser which is already installed on all laptops and mobile devices
  • Always has the latest version
  • Does not consume any space on device
  • Does not require a lot of resources to maintain

Android or iOS App

  • User should install it
  • User should update it
  • Consume some space on device
  • Require resources to maintain Android or iOS app


Do not add social widgets to your website

  • Social widgets create visual noise and distract user’s attention from content
  • Social widgets slow down the page load and consumes some user’s internet bandwidth
  • Social widgets is used by small amount of users and there is no need to show them for everyone; Users can share the page on social network by copying url-address and pasting it to the social network’s page
  • If you add a script element to the DOM before the window’s load event fires, that event will be delayed until the newly added script is downloaded, parsed, and run. Google search ranking algorithms take page load times into account, and those page load times are based on the load event. From “Stop Copying Social Code Snippets” by Philip Walton, Engineer at Google


PHP MVC Framework

CodeIgniter MVC PHP framework

One of the best PHP MVC framework is CodeIgniter. It is easy to configure, fast and extensible. You will be amazed how intuitive and powerful it is.

About CodeIgniter:

  • Free – Open Source
  • Easy to start – Minimal learning curve
  • Light-weight and fast MVC PHP framework – Small footprint
  • Great performance
  • Clear awesome documentation – You don’t need books with such documentation
  • Very extensible – No need to hack the core

Popularity of CodeIgniter:

Because CodeIgniter is faster, lighter and the least like a framework.
Rasmus Lerdorf (the creator of PHP) about CodeIgniter

I found CodeIgniter the lightest framework out there and it doesn’t impose too many restrictions.
Rasmus Lerdorf (the creator of PHP) about CodeIgniter