Humour, comics, tech, law, software, reviews, essays, articles and HOWTOs intermingled with random philosophy now and then
People and society by
Posted on Wed, Mar 21, 2007 at 12:08 IST (last updated: Wed, Jul 16, 2008 @ 20:44 IST)
Air Deccan is supposed to be India's first low-cost airlines. But surely their already sagging reputation will take a nose-dive with this latest episode
exposing the level to which they stoop to save a few bucks. It's absolutely disgusting even by Air Deccan standards.
for more information.
I have first-hand experience of the pettiness of Air Deccan once and I have absolutely no respect for this so-called "low-cost" airlines and no hesitation in accepting the authenticity of the CNN-IBN report. Their stinginess has to be experienced to be believed. Their insensitivity to passenger needs is an institution by itself and their penny-pinching ways are too well known to the public for their denials to sound credible and genuine.
What they should learn is that low cost does NOT
mean low quality. Low cost does not mean being behind schedule almost all the time. Low cost does not mean making passengers pay more for carrying even 0.001 kg of extra baggage. Low cost does not mean having a repulsive, customer-unfriendly attitude and poorly trained staff. And low cost certainly does not mean taking the public for a ride by bending the rules to suit their business.
I think there's a case for taking this airline to the cleaners in a Consumer court. Punishment should be severe and harsh for this errant airline.
It seems that the management at Air Deccan have no idea about this concept called "corporate branding". Their image will now sink even further below zero, if it hasn't already.
Geeky and Meeky comic by
Posted on Wed, Mar 21, 2007 at 09:54 IST (last updated: Thu, May 7, 2009 @ 21:25 IST)
My third Geeky and Meeky cartoon. It's entitled getting Gentoo
Tutorials and HOWTOs by
Posted on Tue, Mar 20, 2007 at 22:11 IST (last updated: Wed, Oct 29, 2008 @ 21:52 IST)
A lot of people new to Linux would have got the impression that every Linux user should learn how to recompile the Linux kernel to configure it to their needs. I've also noticed that a lot of Linux users tend to think that having the latest kernel is always a good thing.
Before you decide to get yourself a custom compiled kernel, you need to know why you need one in the first place. Here are some of the situations I can think of which might warrant a kernel reconfiguration and recompilation. Before you proceed with a kernel recompile, be absolutely sure of the process and then understand
what exactly you're looking for in a new kernel.
This article is mainly targetted at fairly experienced Linux users who know the basics of building a new kernel, but don't know exactly what situations warrant a kernel recompile and how to approach the problem of building a kernel configuration that is fairly reliable.
The whens and the whys
Here are some of the situations I can think of for compiling a custom configured kernel.
- Your computer has a specific piece of hardware that's not supported by the default kernel which ships with your distribution. And you are sure that the Linux kernel does provide a driver module for it.
- Your kernel needs to support a strange hardware setup where the default kernel just doesn't work.
- You have special performance requirements or you need a specific flag set on your kernel for a particular purpose.
- You want to do it purely as a learning exercise. In which case, you'd best conduct the experiment in a non-critical box.
The trickiest part about compiling a custom kernel is knowing
your hardware properly down to the chipset level. This is very critical because otherwise you'll be groping in the dark when choosing options in the
) stage. You will definitely have to do some research on the web to find out the exact chipsets used by your hardware. Just knowing the model number or brand name is not
enough. Lots of hardware models with different manufacturers tend to share the same chipsets.
What you should look out for
Even after this, there are some vital steps to building a working
kernel. In most cases I'd advice building a kernel from an already existing kernel configuration provided by your distribution rather than using a vanilla kernel configuration provided by a kernel downloaded direct from kernel.org
. That way you ensure that the customized kernel closely resembles the default kernel provided by your distribution along with the changes you need.
Before you begin, then, take stock of the following:
- A list of your hardware chipset models. This will greatly reduce guesswork on your part and you can avoid compiling unnecessary drivers.
- A list of your own requirements - for instance, video for Linux, MIDI support, OSS emulation for ALSA, support for special USB devices, support for large memory systems, support for RAID and so on.
- A list of must-have configuration settings. A typical example might be ACPI options. Or essential file system drivers. Or drivers for the hard disk controller chipset (which greatly improves DMA performance).
In case you decide to compile a fresh kernel from the vanilla setup, you need to make sure that:
- You have an existing kernel to fall back to, in case the new kernel you're building fails to boot properly. This is very important unless you don't mind the possibility of ending up with an unbootable machine.
- You go through each and every option in the "make xconfig" stage and double-check and triple-check it before running the compilation. I know this is a pain, but on more than one occasion I've been caught out by not checking every single option out there. It is time consuming and painful, but you also learn a lot this way.
- Most of the hardware drivers you've chosen are built as modules (M) rather than being compiled into the kernel itself. For some reason or the other I've found that modules are just better - autodetection of hardware is much more reliable this way.
- You keep a backup of the last working kernel configuration file after you find that you can successfully boot into Linux using the new kernel.
- Last but by no means least - make sure that the drivers for the filesystem you use on your Linux partition are compiled directly into your kernel (and not as modules) unless you rely on initrd. Otherwise your shiny new kernel will throw up a panic message and freeze the system while booting.
Working kernel - what next?
After you got a working custom kernel, you need to make sure that everything works as expected. Check for the following:
- Boot up time - if the booting time is significantly different from your older kernel, you should probably look closely at some of the startup messages.
- Unusual CPU usage - if you're experiencing a high CPU usage while "idling" the system, you might be missing some essential video drivers or hard disk drivers. You might be using some generic driver which utilizes the CPU more.
- The boot up process messages.
dmesg can give some clues here. You should look for anything unusual or any error messages thrown up by the new kernel while booting up.
- Loaded kernel modules. This will give you a clue whether your hardware has been detected properly and the required drivers have been loaded correctly as modules. This will also let you know whether you've enable module dependency checking in the kernel.
- Broken drivers from a previous kernel setup. This can happen with the proprietary ATi or nVidia video drivers. In most cases, simply reinstalling the proprietary driver will fix the issue.
Even if everything looks fine at first, you should still keep your older kernel around for a while just to ensure that the setup is 100% correct and that the system is stable under all conditions.
My personal experience is that newer minor kernel versions do not offer anything significantly better in terms of performance or hardware support. This is particularly the case if you have an older machine. In most cases, you're better off using the stock kernel provided with your distribution unless you're 100% sure there's a new feature you absolutely need. Most
desktop users will not need a new or custom compiled kernel.
However, over a period of time, once you're fairly familiar with your machine's setup and you really want to squeeze the maximum performance and hardware support from your Linux box, you can think about building a custom compiled version. In that case you'll have the advantage of knowing exactly what configuration you need - based on experience. For instance, on my own desktop machine, I'm very confident of the hardware setup because it was a hand-assembled machine. On the other hand, I'm still not 100% sure of the hardware chipsets on my laptop and therefore am less confident about building a custom kernel that meets its requirements.
Kernel configuration is easy to learn, but difficult to master. The limiting factor will be the lack of knowledge of hardware and system specifications rather than the process itself. So if something does work the first time, keep it
With most Linux distributions providing a solid, working and reliable kernel setup 90% of the time, custom kernel compiling should be best left for the time when it's absolutely required.
Geeky and Meeky comic by
Posted on Thu, Mar 15, 2007 at 20:32 IST (last updated: Thu, May 7, 2009 @ 21:25 IST)
Here's my second Geeky and Meeky cartoon. It's titled partitioning for FreeBSD
Geeky and Meeky comic by
Posted on Tue, Mar 13, 2007 at 10:04 IST (last updated: Thu, May 7, 2009 @ 21:25 IST)
I'm writing a new cartoon series called "Geeky and Meeky" - mostly dealing with Linux stuff. Hope you enjoy this. I'm looking forward to your feedback. Here's the first issue titled saint or slacker?
People and society by
Posted on Sun, Mar 11, 2007 at 20:30 IST (last updated: Wed, Jul 16, 2008 @ 21:37 IST)
We were recently shopping around for a digital camera for my brother. We went to a lot of shops, did a lot of research and finally ended up buying a Sony Cybershot DSC W35 from an authorized Sony dealer - Sony World. There was another shop we went to earlier. In that place, the salespeople sounded dubious, wouldn't share any product information (even prices!) and wanted to know what we wanted before committing themselves to a price. These people didn't even offer us genuine company guarantee and instead wanted us to accept their "shop" guarantee, which I suspect is not even worth the paper it's written on. We simply left the shop after that. He had even tried to get us to fill up an order form before that! His over-anxiety to sell coupled with his reluctance to share product information was a definite turn-off and left a bad taste. This might have been an extreme case but the fact was, even authorized
camera dealers elsewhere were either reluctant to share product information or ignorant about the finer details we wanted to know on model differences. In contrast, the people at Sony World seemed to know exactly how to treat customers. They weren't keen on selling, but rather were forthcoming with all the details about the product. They even allowed us to handle the demo pieces and take snaps to help us make the decision. They clearly told us what the differences were between two very similar looking models and told us that it was better to buy the lower
priced one because it also came with a free 512 MB memory card while the other did not and the only other difference was the size of the LCD panel at the back.. Sony might be slightly more expensive and may not give any discounts - but the fact is, they made a sale because the people at Sony World knew their job. And that professional attitude definitely shifted us in their favour. Even this decision wouldn't have been easy except that we were left with no other choice as other camera dealers simply couldn't tell us enough to decide.
The point is, why did we have to go through so much hassle to buy a digital camera? Granting that half the problem was the immense array of choices available in this particular market, we were genuinely surprised at this lack of transparency from sources we should be able to trust. Without the internet, we couldn't have got half the information we did and even there, most of it was collected from independent reviewers and not from the product manufacturers themselves. Now how many people can afford to turn to the internet in such cases and even if they could, how many would actually be patient and meticulous enough to sift through so many reviews for valid, pertinent information before arriving at a conclusion? Why wasn't even half this information available from even authorized dealers? I'm not talking about mere subjective opinions, but the technical details; for instance - "does this camera have an optical viewfinder?", "how many manual controls does this camera have?" and "how clear is the picture at maximum resolution?", "what is the average battery life?" and so on. If some dealers cannot answer the simple price question, how can they expect customers to trust them on the more intricate details? I can only conclude that:
- The majority of their customers are really very poorly informed and,
- The majority of their customers trust them completely to take the decision for them.
That's disturbing because it implies that there really are people who spend money without really thinking about what they're getting for it. And people who buy digital cameras aren't exactly illiterate either.
This might be an isolated incident, but it made me think about the broader issue - why are marketers generally so reluctant to share product information which might help customers make more informed purchase decisions? How can they expect people to shell out hard cash for products with sketchy and often inaccurate information? A lot of shopkeepers tend to carry the attitude that customers don't know anything and so will accept their advice and recommendations. Increasingly that's becoming a myth and marketers can no longer expect to continue selling products - especially technology products - without educating both the customer and their own sales force. Time and again, I've experienced extreme frustration when shopping because retail salespeople are either too stupid, too ignorant or too disinterested to help out effectively. And this attitude seems to flow from the top. It's astonishing that they're effectively turning people away by exhibiting such attitudes.
I think there's a strong case for the marketer to be aware that impulsive or uninformed buying is not exactly a healthy trend from a seller's perspective as well. Because rash purchase decisions will more often than not lead to regret and create a base of dissatisfied customers. Take the example of holiday packages. It's not easy selling holiday packages in a country like India because most middle-class people (at whom these packages are targetted) simply cannot afford them and generally the holiday culture just hasn't caught on in this segment. Even people who have a bit of money to spare will generally invest in traditional and safer ways where there is an assured return on investment. Yet, in many cases, these holiday packages get sold because people are temporarily under the influence of glossy full-colour brochures and the picturesque description of exotic foreign resorts and take a decision to buy based on that immediate attraction. Without having a sound idea of where and when to take a holiday and considering the feasibility of taking on a long-term monetary commitment, many people invest in such schemes only to be disappointed later when they find that their work schedule and circumstances simply don't permit them to enjoy the product. The end result is that they will tend to discourage their friends and relatives from investing in such schemes based on their own experience.
I'm not saying that marketers should not be creative while selling their products. The issue is, when it comes to any non-trivial purchase, customers need to be better informed and it's up to the marketers to make that effort in their own interests as well as the interests of the customer. Very often it's the product which sells itself to people who have a genuine need and just simple, direct and accurate communication will do the job. Marketers over-complicate their own jobs by seeking out customers where there are none and by failing to understand their real requirements. Their energies should be focussed on build a strong and technically competent sales force that will build a network of trust and reliability. Credibility is such an important factor - even for the big brands. Customers always feel safer when a company sales executive can talk about the product in dispassionately technical terms. At the very least authorized dealers should have to learn their stuff before being allowed to sell the stuff. Otherwise they're letting down customers and letting down their principal as well.
How much brand equity can you build when you sell products in such a haphazard manner? And how much customer loyalty can they really expect in the long run from people who don't know what your product is really about? It's so easy to turn off genuine customers by being excessively eager to sell without showing complete transparency.
The idea should be to create satisfaction
and not merely make a sale.