Archive for Şubat, 2010 Downtime Summary

<![CDATA[Today was down for approximately 110 minutes, our worst downtime in four years. The outage affected 10.2 million blogs, including our VIPs, and appears to have deprived those blogs of about 5.5 million pageviews.

What Happened: We are still gathering details, but it appears an unscheduled change to a core router by one of our datacenter providers messed up our network in a way we haven’t experienced before, and broke the site. It also broke all the mechanisms for failover between our locations in San Antonio and Chicago. All of your data was safe and secure, we just couldn’t serve it.

What we’re doing: We need to dig deeper and find out exactly what happened, why, and how to recover more gracefully next time and isolate problems like this so they don’t affect our other locations.

I will update this post as we find out more, and have a more concrete plan for the future.

I know this sucked for you guys as much as it did for us — the entire team was on pins and needles trying to get your blogs back as soon as possible. I hope it will be much longer than four years before we face a problem like this again.

Update 1: We’ve gathered more details about what happened. There was a latent misconfiguration, specifically a cable plugged someplace it shouldn’t have been, from a few months ago. Something called the spanning tree protocol kicked in and started trying to route all of our private network traffic to a public network over a link that was much too small and slow to handle even 10% of our traffic which caused high packet loss. This “sort of working” state was much worse than if it had just gone down and confused our systems team and our failsafe systems. It is not clear yet why the misconfiguration bit us yesterday and not earlier. Even though the network issue was unfortunate, we responded too slowly in pinpointing the issue and taking steps to resolve it using alternate routes, extending the downtime 3-4x longer than it should have been.

Source : WordPress Weblog]]>


24,02,2010 at 14:42 Yorum bırakın

Thecssawards Honorable Mention

<![CDATA[My web site is also published on as a honorable mention. I hope I will get the site of the day title.]]>

22,02,2010 at 23:29 Yorum bırakın

Site of the day @cssmania :


My portfolio site is published on leading css gallery web site . Time to take a break and watch some movie now.]]>

22,02,2010 at 17:22 2 yorum

Get your latest tweet and WP Posts


A very simple script to add your latest tweet to your website, blog…

If you want to get more then 1 tweet, you should change the count value.

$(document).ready(function() {
/*Begin JSON */

	/* Begin get last tweet */
			var html = "<b><a href='"+data[0].id+"'>"+relative_time(data[0].created_at)+"</a></b> "+ linkify(data[0].text);
			$("#twitterPost article").html(html);
	/* End get last tweet */

	/* Begin get posts from blog */
			var html = "";
				var title = data[i].title;
				if(title.length>35) title = title.substr(0,35)+ "...";
				html +='<dd><a href="/blog/?p='+data[i].id+'">'+title+'</a> / '+data[i].date+'</dd>';
			$("#blogPosts article").html('<dl>'+html+'</dl>');
	/* End get posts from blog */

/*End JSON */


/* Begin Convert Str to Url */
function linkify(txt){
	var regexp = /((ftp|http|https)://(w+:{0,1}w*@)?(S+)(:[0-9]+)?(/|/([w#!:.?+=&%@!-/]))?)/gi;
	return txt.replace(regexp,'<a href="$1">$1</a>');
/* End Convert Str to Url */


21,02,2010 at 2:02 Yorum bırakın

Sublime: HTML5 Video Player

<![CDATA[SublimeVideo is a great looking HTML 5 video player that allows video embedding without the need of browser plugins (of course your visitors will need a modern browser). The player is just a “pre-release demo” for now, but most of its features are already working. You can check the demo and read more in the developer’s blog]]>

20,02,2010 at 22:30 Yorum bırakın

Jquery 1.4.2 Released


jQuery 1.4.2 is now out! This is the second minor release on top of jQuery 1.4, fixing some outstanding bugs from the 1.4 release and landing some nice improvements.

I would like to thank the following people that provided patches for this release: Ben Alman, Justin Meyer, Neeraj Singh, and Noah Sloan.


As usual, we provide two copies of jQuery, one minified (we now use the Google Closure Compiler as the default minifier) and one uncompressed (for debugging or reading).

You can feel free to include the above URLs directly into your site and you will get the full performance benefits of a quickly-loading jQuery.

Additionally you can also load the URLs directly from either Google or Microsoft’s CDNs:

New Features

A full list of the API changes can be found in the 1.4.2 category on the jQuery API site.

In this release we’ve added two new methods: .delegate() and .undelegate(). These methods serve as complements to the existing .live() and .die() methods in jQuery. They simplify the process of watching for specific events from a certain root within the document.

For example:

$("table").delegate("td", "hover", function(){

This is equivalent to the following code written using .live():

	$("td", this).live("hover", function(){

Additionally, .live() is roughly equivalent to the following .delegate() code.

$(document).delegate("td", "hover", function(){

What’s Changed?

There has been some large code rewrites within this release, both for performance and for fixing long-standing issues.

Performance Improvements

As is the case with virtually every release of jQuery: We’ve worked hard to continue to improve the performance of the code base, making sure that you’re provided with the best performing JavaScript code possible.

According to the numbers presented by the Taskspeed benchmark we’ve improved the performance of jQuery about 2x compared to jQuery 1.4.1 and about 3x compared to jQuery 1.3.2.

jQuery Taskspeed Results (Feb 14, 2010)

Specifically we’ve improved the performance of 4 areas within jQuery:

While comprehensive benchmarks like Taskspeed can be interesting if deconstructed into individual sub-tests for further study, as a project we tend to stay away from using them as an accurate measure of true, overall, library performance. Considering how many aspects make up a library, not to mention the different techniques that they offer, cumulative results rarely reflect how an actual user may use a library.

For example, we saw significant overall performance speed-ups in Taskspeed simply by optimizing the $("body") selector because it’s called hundreds of times within the tests. Additionally we saw large gains by optimizing .bind() and .unbind() by a fraction of a millisecond – an inconsequential amount – especially considering that any cases where you would bind hundreds of events you would likely want to use .live() or .delegate() instead.

We’ve collected some results from the other major libraries as well but are less interested in those results and far more interested in the performance improvements that we’ve made relative to older versions of jQuery itself.

We will continue to work on optimizing the jQuery code base – indefinitely. It’s always a major concern for us to try and provide the fastest JavaScript/DOM-development experience possible. And yes, there will likely always be ways to gain additional performance – either through internal optimizations or by pushing critical functionality off into browser-land for standardization.

Event Rewrite

The largest internal changes have come through a much-needed structural rewrite of the events module. Many quirky issues related to event binding have been resolved with these fixes.

Namely event handlers are no longer stored as object properties in jQuery’s internal object store (with metadata attached to the handlers). Instead they’re now stored within an internal array of objects.

If you’ve ever had the opportunity to play around with .data("events") on a jQuery element you would find that it returns an object with all the event types currently bound, within it.

To enumerate some of the changes that have occurred during this rewrite:

  • It’s now possible to bind identical handlers with different data, namespaces, and event types universally.
  • Execution of event handlers will continue after one handler removes itself (or its sibling handlers).
  • We no longer attach data/namespace information directly to the event handlers (only a unique tracking ID).
  • We no longer use proxy functions, internally, to try and encapsulate handlers.
  • Execution order of events is now guaranteed in all browsers. Google Chrome had a long-standing error in their object-looping logic that has been routed around.

As a side-effect of these changes we had to change the newly-exposed special add/special remove APIs in order to accommodate the new event data objects. Ben Alman is in the process of writing up a large tutorial on jQuery’s special event system and we will be making additional announcements when that occurs.

Bug Fixes

There were a total of 40 tickets closed in this minor release. Some relating to differences between jQuery 1.3.2 and jQuery 1.4.x, some fixing long-standing issues (like in the case of the event module rewrite).


20,02,2010 at 15:51 Yorum bırakın

The End of Internet Explorer 6

<![CDATA[Internet Explorer 6 has pained many web designers and developers in recent years, it was originally launched back in August 2001 and it's shelf life should have long expired. You'd think a browser released shortly before Windows XP would have died long before now. I admit, when it was released it was efficient, fast, a million times better than 5.5 and had partial support for CSS level 1, DOM level 1 and SMIL 2.0.

I'm a strong advocate of Microsoft but it's their laziness in knowing they had market dominance with Internet Explorer they didn't work towards any kind of compliance in the intervening years. That all changed when Firefox came along and began nibbling away at the browser usage pie, that Microsoft got it's team back off holiday and released Internet Explorer 7.

Internet Explorer 7 was a small step in the right direction. It was disregarded by many corporations, designers and surfers and all it did was slightly reduce Internet Explorer 6 usage, but certainly was no true competitor to Firefox and the other standards focused browsers in terms of capabilities.

That aside, Microsoft has now released Internet Explorer 8, and even though it still falls short of most other browsers especially with CSS Level 3 support, it at least has support for CSS Level 2.1.

Internet Explorer 6 has long had a reputation of being a security risk. This is mostly due to the extremely long release cycles and the lack of security patches. This has only multiplied over time as the updates get fewer and the number of security exploits increases. There have been numerous articles about these issues, and to this day several issues, including critical ones are left un-patched. This alone should be reason enough to upgrade your browser.

Internet Explorer 8 is slowly but surely increasing its market share and Internet Explorer 6 is on a slow but steady decline in usage. According to w3schools, from the high in November 2003 of 71.2%, Internet Explorer 6 usage had dropped to 32% in January of 2008, and 18.5% in January 2009. By January 2010, this percentage should be around 6-8%. With the introduction of Windows 7, this percentage could be even lower. This usage will never truly dwindle to an inconsequential percentage until all the large sites on the internet stop supporting it.

People are generally averse to change, and if things seem to be working, there is no incentive to change or upgrade. An eight year old software product is positively ancient in technology terms, and the upgrade path to Internet Explorer 8 and Firefox is easy and free. The hold outs are almost entirely corporations who have legacy applications that require Internet Explorer 6's broken rendering engine or the corporation's IT department are too lazy to deal with the headache of colleagues compaining that things have changed or they've lost their 'favourites', but now is the time for those businesses to upgrade their core applications and their workforces mindset or these corporations will suffer drastically.

With a view to this, I no longer, from today, support Internet Explorer 6 in the work I do, I'm too busy focusing on the future and the next generation of websites.

If you're using Internet Explorer 6, CLICK HERE

( Source : )]]>

20,02,2010 at 11:30 Yorum bırakın

Eski Yazılar


Şubat 2010
« Mar   Mar »

Posts by Month

Posts by Category