Spinning Beachball of death

I had thought I would be safe from BSOD (Blue Screen of Death) that Windows would subject me to a couple of times a year. Having switched over to the Mac as my primary home system, in the hope that I don’t need to worry about such irritations and unproductive waste of time, i was in a shock when, after a few months of usage, yesterday I was hit by SBOD (Spinning Beachball of Death). The boot up screen with an apple and a spinning wheel was constantly going on for hours, without giving a clue as to what was happening.

After a bit of reading and messing around with various tools, I got the system back up. However, it entailed the waste of a Sunday.

Some lingering questions remain:

1. Wonder why a Journaling file system like HFS+ should get a problem like I did.

2. When i went into Verbose mode of booting, it would go on booting till it came to an error “disk0s2: 1/0 error” and then keep repeating that error. I wonder – Why Apple can’t give a meaningful message when it apparently gets a file system error, instead of showing a spinning wheel forever?

3. When I went into single user mode (a unix prompt), I could see the file system mounted. I did the familiar ‘fsck’ to see if there is any file system errors, and it came back saying everything is normal. Typically when Linux has a boot up issues fsck would either fix it or indicate something being wrong. Apparently fsck can’t detect system related problems in Mac.

3. I had to use the Mac Install CDs to get to Macintosh Diskutility to check the File system. And it too indicated file system was ok. I asked it to check the Permissions and it came back with some 20 errors. Apparently my permission database was the one which was messed up. This would be somewhat similar to the Windows Registry mess up..

4. I asked my permission database to be repaired, and it went through a time consuming process and came back and told me it is done! I reboot and problem not solved. Go back to the disk utility, it still reports Permission database verification problems. Apparently the tool can’t fix it, but it still tells me it has done it. Why?

Since I had exhausted all options of fixing the error I wanted to rule out a Hardware problem, and went in to a Very time consuming advanced hardware tests routine. After 2.5hrs it came back saying everything is normal.

So, I decided to reinstall the OS, retaining existing data “Archive & Install”. And that fixed the problem somewhat. i.e. it consumed some 8GB of space (perhaps for retaining the older kernel somewhere) and putting in new kernel in place. Couldn’t figure why that needs to be done if permissions database is corrupt. I’d guess there can be a way to rebuild permissions database or recreate one from scratch. But, couldn’t find a way other than fresh install!

Bottom line: MacOS can be as time wasting at times as Windows.


Chrome OS and Chromosome

Techie world is mighty excited about google announcement of an OS of its own. People think it will give Microsoft a run for its money. A lot of analysts have described why chrome OS will suceed and a lot more have detailed how chrome OS will fail.

Most of the reasoning are based on the technological capabilities, user tastes, economic might and general trends. However, none of these take into account what is the most predominant factor in the success of any business – a company’s DNA!

I believe that a company acquires a culture and intellect of its own over a period of time, which is not unlike that of a plant or a living being acquiring some genetic traits through the generations. People may come and go within a company but the company retains some learnings even from people who leave, through passed on knowledge. It is not unlike a civilization, which evolves over generations – accumulating its own traits.

Now, applying that to Business, what we get are companies that have strengths and weaknesses that are cultivated over a period of time. These are very difficult to alter or change overnight.

How would we react if  GE announced it’ll make an operating system?  Did I hear someone say – Ridiculous?!

Well, why Google making an OS doesn’t sound equally absurd? Because it is a tech company trying to make a OS?

Well the difference between GE and google with respect to trying to make an OS isn’t as stark as it seems. While comparing GE and Microsoft may be like comparing a horse and a cat,  Google and Microsoft may appear to be cat and a cat?  I don’t think they are.

I feel Google and Microsoft are entirely different species of companies, with a different kind of upbringing and a totally different Eco-systems feeding them. Their food cycle is different. Their strengths and weaknesses are different too.

Lets look at Microsoft. It grew up in an ecosystem of interacting with OEMs (IBM being the first) providing the Operating Systems for its survival. Over the decades it has perfected the art of dealing with that eco-system. When Microsoft was born there was a vaccum in that space and over a period of time microsoft grew in to that space and marked its territory.

Google was born in an entirely different eco-system. It dealt with an end-user problem of finding information and later grew that business to other areas like finding mails, maps and videos. That’s what it thrives in.

Just as microsoft finds it very difficult to break into Googles eco-system, google too will find it very difficult to live in Microsoft ecosystem. The viruses will give them enough trouble and they’ll have to endure and develop immunity for that eco-system to thrive. That takes time and some companies simply give up.

So, what google is attempting to do is break into an OEM driven eco-system. OEMs are tough people to please. They have a different dynamics and like to offer differentiation in their offerings, instead of purely commoditizing the offering. So, some OEMs may even ship Google OS as a novelty.

But, to sustain in that space, Google will need to support the OEMs, customize its offerings to various platforms that OEMs will choose to bring to market. Work with OEMs teams to support post-release troubles. All these needs dedicated teams, that will need to earn their keep. Google will find that its an entirely different game and others playing that game for long time are better prepared to play it.

If  it can sustain a decade or more at it, it may be able to play that game, but it is likely that Google will dump what it did on community and it’ll become one more flavour of Linux out there, like Nokia’s Maemo.

This is not to say Microsoft won’t have a challenge to Windows. But, it may not come from any one OS. It may be a combination of them, which will do most things on their own way, but support the WEB , Flash &Video, which is what more and more customers will care about.

Riding the tiger…

Having seen the sad spectacle of a well respected company with over 50,000 employees and perhaps 300,000+ dependents being brought down by the madness of a man (Family?), the question that comes to mind is – how many others are currently finding it difficult to dismount a tiger?

It is amazing to think that most probably Raju family did not have to do any crooked thing to be rich & famous. The honest men like Narayana Murthy have done it, without owning as much stake in Infosys as Raju family had owned in Satyam. But, Raju’s chose to ride a tiger.

If they had chosen not to fudge the accounts, and showed decrease in profits (or even loss when it occured), The worst case scenario for them would’ve been that – they’d have lost management control of satyam. Some professional managers who probably would be better equipped to manage the company would’ve come in and made the company profitable. It had everything going for it – but, they chose to put their pride/greed ahead of welfare of many. Perhaps a million people will be effected by that greed now.

At some level there are following lessons to everyone:

1. Tigers like the one Raju’s chose to ride, don’t come announcing.You may not recognise it when it comes and you may not even realise you have mounted the tiger and when you realise it may be too late.

2. We all may be riding our own small little tigers, and finding it hard to get off them. It may have something to do with one-up-man ship like ‘my house is bigger than yours’ (Just as Raju’s wanted to show Satyam profits were bigger than other Indian IT companies?). At some point not getting off these little tigers may cause our downfall too?

3. Not realizing what our true legacy will be – A profitable and long lasting satyam would’ve been the best legacy Raju could’ve had. Not money. The shining example is NRN Murthy. He is sort of retired, but is most respected for the legacy he left behind. If Raju’s had created a company that employed even half of what it employs now, but left it to professional managers at the right time their legacy would’ve lived on. After al, There can’t be any better pleasure in life, than creating something that outlives your involvement and sustains thousands of families? How do you put a financial value to something like that??

4.  Human tendencies are same – which is why we need to have strong regulation. Whether it is Madoff, Enron or now Satyam – Greed and madness is a human trait, which needs to be tempered with vigilence and strong punishment. It’d be really sad if our laws can’t punish Raju’s, not only because they deserve strong punishment. But, not punishing them swiftly and demonstrably will create more Satyams.

I feel bad for all the loyal and hardworking employees at Satyam, who may now be finding themselfs up the creek without a paddle. To all of them, I wish good luck and an advice:

This too shall pass. Have faith in your abilities.

Increasing the Range of a Wireless Keyboard – Logitech S510

Begun the new year with some changes in my Home computing infrastructure.

I have had this remote keyboard and mouse from Logitech (Model S 510) for over a year now, and it was allright as long as I used it on my office desktop. But, I decided to change its usage, and started using it in my bedroom, where I have just wired up a new Intel Atom 945GCLF based system to the large LCD TV.The idea is to use this for video, music and Browsing/Youtube.

I want to sit a fair distance away from the TV (monitor) so, all of a sudden I needed longer range.

The keyboard and mouse worked fine from a distance of about 6ft, but beyond that they worked inconsistently. The computer won’t take note of mouse clicks and some keys from keyboards would go missing.

I tried positioning the logitech base unit in various angles and positions but there was not much of use.
Evidently, it needed a different approach. Quick look at the specifications told me it uses 27Mhz – that fell in to citizen band(CB) in HF spectrum. So, I opened the the base unit (had to break the sticker on the behind and I am sure I voided the waranty) and figured the place where the antenna point started and soldered a copper wire there and coiled the wire around a drinking straw.

It did increase the range! I could now operate from distances in excess of 20ft and it even worked through a 9inch concrete wall. Almost 4 times  the range!

But, i could not close the unit back because , and the wire on a straw hanging out was looking ugly. Needed a different solution, that is more elegant. I thought of using an Wi-Fi antenna, though it is meant for the 2-2.5Ghz range, it should still work at CB to a certain extent. But, it still needed a wire to come out of the unit, which meant drilling a hole in base unit or keeping it open!! Both of which were unacceptable.
My requirement was usage from within the room maximum of upto 12 ft. So, I thought up another old trick – Passive Loop. In old days when the radio won’t pick up all the stations, we would keep it close to an external looped wire to hear the radio pick up in strength. I thought since the frequency is somewhat in similar spectrum, it might work here as well.

So, I got a Thick speaker wire, wound it around the base station (about 10-12 loops). And used a cello-tape to bind it together tightly. No physical wiring to the circuit, this would be an external non-invasive solution.

Does it work?

Yes!   I am now using my mouse and Keyboard anywhere within the room, and it works perfectly!

Symbolic Links in Windows

One of the features that isn’t very popular in Windows, but very common in Linux/Unix is Symbolic Links. Windows traditionally didn’t provide a mechanism to have true symbolic link.

While working in DOS I always used SUBST and JOIN commands to create symbolic links that made logical sense to me. Using them under windows wasn’t the same. But, from Windows2000 onwards NTFS had a new symbolic link capability called NTFS Junctions. However it was complex to create them, and needed a bit of tweaking.

Found this gem of a tool called JUNCTION that can ease the creation of Junction Points. Thought this might help someone who is looking out for a way.


One of the things that amazes me about the Indian Technology job market is the unprofessional behavior of some of the best educated and smartest young workers.

Having hired many hundreds of people during my career and having managed them, I would think I have some insight to their psyche. But, every now and then I am proved wrong.
The ‘normal’ things that happen in India (something one has come to expect every now and then):
1. Accepting a job offer and not turning up on the date of join.

2. Not giving adequate notice to your current employer when you resign.

3. Submitting fake bills to claim reimbursements.

4. Dishonest representation of Career Achievements, Work experience and Salary while searching for jobs.

5. Fake certificates and credentials.

6. Breaking the contracts (non-compete, confidentiality & non-poaching agreements) with previous work spaces

But, you keep coming across newer situations, which are unprofessional, but ironically people think/argue are entirely ethical.
For example, Renegotiating an agreed upon salary at the last minute. The argument put forward “I don’t want to be unethical by not joining you, but I have an offer that’s better than yours, so you should give me same salary”.

Sorry, i don’t see how that’s ethical. In fact it isn’t even legal. Here is why – (Following are not my words, but from a Legal advice site)

As per the Indian contract Act, 1872, a “contract” is an agreement enforceable by law. The agreements not enforceable by law are not contracts. An “agreement” means ‘a promise or a set of promises’ forming consideration for each other. And a promise arises when a proposal is accepted. By implication, an agreement is an accepted proposal. In other words, an agreement consists of an ‘offer’ and its ‘acceptance’.

An “offer” is the starting point in the process of making an agreement. Every agreement begins with one party making an offer to sell something or to provide a service, etc. When one person who desires to create a legal obligation, communicates to another his willingness to do or not to do a thing, with a view to obtaining the consent of that other person towards such an act or abstinence, the person is said to be making a proposal or offer.

An agreement emerges from the acceptance of the offer. “Acceptance” is thus, the second stage of completing a contract. An acceptance is the act of manifestation by the offeree of his assent to the terms of the offer. It signifies the offeree’s willingness to be bound by the terms of the proposal communicated to him. To be valid an acceptance must correspond exactly with the terms of the offer, it must be unconditional and absolute and it must be communicated to the offerer.

So, once someone accepts an offer on particular terms, and signs it, he entered into a contract with the company – The terms and conditions of that contract needs to be adhered to. Trying to renegotiate it with the threat of breaking the contract, without compensating the other party adequately, can’t be ethical or legal.
The young workforce of India has come to believe that the companies are a playthings and they can play the field. Some of them keep multiple options open at any time, without being committed to their current organization or to a future one. While this may not have immediate impact, it will certainly have adverse impact on predictability of business for companies, and will result in lot of companies finding it impossible to do business with India. And the resulting loss will be of the same workforce.
I think as part of the curriculum in colleges, a subject on professionalism should be taught. The young workforce should be given an alternative way of conducting its affairs, instead of adopting the uncouth, unethical ways of most of our political leaders.

PC SMPS Fix for UPS Switchover

One of the side effects of this harsh summer is frequent and inexplicable power cuts. It is almost as if the power company is running a disco-lights algorithm with the entire city, where the power goes off in one area after another, circling the city in a matter of few minutes…

The biggest casualty in all this is one of the PC (Pentium-Dual core), which reboots with each power cut, as the UPS switchover takes place. I couldn’t figure this. I have a 2KVA UPS, powering the entire house (yes, it can actually run the Microwave or the Food-processor). My other PC doesn’t reboot. So evidently it had something to do with the power supply of this PC, which tripped up the system every time there is a UPS switchover. I knew changing the UPS with another UPS or even changing the relay in the UPS would solve my problem. But those were complex and expensive solutions to the problem.

So, Did a lot of searching on the web, and found very little useful information. However, this is what I found out. The culprit in this case is low ‘hold up time’, which means, in case the mains power is lost for a few cycles (milliseconds), then the power supply ceases.

The ideal ‘hold up time’ is 20ms or more. Apparently, this SMPS needed an increase in hold up time. My thinking was, there must be a way for me to plug in a capacitor some place to tide things over. So, i pulled out th SMPS out of the system, and opened it up (DON’T TRY THIS IF YOU DON’T KNOW WHAT YOU ARE DOING).

SMPS had two large capacitors of 330uf/200V. I did more search, and found these are called the ‘input capacitors’. Basically a high voltage capacitor which is a store house of some power, in case the power flow isn’t of good quality. I could immediately figure my problems will be over if i changed these capacitors to higher value.

However, I couldn’t figure what would be the right value. Did a lot of searching, but it would be very difficult to calculate the correct value for the capcitor, unless I can accurately calculate the power consumed by the system.

But, i decided to take a chance. I went to market and got two 1000uf/200V capacitors and changed the two in the SMPS circuit. It was a bit of a squeeze to fit them in as they are large in size. Plugged this PS back in to the system. The system was working fine.

Now, went and tripped up the power a few times intentionally to see if UPS switchover will cause the PC to reboot. It isn’t rebooting now!

The solution cost me just Rs.80 and my PC is rock steady now.

Maths & Programming

Following link has a very interesting Q&A with some of the very respected names in the programming world.

To one of the questions about the need for Mathematical background for a programmer, quite a few guys said it is essential.

I don’t believe Maths is essential for a good programmer. Good analytical skills, creative skills and learning ability is what wins. Maths may be important for a small portion of revolutionary algorithm/program developers.

Hurtling towards Doom?

I remember the days in 1980s, when the effort needed to create a simple computer virus (it used to be less than 512bytes) would easily have been a few days. We saw one new virus per year during late 80s. In early 90s, it had already gone up to a handful and by 1994 we already had few dozens coming every year. I remember 1993-94 when the first Computer virus kits started appearing in the underground. Even mutating/polymorphic viral kits, making it easy for any reasonably accomplished programmer to create new viruses. Even today there are tools available that make writing of worms easy, once a vulnerability is found out.

Now, while the above is a matter of concern, that is not what is bothering me!

In 2002, the first artificial lifeform was created. A synthetic virus, assembled purely from chemicals using just a published genome sequence (think of printed computer code). Check this url : First Synthetic Virus. The first synthetic virus created was a Polio virus, and its genome is available openly. You can see it here!

Almost four years now, and situation is changing rapidly. Bio-informatics has made it easier to map and mix genomes. Hardware/software is being built to automate the creation of these synthtic organisms, out of pure genome code. Considering genome is the ‘code of life’, portions of genome can be considered equivalent of software libraries. These libraries are becoming openly available and people can download it on the Internet. Reverse engineering of life-forms are becoming simpler and as new hardware/software makes it simpler to put together new custom synthetic lifeforms from mix-and-match genomes, my fear is making of new viruses will become so simple, that we will see people experimenting midlessly with it (Just as some youngsters played around with Viral code).

This may result in an equivalent of “script-kiddie”, in bio-tech, and the results may be unimaginably horrible. Think of having few hundred new biological viruses appearing every month!!!

I have had various arguments with friends about why computer viruses won’t go away, as long as we use von Neumann architecture. The whole underlying concept was presented by Von Neumann himself in 1940 – Theory of Self Reproducing Automata. We are fighting the computer viruses currently by a combination of mechanims, and there is some chance of new architectures replacing von-neumann architecture, thus taking care of possibility of the phenomenon of computer viruses once for all.

But, what about the architecture of Human-life-form?? It can’t be altered fundamentally and synthetically created viruses can find easy prey. And before any anti-viruses are created for such synthetic viruses, it will do sufficient damage.

I don’t know if all this happens in my lifetime, but i suspect it would happen in this century. And that’s the lifetime of my children!! Wonder what kind of a response would enable human kind to endure this imminent threat.