Boozo does the same !
(Source: sexyyuglyy)


Boozo does the same !
(Source: sexyyuglyy)
Apple initiates pre-order for iphone. It started around 1 AM. Initially the store.apple.com was pointing to “We are updating the apple store for you”. Eventually around 1:30 AM the order processing pipeline was enabled.
The traffic on apple store was too high and which was quite visible from the website performing quite flaky. The page with the highest page hits i think in that hour would be
One:

Second:
Similar to the one but with the message. We are unable to take your iphone order due to high traffic on the website.
I am not sure why people are not following the alternatives of placing an order on the carrier store websites. The three major carriers have the option of purchasing the phone online and at such an ease. I was able to place the order in split seconds.
(Source: apple-iphone-4s-unable-to-take-orders)
I have always worked on the backend systems at different jobs that i took. Being in the cool back end engineering group of friends we always use to make mockery of the front-end engineers and the stuff they do. Well i do not think that is true.
If you really think about any internet based business, customer do not spend any time looking at how the back end performs. The customer actually spends most of his time interacting with the web browser, with the way user interface to the website looks. I am not saying that back end systems are not important, i am just saying that back end systems are as important as are the front end systems.
The websites that run in Inida right now are mostly concentrated on the back end optimization’s and no one really worries too much about the front end. I think if someone wants to optimize the performance of the website they have to spend a lot of time on improving the front end of the website.
So lets start with the basics. How does actually a web browser works?
Once the user hits a URL. The request goes to the server and the server responds with an HTML document. Once the document reached the browser the browser starts rendering the document. A web page is composed of a number of resources. Once a web page starts rendering it starts making multiple requests to load different resources like images, javascript, stylesheets. I am sure every one knows about this.
If u try understanding it. The user actually spends very little time on interacting with the website and most of the time is spent in waiting for the HTML to be generated.
The browsers and server talk using HTTP. If you look at the HTTP Request and response header you will find so many interesting things.
Compression:
Once u make a request to the server the sever responds back. There is a property in the header which allows browsers to talk about what compression mechanisms they support. The header is Accept-Encoding header. Once the browser sets the value in the accept encoding header the server can send back the response in a compressed format supported by browser.
Cache
Browsers cache what ever stuff we visit by default. It is a default property of the browser. Once u try loading a page a conditional get request is made to check if i need anything new or what ever i have is good. If the cached copy is still valid browser uses the cached copy. The interesting question is how does the browser validates if the cached copy is still valid. There is a Last-Modofied header in the request that checks what is the last time this resource was modified. If it is different then what the browser has browser gets the data from the server else it does not.
Check for Expiration
I am sure every one is thinking. instead of having the Last-Modified value why not have something that can tell the browser that this is valid till date ‘x’ and once that date passes you need to hit the server and get the new resource. Well the guys who implemented the browser were smart enough and there is a property in browser that deals with this Expired header. This prevents the extra round trip that was used in the previous explanation to find out if there is any modification to the resource.
Number of HTTP Sockets that are opened
Most of the times all the images, style sheets and various things on the web page are loaded from the same server. So u do not need to close the connection that u make with the Server. For this there is a property in the request which u can set that tells us for how long we want to keep the connection open.
There is a lot more to performance optimization. Will share my experiences as i work more on it.
Parliament is going to discuss the lokpal bill today. All the different versions of the lokpal bill will be discussed and i hope that the anti-corruption institution is formed in India and they get into action.
Once this happens would love to see people working with honesty and completing the investigations of each corruption case and putting the criminals of india in jail.
Ameen !
Windows communicator hung my mac today. I hate windows products more and more.