Skip to content

Online discussions related to browser performance.


I was checking online discussions related to browser performance improvement and throttling. Found quite a few of them. Following is the list of the same.It’s a list of bug reports and articles discussing tips to improve page rendering performance.

Browser performance optimisation is all about removing limits ;).

DOM Timer interval related links.


DOM timers are the pistons of the web engine. Firing again and again to keep the engine purring on. These can be the source of some major optimisations. How is the topic to be discussed some other day. Here are two links related to DOM timers. They may seem abstract but have a ton of information in them.

[WebkitGtk+]Making webkitgtk build work behind a proxy.


I have been trying to build WebkitGtk in my company PC and was stuck with dependencies update and the subsequent build. I had to work behind a proxy which complicated things a bit. The general build is supposed to work on PC’s with open network. But once you get behind a proxy with just the http port only open, things usually taken for granted like git and ftp access go for a toss. Hence I was stuck a bit. With some help from the webkigtk-dev mailing list, following changes were suggested More…

Link dump : CSS 3d transforms explained.


Following are some detailed links regarding the CSS 3d transforms. The math and the syntax is all explained. So grab a coffee, notepad and pen and start reading.

Hello to codekata from Postie!!!


Hello codekata. Now you will get posts from me.

Note to self – Get a wifi router supported by DD-WRT.


After my wifi-router just stopped working one day, I had to get a new one. The one I got was Netgear WNR612v2 wifi router which was just enough for my basic needs. As I had assumed that any wifi-router will work fine, this one gave me real trouble. Connection drops every 5 mins just made me try all tricks in the book to make it just keep a connection for more than 10 mins. I did a firmware upgrade but did pay much attention to the fact that it has a really old firmware. After this one, to get rid of the connection drop pain I got a Belkin N150 F7D1301 wifi router.

Another cheap one in the market but costlier than the earlier Netgear one I had. But this one also totally disappointed me. It would also drop connections, not as frequently as the Netgear one, but just one every 45 mins. The drop frequency would be totally dependent on the number of connected devices. Add in 2-3 mobiles, 3 laptops and a tablet and a connection drop would happen every 15 mins. For this router as well the firmware upgrades had stopped in 2010 itself. The net is full of articles which complain about the connection drops of this Belkin N150 wifi router.
So now with two big flop shows of routers, I need to make this important self note that in the future invest only in routers which are DD-WRT supported. DD-WRT is the site run by BrainSlayer. It provides third party firmwares for routers running on Broadcom or Atheros chips. The firmwares are GPL’ed and uptodate with latest fixes. So hopefully in the future I will not be stuck in hardware with some old buggy software which keeps the devices from functioning.

The “quick-sort” adventure & some great links to learn it.


Recently I had to figure out the workings of quick sort,one the fastest and easiest sorts to implement. There is a heap load of tutorials about quick sort apart from the videos demonstrations and animations showing the inner workings of quick sort. Before I link to the resources which I found helpful in learning quick sort, here is my implementation of quick sort in C.

int partition_data(int* data, int low, int high)
	if(low > high)
		return -1;

	int down = low;
	int up = high;
	//just assume and take the first element as the pivot value and index
	int pivot = low ;
	int pivot_element = data[pivot];

	while(down < up){
		//keep moving down till the  you find an element whose value is greater than the pivot element.
		//this element should be on the right side of the pivot element
		while(data&#91;down&#93; <= pivot_element && down < high)

		//keep moving up till you find an element which is smaller than the pivot element.
		// this element should be on the left side of the pivot element.
		while(data&#91;up&#93; > pivot_element && up > low)

		//swap the elements
		if(down < up){
			swap(data&#91;down&#93;, data&#91;up&#93;);
        //swap the pivot and the up element data , placing the pivot in its correct position
	swap(data&#91;pivot&#93;, data&#91;up&#93;);
	//extra step just for the sake of clarity
	pivot = up;
	return pivot; 

void qik_sort(int *data, int low, int high)
	if(high > low){
		int pivot = partition_data(data, low, high);
		print_data(data, 10);
		//sort the low -> pivot array
		qik_sort(data, low, pivot - 1);
		//sort the pivot -> high array
		qik_sort(data, pivot + 1, high);

The version is a bit more documented than the ones you would generally find online. Also I assume my notes here will help me in recollecting quick sort in the future(This time it took me 3 days to figure it out).

Some helpful resources for learning quick sort are as follows:

  • – The example given makes it worth a read.

  • – One of the most easy to understand explanations of quick sort.

  • – Great analysis and great resource to getting more out of the simple quick sort.

  • – Mandatory links

  • – Mandatory links

My first open source paid app on Nokia Store : Brahma – Screen capture “reinvented”.


After coding on & off for around 8 months I have finally published my first paid app on Nokia Store, Brahma. Brahma is my vision of a screen shot application. I was bored of seeing the setting item list layout of most screen capture applications. So me with my wife designed & coded Brahma. Brahma makes the regular task of taking screenshot more interesting and provides a new twist with some new options. The user experience has been optimized for Symbian^3 touch screens devices.
The application is paid but at the same time it is also open-source. So any one who purchases Brahma, can request the source-code. As the application is licensed under GPLv2, the purchaser is free to modify the code.
Brahma can be purchased from here.

Also Brahma is being offered at a special early-adopter price(for first 30 days) of just Rs. 10, that’s just a price of a cup of tea. So download it and let me know your feedback at the Brahma Support Forums.

Building Webkit on Windows 7 with Visual Studio 2008 Express.


I have been successful with building and running the win port of webkit. The whole process took 2 days but it was worth the effort. Below are some tips and links that I helped me in getting through.
My config: Windows 7 + Windows 7 SDK + VS 2008 Express Edition.

Some tips :

  • Don’t fetch the webkit trunk : Webkit trunk has not only the source code but the layout tests as well. Layout tests are important if you are planning to make some changes to the code. But if you just want to explore the code, then they are not needed. The layout tests is a large number of files. It takes forever to download them. Just take the Source, Tools & Webkitlibraries folder and you can start building.
  • More…

Font for programmers.


Programming fonts trigger as passionate debate as sometimes politics or religion do. Every programmer has his/her favorite font,but mostly the monotype small fonts rule programmers heart.
The clarity of such fonts is very important. Here is some information about some programmer fonts that I have collected over the past few weeks.

Dina rules!!
My favorite, which seems to be favorite among quite some programmers, is the Dina font. The clarity is amazing and the width saving fits more code into the screen. Just google for Dina and you can find many posts about how Dina has made their programming life easy :). While making the programming life easy is more of a psychological thing, but one thing is clear that Dina makes code easy to read on the screen.
Here is a sample of Dina in action in Carbide.c++.

Dina in action.

Dina in action.


?php echo( date(