Wednesday, May 30, 2007
Sunday, May 27, 2007
Well, that is not true for Solaris anymore. Solaris 10 doesn't ship with a single static library.
ls -la |grep *.a
in /usr/lib where libraries are usually present returned no results. Tried in some more directories with same result.
I don't know when static libraries were dropped from Solaris. My guess is that it was Solaris 10, but any pointers to information would be welcome.
The quality of download was very good and it was fast. Try it out!
Friday, May 25, 2007
Wednesday, May 23, 2007
I've been using Clicky Web Analytics for my blog for about 6 months now and have been very satisfied. It's been a great tool to gather data on the visits to my blog. I'm using the basic free service from them which has many unique features that are not present in other services such as Google Analytics or Feedburner.
It has most of the features expected in an analytic tool and many more. I can see how many people have visited my site, at what time, from what IP address, from which country and city (can also see that on a google map), which browser and Operating System they used, which website they came from, which pages they visited, what actions were performed by them on the blog and how long they stayed on my blog. I can also see how many people have come through search and what search keywords were used.
The display for Clicky website is pretty neat. I can see the referral websites in a descending order in time for any given day. The history of all visits is saved for two weeks as I have a free membership. For paid members, the complete history to the website's use is saved, so one can see what was the pattern on a certain day many months ago.
The free utility service that I am using has a limit of max 3 on the number of websites I can submit for analysis. To get more, one has to get a paid account which is not expensive with a nominal charge per month. For a website with a lot of hits, a paid membership would be useful. The paid account, called premium account has other features like 'spy' which shows live data to the visits to your website in real time.
The website itself is very easy to navigate with good layout and provides most information on my site available with just a click. Another good thing I liked about Clicky was that the script to put into my blog was very simple and small. No other tweaks needed to my blog's source code.
The only downside of using such an analytics for blogs is that one would want to go see the data all the time. It gets almost addictive! Try it out if you haven't already or even if you've been using other analytics tools.
Saturday, May 19, 2007
In my last post I asked why it's advised that library options be the last in the command line in case of static linking.
The symbols on the command line are resolved from left to right.
Stating linking looks through the static library for "undefined" symbols when it is processed.
Now in case of
cc -lfoo hello.c
there are no undefined symbols when libfoo.a gets processed and so nothing gets extracted from it. When the object file is processed, it doesn't find any symbol and it gives an error "Undefined symbol"
If hello.c is put before -lfoo as in
cc hello.c -lfoo
there are undefined symbols when libfoo gets processed and so they get extracted. This works fine.
Dynamic linking doesn't have this issue as all symbols are available through the virtual address space of the output file.
Static libraries have other issues like bigger executable size, and lack of ABI ( application needs to be relinked with each new version of the library).
One advantage of having static libraries is that the executables linked to them are somewhat faster at runtime because all the linking occurs before loadtime. This helps in benchmarking. Math library libm is provided as a shared object (libm.so) as well as static library (archive libm.a) since benchmarking makes a heavy use of this library.
Friday, May 18, 2007
Hint: If we have a static library, say libfoo.a which we want to link to our program hello.c
cc hello.c -lfoo
-l option tells the compiler to link to library [lib]foo. Note that "lib" from libfoo is dropped and only "foo" part is given with -l.
Perhaps, my score was helped by a few dirty clothes in my room, and Solaris.
For now, I am in heaven!
Thursday, May 17, 2007
Tuesday, May 15, 2007
According to a news article, Microsoft has alleged that Linux and other Open Source software violate its patents. This includes 42 by Linux kernel alone and many by OpenOffice, totalling 235 patents in all.
Looks like an open source arm-twisting effort by MS directly related to their deal with Novell last year.
More at :