ramesh was here

pallikara's programming + politics + philosophy potpourri

Sunday, August 19, 2007

 

Naasadiiya Sukta - Rig Veda 10.129

At first was neither Being nor Nonbeing.
There was not air nor yet sky beyond.
What was wrapping? Where? In whose protection?
Was Water there, unfathomable deep?

There was no death then, nor yet deathlessness;
of night or day there was not any sign.
The One breathed without breath by its own impulse
Other than that was nothing at all.

Darkness was there, all wrapped around by darkness,
and all was Water indiscriminate, Then
that which was hidden by Void, that One, emerging,
stirring, through power of Ardor, came to be.

In the beginning Love arose,
which was primal germ cell of mind.
The Seers, searching in their hearts with wisdom,
discovered the connection of Being in Nonbeing.

A crosswise line cut Being from Nonbeing.
What was described above it, what below?
Bearers of seed there were and mighty forces,
thrust from below and forward move above.

Who really knows? Who can presume to tell it?
Whence was it born? Whence issued this creation?
Even the Gods came after its emergence.
Then who can tell from whence it came to be?

That out of which creation has arisen,
whether it held it firm or it did not,
He who surveys it in the highest heaven,
He surely knows - or maybe He does not!

Tuesday, August 14, 2007

 

Where's My B Drive

Q: I have an A: drive and a C: drive. Why don't I have a B: drive? Did the programmers at Microsoft skip kindergarten?

A: Ah, don't fear, those MS programmers had a full education. The B: drive used to be (and still is I guess) reserved for a 5 1/4 inch floppy drive. You remember ‘em... They were the huge, bendy disks that didn't hold much and were made of a kind of cardboard plasticy material. Fortunately for us, they have gone the way of the 286, but their drive designation lives on – you know, just in case they make a comeback some day (maybe Elvis will bring them with him when he returns along with a handful of Beta video cassettes). If you really must have a B: drive, you can always add a second 3.5 floppy drive to the mix. Now, I have no idea why you would actually want to do such a thing, but you can if you want. Oh, and before you ask, no you normally can't assign a CD, Zip, or hard drive with a “B” designation - unless you have a very cool BIOS that let's you do that type of trick. ~ Steve
 

The Innovation Race

A good friend of 2point6billion, Nick Polimeni, is an experienced QC engineer and conducts work in both China and India. He’s had some interesting comments to make recently to us about Engineering standards in these countries, and the potential competition with the US in technological innovation. I quote:

I’ve been working in China for the last 4 years, and have met more ‘engineers’ than I had met in the previous 30 years. Chinese students who graduate as engineers are not what we call engineers in the west. Chinese Engineers “specialize” in a given application. They’re more like technicians, by U.S. standards. They do not seem to be trained in basic engineering science, and are very deficient in such things. I have yet to meet a single one who has any familiarity for example, with the laws of thermodynamics. I’ve worked with a wide variety of them in various fields. The few who know enough to think with science, have acquired it after years of experience.

Here’s an illustration for a different field. Dentists are not trained as complete medical doctors; they’re just trained as teeth repair technicians. They are quite good at what they have been trained; but they’ve no rounded knowledge of medicine.

So, even the reported statistics, do not tell you what engineers look like.

I once gave a class on database design to a group of Indian engineers. I have to tell you, they had formulas for everything I only had generalized logic from experience. In fact, if you gave them a stringent academic test, they would all pass with flying colors, where I would most likely fail. Yet, I could design databases, and they came to me to learn it.

Now I’ve had Indian engineers sitting next to me in working environments, and I have to say that overall, they’ve been a notch above some of the American counterparts.

What is in the future? In my opinion, the Chinese will take a very long time to catch up, because there are cultural, and educational system barriers which produce a way of thinking that prevents Chinese engineers, bright as they truly are on a personal level, from competing in development with the west.

Indians are top notch when it comes to raw technology, so they are likely to catch up faster if they are not there with US engineers already.

U.S. Engineers possess something, however, which I don’t think either Indian nor Chinese has, which I believe is “educated out of them,” and that is, a thirst for going outside the box, and breaking the mold, and moving beyond the conventional.

Before counting engineers, we need to define what one is.

That is an interesting observation, and touches again on a subject that came up a few months here - political systems affecting development strategies. With the Communist system, all if for the greater good of the society, and individualism is discouraged. Yet in a democratic system, the individual is given rights and can prosper. When we analysed this in Nobel Prize Winners between India and China, both nations ran up a total of six each. Yet tellingly, the Indian Nobel Prize winners had all been educated in India, while the Chinese had been educated overseas, primarily in the US, with one of them (for literature) having his works banned in the PRC. This negative aspect of communism also seems to have spilled over into engineering development issues, and as Nick points out - it is India that is closing the gap with the US in terms of the development of innovative technologies, with China far behind.

Thursday, August 02, 2007

 

Date-Oriented Programming

Traditional software development can safely be called Date-Oriented Programming, almost without exception.

Startup companies have a clock set by their investors and their budget. Big clients set target dates for their consultants. Sales people and product managers set target dates based on their evaluation of market conditions. Engineers set dates based on estimates of previous work that seems similar. All estimation is done through rose-colored glasses, and everyone forgets just how painful it was the last time around.

Everyone picks dates out of the air. "This feels like it should take about 3 weeks." "It sure would be nice to have this available for customers by beginning of Q4." "Let's try to have that done by tomorrow."

Most of us in our industry are date-driven. There's always a next milestone, always a deadline, always some date-driven goal to it.

The only exceptions I can think of to this rule are:

1) Open-source software projects.
2) Grad school projects.
3) Google.

Most people take it for granted that you want to pick a date. Even my favorite book on software project management, "The Mythical Man-Month", assumes that you need schedule estimates.

If you're in the habit of pre-announcing your software, then the general public usually wants a timeframe, which implies a date. This is, I think, one of the reasons Google tends not to pre-announce. They really do understand that you can't rush good cooking, you can't rush babies out, and you can't rush software development.

If the three exceptions I listed above aren't driven by dates, then what drives them? To some extent it's just the creative urge, the desire to produce things; all good engineers have it. (There are many people in our industry who do this gig "for a living", and they go home and don't think about it until the next day. Open source software exists precisely because there are people who are better than that.)

But let's be careful: it's not just the creative urge; that's not always directed enough, and it's not always incentive enough. Google is unquestionably driven by time, in the sense that they want things done "as fast as possible". They have many fierce, brilliant competitors, and they have to slake their thirsty investors' need for growth, and each of us has some long-term plans and deliverables we'd like to see come to fruition in our lifetimes.

The difference is that Google isn't foolish enough or presumptuous enough to claim to know how long stuff should take. So the only company-wide dates I'm ever aware of are the ends of each quarter, because everyone's scrambling to get on that big launch screen and get the applause and gifts and bonuses and team trips and all the other good that comes of launching things with big impact at Google.

Archives

March 2006   May 2006   July 2006   August 2006   September 2006   October 2006   November 2006   January 2007   February 2007   March 2007   April 2007   May 2007   July 2007   August 2007   September 2007   October 2007   November 2007   December 2007   February 2008   March 2008  

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]