Interview with Jim Zemlin of Linux Foundation

cnet runs an inspiring interview with Jim Zemlin, the executive director of Linux Foundation.  Interview covers the current state of Linux,

Linux has contributed over $10 billion in R&D value to the world. It runs every major financial trading platform in the world. It the only way the mobile industry could respond to the iPhone. It has over a $50 billion economy just in enterprise computing alone. It runs 90 percent of the world’s fastest supercomputers. It powers Sony cameras, Samsung televisions, your DVR, your GPS system and most of the major Web sites in the world. How on earth does this spell “trouble” for open source?

as well as expectations for the year 2010.

Linux is accelerating a major industry transition that is already well underway–an industry in which we pay for software and hardware to one in which we pay for neither.

Linux on netbooks : distribution question

Linux on netbooks is becoming a hot subject recently.  There are more and more netbooks sold, and more and more of them are coming with Linux.  Or are being used to try Linux out.  Netbooks are small and often cheap devices which makes them affordable and even … expendable.  So a lot of people are getting them just to play around.  And those of them who want to try Linux out often end up asking the question: Which distribution should I chose?

This question has been asked many times before.  Everyone who tried using Linux asks this question sooner or later.  And the answer is – it’s pretty much doesn’t matter.  The truth is no matter which distribution you will chose, you’ll have a whole lot of questions.  Which applications to use, how to configure things, how to do specific things that you are used to doing in your current operating system, etc.  With all these questions you’ll go to Google, forums, and other people.  So, choose the distribution which you can find the answers for easier.  If someone is introducing you into the world of Linux, choose the same distribution that person is using.  That simple.

But aren’t netbooks different?, you might ask.  Yes and no.  Netbooks are in the class of their own because it’s very easy to classify them.  They are smaller than laptops, often cheaper than laptops, and often have weaker hardware (less powerful CPU and less RAM specifically).  But they are still as normal a computer as any other desktop or laptop.  And while there are quite a few Linux distributions for netbooks, you can still use practically any desktop-oriented or generic Linux distribution on the netbook.

How come?  Well, the differences between Linux distributions are in:

  • how the kernel is compiled
  • which software is packaged
  • default configuration options

All three of these items are quite easy to change.  You can compile your own kernel.  You can remove installed software and install additional software.  You can change configuration options.  Involving yourself in any of these activities is not something I’d recommend to a novice user, but the important bit is that it can be done.

Consider for example, a recent example in my blog post about Fedora 12 installation on my netbook.  It went like a charm and the only issue I came across with was that wireless wasn’t working.  Which could be fixed either by installing an additional package or re-compiling the kernel and enabling the device driver.

What I am trying to say is that trying different distributions is fun, but you shouldn’t be basing your choice of the distribution just on the fact that you are using a netbook.  Consider the purpose of the distribution, software that you will be using, and people that you will be consulting with before choosing the Linux distribution for your netbook.

Day in brief

  • Trying out Chromed Bird – Twitter extension for Chromium. #
  • I missed my bed hours once again … tomorrow will require extra coffee. #
  • I favorited a YouTube video — Straight No Chaser – The Christmas Can-Can (With A Special Greeting) http://bit.ly/5R9YOk #
  • I favorited a YouTube video — Sexually Confused Ninja http://www.youtube.com/watch?v…..re_twitter #
  • I favorited a YouTube video — Funny Bud Light Commercial – Why boys do ballet! http://bit.ly/5c96Re #
  • I favorited a YouTube video — What Earth Would Look Like With Rings Like Saturn http://bit.ly/iSxCh #

Web statistics and visitor tracking : things you need to know

First of all, just to make it clear, I don’t recommend writing your own web statistics / analytics / tracking application.  Google Analytics can track and report pretty much everything you will ever need. Period. If you think it can’t do it, chances are you just don’t know how.  That’s much easier to correct than to write your own tracking / reporting application.  I promise.  In case though, Google Analytics doesn’t do something that you need, grab one of those Open Source applications and modify it to suit.  While not as easy as learning Google Analytics, that would still be much easier than doing your own thing from scratch.

However, if you still decide to roll out your own tracker, here are a few things that you need to know.

  • Use the bicycle, don’t reinvent it. Most of the tracking applications that I’ve seen use some form of JavaScript, which is appended right before the end of the page markup.  Said JavaScript collects as much statistics as you need and generates a request to an image on the remote server (your tracking application), passing gathered statistics as parameters to the image.  On the server side, your tracking application gathers sent parameters, merges them with whatever else you can get from the server side, and saves in the database or in your data storage of choice.
  • Keep ad blocking applications in mind. Many ad blocking plugins for different browsers block 1×1 pixel images from remote servers.  Be a bit more creative – use a 2×1 or a 1×2 pixel image.  If it is a transparent GIF at the bottom of the page, nobody will notice it anyway.
  • Gather as much as you can from the server side. It’s simpler, and you minimize the chances of breaking things with an URL which is too long (your GET request for the image with all parameters can run pretty long, especially if you pass current page and referring page URLs).
  • Minimize the length of your parameter names and values when you pass them to image GET request. Again, this is to avoid extremely long URLs.  You can sacrifice readability in your JavaScript and instead document parameters in the server side tracker application.
  • Record both client’s IP address and possible proxy server’s IP address. That is available for you in the request headers ($_SERVER[‘HTTP_X_FORWARDED_FOR’] in PHP for example).  Once you got the IP addresses, use GeoIP to lookup the country, region, city, coordinates, etc.  It’s better to do so at the time you record the data.  There is a free GeoIP service as well, but it will give you much less information.  The commercial one is not that expensive.
  • Record client’s browser information. Browsercap is very useful for that.  However, it’s better to parse user agent string with browsercap at the report / export time, not at the request recording time.  This will guarantee that you always have the most correct information about the browser in your report.  Browsercap gets updated with new signatures pretty often.
  • If you are tracking a secure site (HTTPS), chances are you won’t have referrer information available to you.  Apparently, that’s a security feature.
  • If you use both JavaScript and PHP to figure out the referrer, keep in mind that JavaScript uses document.referrer, while PHP uses $_SERVER[‘HTTP_REFERER’].  Notice that one is spelled with two Rs, while the other – with one.  That might save you some troubleshooting time.
  • It’s better to use the same JavaScript code snippet across all your sites.  To avoid SSL-related security warnings, your JavaScript need to figure out if it’s in HTTPS web site or in plain HTTP one. See Google Analytics example on how to actually do that.   It doesn’t hurt to have a signed SSL certificate for the HTTPS hosting of your tracker application.
  • Don’t forget about HTML and URL escaping / encoding. Check that everything works properly for you in different browsers.  JavaScript is still hard to nail right sometimes.
  • Keep the version of tracker application in every request log entry. This will much simplify your migrations later.  One of the ways to keep this automated is to use tags / keyword substitutions in your version control software (here is how to do this in Subversion).
  • Make sure your tracker spits out that transparent image no matter what. Broken image icons are very visible and you don’t want those on your site just because your tracker database went down temporarily.
  • For the best cross-site tracking, start tracker session, which will remain the same when visitor will go from one of your tracked web sites to another.  If your tracked web sites use sessions, pass their IDs to tracker, so that both tracked and tracker session IDs could be logged in the same request. This will help you link stats from several sites together, as well as do all sorts of drill-downs into site-specific stats straight from the bird-view reports.
  • Don’t be evil! There is a lot that you can collect about your visitors.  Make sure that you tell them exactly what you are collecting and how you are using it.  Aggregate and anonymize your logs to prevent negative consequences.  I’m sure you know what I mean.

Once again, think really good before you decide to do one yourself.  It’s not an easy job.  And even if you grab all the data you want and save it in your database, there is an incomparably bigger issue to solve yet – reports, graphs, export, and overall visualization and analytics part of that data.  Why would you even want to go into that?

Spiral in the Norway sky

We’ve all seen pictures of the Northern Lights before, but we haven’t seen anything like this.

Spiral in the Norway sky

Quite a few people observed a spiral (and a spinning one at that) in the Norway sky.  I haven’t seen any good explanations of the phenomena yet, but it’s all over the Internet.  Some of the Norway newspapers are sharing amateur pictures from witnesses.

Via this LiveJournal post (in Russian).