Archive for April, 2008

On the general skill called “management”

April 30, 2008

Daniel at Crooked Timber responds to Blackburn’s remarks on the myth of management:

In his very definition, Blackburn pretty much gives it away; he says that “[the myth of management] claims that people can be managed like warehouses and airports”. What does this even mean? How do you manage a warehouse or an airport if it’s impossible to manage people? If he had said “like machines” or even “like factories”, then it might have been comprehensible, but a warehouse which doesn’t have any people working in it is just a shed full of stuff and doesn’t require any management because no deliveries or shipments are being made. And an airport without people is just a warehouse for planes. Warehousing and transport are two very labour-intensive industries.

There are two possibilities here. One is merely that Blackburn is a snob – that writing as a professor of philosophy in the THES, he felt entitled to assume his audience would know that “people” meant “middle class people”, and would agree with the implicit assertion that “people” of this sort were capable of independent thought and could not be tied down, man, unlike the meat robots who packed their books for Amazon or swiped their tickets at Heathrow. But to assume this would be wildly uncharitable. The other, and I think more likely, explanation, is that Blackburn has no idea whatsoever about what managing a warehouse or an airport would entail, and no real interest in finding out.

He goes on to describe the two components of the basic skill of management:

The general skill of management has two basic components – administration and leadership.

The first is the ability to keep track of and prioritise detail. Some people are naturally better at this than others, but natural ability doesn’t actually make much of a difference in terms of one’s possession of the skill of management. The reason for this is that more or less any management task bigger than a single in-tray (and there are plenty of us, including me, who are flat out keeping control of one of those) is going to exhaust a normal human being’s memory and attention span. In order to cope with this, people through the ages have come up with a number of technologies to extend the human ability to administrate, such as alphabetical filing systems, double-entry accounts, activity reports and so on; the majority of the structures in Fred Brooks’ book fall into this category too. The majority of the skill of organisation is having the mastery of these tools and the self-discipline to use them consistently. The first is what they teach you in business schools; the second sounds more like an innate ability, but I would guess that it too can be taught.

The second is basically a species of emotional intelligence; some people are better applied psychologists than others. I must say I didn’t get much out of the “leadership” course I went on, but I wouldn’t necessarily say that there is nothing about motivating and managing people that can be taught; at the very least there’s an obvious body of applied economics which could be brought to bear to make sure that you don’t create incentives which are fundamentally inimical to yourself. So in summary, I think that there is a pretty identifiable set of skills, which can be grouped together into a category at least as coherent as most of the other things that we regard as subjects and which can be defensibly identified as the general skill of management ability.

Take a look!

Why Google and Microsoft are like cancer

April 30, 2008

Joel is angry with the architecture astronauts at Microsoft and (Yes) Google (the cancer reference is at the last but fourth or fifth sentence):

I started picking on one company that appeared to be particularly astronautish: Groove, which was trying to rebuild Lotus Notes (a giant synchronization machine) in a peer-to-peer fashion.

Groove had some early success selling secure networks to the military-industrial complex, but didn’t make much of a ripple outside that niche. Their real success was in getting bought by Microsoft, which brought Groove’s designer and chief architecture-astronaut Ray Ozzie to the role of “Chief Software Architect” at Microsoft, supposedly the technical guy that would keep inventing the future after BillG left so that Steve Ballmer would have some new territory on which to build his next illegal monopoly.

And now Ray Ozzie’s big achievement arrives and what is it? (drumroll…) Microsoft Live Mesh. The future of everything. Microsoft is “moving into the cloud.”

What’s Microsoft Live Mesh?

Hmm, let’s see.

“Imagine all your devices—PCs, and soon Macs and mobile phones—working together to give you anywhere access to the information you care about.”

Wait a minute. Something smells fishy here. Isn’t that exactly what Hailstorm was supposed to be? I smell an architecture astronaut.

And what is this Windows Live Mesh?

It’s a way to synchronize files.

Jeez, we’ve had that forever. When did the first sync web sites start coming out? 1999? There were a million versions. xdrive, mydrive, idrive, youdrive, wealldrive for ice cream. Nobody cared then and nobody cares now, because synchronizing files is just not a killer application. I’m sorry. It seems like it should be. But it’s not.

But Windows Live Mesh is not just a way to synchronize files. That’s just the sample app. It’s a whole goddamned architecture, with an API and developer tools and in insane diagram showing all the nifty layers of acronyms, and it seems like the chief astronauts at Microsoft literally expect this to be their gigantic platform in the sky which will take over when Windows becomes irrelevant on the desktop. And synchronizing files is supposed to be, like, the equivalent of Microsoft Write on Windows 1.0.

It’s Groove, rewritten from scratch, one more time. Ray Ozzie just can’t stop rewriting this damn app, again and again and again, and taking 5-7 years each time.

And the fact that customers never asked for this feature and none of the earlier versions really took off as huge platforms doesn’t stop him.

How on earth does Microsoft continue to pour massive resources into building the same frigging synchronization platforms again and again? Damn, they just finished building something called Windows Live FolderShare and I haven’t exactly noticed a stampede to that. I’ll bet you’ve never even heard of it. The 3,398th web site that lets you upload and download files to a place on the Internet. I’m so excited I might just die.

I shouldn’t really care. What Microsoft’s shareholders want to waste their money building, instead of earning nice dividends from two or three fabulous monopolies, is no business of mine. I’m not a shareholder. It sort of bothers me, intellectually, that there are these people running around acting like they’re building the next great thing who keep serving us the same exact TV dinner that I didn’t want on Sunday night, and I didn’t want it when you tried to serve it again Monday night, and you crunched it up and mixed in some cheese and I didn’t eat that Tuesday night, and here it is Wednesday and you’ve rebuilt the whole goddamn TV dinner industry from the ground up and you’re giving me 1955 salisbury steak that I just DON’T WANT. What is it going to take for you to get the message that customers don’t want the things that architecture astronauts just love to build. The people? They love twitter. And flickr and delicious and picasa and tripit and ebay and a million other fun things, which they do want, and this so called synchronization problem is just not an actual problem, it’s a fun programming exercise that you’re doing because it’s just hard enough to be interesting but not so hard that you can’t figure it out.

Why I really care is that Microsoft is vacuuming up way too many programmers. Between Microsoft, with their shady recruiters making unethical exploding offers to unsuspecting college students, and Google (you’re on my radar) paying untenable salaries to kids with more ultimate frisbee experience than Python, whose main job will be to play foosball in the googleplex and walk around trying to get someone…anyone…to come see the demo code they’ve just written with their “20% time,” doing some kind of, let me guess, cloud-based synchronization… between Microsoft and Google the starting salary for a smart CS grad is inching dangerously close to six figures and these smart kids, the cream of our universities, are working on hopeless and useless architecture astronomy because these companies are like cancers, driven to grow at all cost, even though they can’t think of a single useful thing to build for us, but they need another 3000-4000 comp sci grads next week. And dammit foosball doesn’t play itself.

Take a look!

Reading list for programmers

April 30, 2008

I learnt about this list that Joel gave quite a while ago via the latest stackoverflow podcast; Joel introduces his list as follows:

“Pretty close to the perfect short list for any programmer” — Jan Derk

You can learn a lot about somebody by the books they’ve read. And I’ve always thought that if you read all the same books I read, you’ll come to think like me, too.

So here it is — Joel’s Programmer’s Bookshelf. This is the short list of all the books that I honestly think that every working programmer needs to read, with my own book hidden in there in case you didn’t notice because I get about two bucks if you buy it.

Here is his recommendation for K&R:

One of the most misguided ideas in programming pedagogy is the idea that you have to seduce people into programming by starting with simple, fun, graphical stuff. Some people think that the best way to learn programming is to start with HTML, maybe, and then learn how to cut and paste some javascripts, and then move on. Another misconception is that you should start with a trendy, marketable programming skill like Java or Web Database Programming.

Well, those people are wrong.

For various reasons too complicated to go into here, I believe that you have to start programming at a level that is as close to the machine as reasonable. I think that this book, universally known as K&R, is THE book anyone who wants to be a programmer must learn first. Pick it up and work through it in detail. If you love every minute of it, you can be a programmer. If you find this old-school text programming stuff boring, or the pointer stuff drives you crazy, trust me, you’re not going to like programming very much. If you need to be seduced into programming or if you don’t have the patience to figure out what all those crazy asterisks mean, you’re going to be happier doing something else. Really. But if you can make it through this book by yourself, you’ve got what it takes to be a top gun programmer, and you’ve got a terrific foundation for everything else you’re going to learn.

Take a look!

A couple of books that I personally found interesting but are missing from Joel’s list:

  1. Programming pearls of Jon Bentley; and,
  2. The art of Unix programming of Eric Raymond.

Musical composition and old age

April 28, 2008

Alex Ross gives some examples of how aging composers reached a state of terminal grace, and goes on to present some thoughts on what makes the late stage compositions what they are:

Musical figures from Monteverdi to Messiaen have had careers that can be plotted as steadily rising curves. In old age, certain composers reach a state of terminal grace, in which even throwaway ideas give off a glow of inevitability, like wisps of cloud illumined at dusk. It’s hard to think of another art form in which so many peak achievements—Bach’s “Art of Fugue,” Beethoven’s late string quartets, Verdi’s “Otello” and “Falstaff,” Wagner’s “Parsifal,” to name a few—arrive at, or near, the close of day. More than, say, poetry, which tends to thrive on youthful passion, composition seems a cumulative labor, a long process of trial and error, of possibilities rejected or exploited. And, perhaps because writing music is such a purely mental exercise, composers can go on working even after age takes its toll. Think of Handel writing “How Dark, O Lord, Are Thy Decrees” as his sight was failing, or Beethoven creating his most visionary pieces after deafness had set in, or Shostakovich carving final messages of flickering hope and deepening despair as Lou Gehrig’s disease and other ailments immobilized him.

Powers sounded a skeptical note, pointing out that Shakespeare continued writing after “The Tempest,” spoiling our sense of that work as his grand farewell. “Perhaps half the meaning that we find in last wills and testaments lies not in late style but in ourselves,” Powers wrote. But the composer Bruce Adolphe set out a late-style rule that rang true for a lot of the music under examination: “To say exactly what one means without complication but also without compromise.” That idea, which is essentially a call to artistic honesty, does explain Shostakovich’s existential desolation as well as Messiaen’s religious delirium; in each case, the composer’s technique has no purpose other than to express the underlying emotion.

Take a look!

Priceless research of a Bharathi scholar

April 28, 2008

Prema Nandakumar reviews Bharathi Karuvoolam, the letters that Bharathi wrote to the Hindu (which, I mentioned earlier in this blog) and edited by A R Venkatachalapathy, and finds it very useful:

All the letters come to us with suitable Tamil translations. The appendices include an interview with Bharati that tells us of the poet’s “forcible and pointed English”, the replies and comments by others on Bharati’s letters and S. Satyamurti’s obituary: “So long, however, as the Tamil language lives, and there is a spark of patriotism in Tamil India, Subrahmanya Bharati’s songs will live.” This has been proved very well by this recent, priceless research of our intrepid scholar, Venkatachalapathy.

PS: Prema Nandakumar approvingly quotes Bharathi’s recommendation on medium of instruction in schools:

… the Bharatian spirit comes to the fore when he advocates Tamil as the medium for teaching, long, long before our new rulers woke up to the reality: “…one’s mother-tongue is the only natural and human medium for imparting instruction. If anyone should doubt this, let him go and make enquiries of educationists in Japan, Scandinavia, England, Italy, Mexico or any other land where human beings are human beings. Speaking of the Tamil country, especially the blunder of using a foreign medium becomes shocking because the Tamil language happens to be far superior to English for accurate and scientific expression …”

While there might be a strong case for using the local language as the medium of instruction, I doubt if any language can be said to be inherently superior for accurate and scientific expression.

PSLV: India sets a record

April 28, 2008

Hindu reports:

ndia set a record here on Monday when its Polar Satellite Launch Vehicle (PSLV-C9) fired 10 satellites into orbit in a precisely timed sequence.

As each satellite winged out of the vehicle, it had to be re-oriented to prevent collision. The feat proved the versatility, reliability and flexibility of the PSLV. This was the 13th PSLV flight and the 12th successful one in a row.

A jubilant G. Madhavan Nair, chairman, Indian Space Research Organisation (ISRO), told a press conference after the launch: “This is a memorable occasion for ISRO and India. We have set a record for launching 10 satellites into orbit [using a single vehicle]. Very few countries have done it. Russia launched 13 satellites at a time. We do not know the result. We have shown the world that we can do multiple launches in a precise manner. We are thrilled at the performance.”

The Hindu editorial puts the feat in perspective:

India’s Polar Satellite Launch Vehicle (PSLV) is proving to be hugely versatile. On April 28, the launcher successfully carried no fewer than 10 satellites and ejected them with precision into their designated orbits. Since its first successful launch in 1994, the rocket has gone from strength to strength. In the course of 12 flights, the PSLV has carried 10 Indian remote sensing satellites, 14 small satellites for foreign customers (including eight launched on Monday), an amateur radio satellite, a meteorological satellite, and the country’s first recoverable space capsule. There have also been two dedicated launches carrying foreign satellites. Later this year, the highly dependable rocket will take Chandrayaan-1, India’s first lunar probe, on the first leg of its voyage to the Moon.

Although the rocket has earned an enviable reputation as a rugged workhorse, India is still a relatively small player in a commercial market dominated by launch vehicles like Europe’s Ariane 5 that can carry heavy communication satellites. This is not a market segment that can be served either by the PSLV or the current generation of the Geosynchronous Satellite Launch Vehicle (GSLV). India can begin to think of competing in this area only when the next generation GSLV Mark-III becomes operational. Its first flight could take place in a year or two from now, according to the latest annual report of the Department of Space. The PSLV has proved to be a terrific asset, but Indian launch vehicles have quite some distance to travel and bigger payloads to transport before they can take on the best in the world.

Kudos to ISRO!

A must-read interview with Knuth

April 28, 2008

Via Brad DeLong, I learnt about this interview of Andrew Binstock with Knuth, in which, as the one paragraph summary at the beginning indicates

Andrew Binstock and Donald Knuth converse on the success of open source, the problem with multicore architecture, the disappointing lack of interest in literate programming, the menace of reusable code, and that urban legend about winning a programming contest with a single compilation.

Well, just because it is Knuth, it is a must-read, undoubtedly. But to  give a flavour, here are a few interesting points that Knuth makes:

The success of open source code is perhaps the only thing in the computer field that hasn’t surprised me during the past several decades. But it still hasn’t reached its full potential; I believe that open-source programs will begin to be completely dominant as the economy moves more and more from products towards services, and as more and more volunteers arise to improve the code.

… the idea of immediate compilation and “unit tests” appeals to me only rarely, when I’m feeling my way in a totally unknown environment and need feedback about what works and what doesn’t. Otherwise, lots of time is wasted on activities that I simply never need to perform or even think about. Nothing needs to be “mocked up.”

During the past 50 years, I’ve written well over a thousand programs, many of which have substantial size. I can’t think of even five of those programs that would have been enhanced noticeably by parallelism or multithreading.

Jon Bentley probably hit the nail on the head when he once was asked why literate programming hasn’t taken the whole world by storm. He observed that a small percentage of the world’s population is good at programming, and a small percentage is good at writing; apparently I am asking everybody to be in both subsets.

Yet to me, literate programming is certainly the most important thing that came out of the TeX project. Not only has it enabled me to write and maintain programs faster and more reliably than ever before, and been one of my greatest sources of joy since the 1980s—it has actually been indispensable at times. Some of my major programs, such as the MMIX meta-simulator, could not have been written with any other methodology that I’ve ever heard of. The complexity was simply too daunting for my limited brain to handle; without literate programming, the whole enterprise would have flopped miserably.

If people do discover nice ways to use the newfangled multithreaded machines, I would expect the discovery to come from people who routinely use literate programming. Literate programming is what you need to rise above the ordinary level of achievement.

My general working style is to write everything first with pencil and paper, sitting beside a big wastebasket. Then I use Emacs to enter the text into my machine, using the conventions of TeX. I use tex, dvips, and gv to see the results, which appear on my screen almost instantaneously these days. I check my math with Mathematica.

I program every algorithm that’s discussed (so that I can thoroughly understand it) using CWEB, which works splendidly with the GDB debugger. I make the illustrations with MetaPost (or, in rare cases, on a Mac with Adobe Photoshop or Illustrator). I have some homemade tools, like my own spell-checker for TeX and CWEB within Emacs. I designed my own bitmap font for use with Emacs, because I hate the way the ASCII apostrophe and the left open quote have morphed into independent symbols that no longer match each other visually. I have special Emacs modes to help me classify all the tens of thousands of papers and notes in my files, and special Emacs keyboard shortcuts that make bookwriting a little bit like playing an organ. I prefer rxvt to xterm for terminal input. Since last December, I’ve been using a file backup system called backupfs, which meets my need beautifully to archive the daily state of every file.

According to the current directories on my machine, I’ve written 68 different CWEB programs so far this year. There were about 100 in 2007, 90 in 2006, 100 in 2005, 90 in 2004, etc. Furthermore, CWEB has an extremely convenient “change file” mechanism, with which I can rapidly create multiple versions and variations on a theme; so far in 2008 I’ve made 73 variations on those 68 themes. (Some of the variations are quite short, only a few bytes; others are 5KB or more. Some of the CWEB programs are quite substantial, like the 55-page BDD package that I completed in January.) Thus, you can see how important literate programming is in my life.

I currently use Ubuntu Linux, on a standalone laptop—it has no Internet connection. I occasionally carry flash memory drives between this machine and the Macs that I use for network surfing and graphics; but I trust my family jewels only to Linux. Incidentally, with Linux I much prefer the keyboard focus that I can get with classic FVWM to the GNOME and KDE environments that other people seem to like better. To each his own.

With the caveat that there’s no reason anybody should care about the opinions of a computer scientist/mathematician like me regarding software development, let me just say that almost everything I’ve ever heard associated with the term “extreme programming” sounds like exactly the wrong way to go…with one exception. The exception is the idea of working in teams and reading each other’s code. That idea is crucial, and it might even mask out all the terrible aspects of extreme programming that alarm me.

I also must confess to a strong bias against the fashion for reusable code. To me, “re-editable code” is much, much better than an untouchable black box or toolkit. I could go on and on about this. If you’re totally convinced that reusable code is wonderful, I probably won’t be able to sway you anyway, but you’ll never convince me that reusable code isn’t mostly a menace.

A must, must, must read interview, as you can see from the excerpts above.

Short and long-term impact of meditation on mind and brain

April 27, 2008

Vaughan at Mind Hacks collects and comments on couple of review articles on the neuroscience of meditation:

This month’s Trends in Cognitive Sciences has a fantastic review article on the neuroscience of meditation – focusing on how the contemplative practice alters and sharpens the brain’s attention systems.

The full article is available online as a pdf, and discusses what cognitive science studies have told us about the short and long-term impact of meditation on the mind and brain.

A recent review of ‘mindfulness’ meditation-based therapy found that although research is in its early stages and not all possibilities have been ruled out, there’s good evidence from the existing RCTs that it’s particularly good in preventing relapse in severe depression.

Though Vaughan notes that some of the meditational techniques used in these studies are taken from Buddhist meditation practices (and the role that the interest that the science-savvy Dalai Lama have shown on such scientific studies), such practices are also used in several of the Indian meditational practices and schools — though, to be fair to Buddhists, I think, they are the first ones to secularise meditational practices by noting that any word can be used for meditation and that there is no special power associated with any mantra or special word.

Take a look!

So …

April 27, 2008

When I spent six months in Germany during my graduate days as an exchange scholar, in the very first week of my arrival, I happened to attend a talk; it was delivered by a Russian professor in German (who prefaced his talk with this sentence in English — “Since both my English and German are horrible, and since it is Germany, the chance of my being misunderstood in German is less. So…”). In the entire talk, I got only two things — one was a reference to the classic paper of Ramakrishnan and Youssouf and the other was the word “Aber” since at every second sentence, towards the end of the sentence, the volume would gradually decrease, and the very next sentence, he would start with a booming “Aber” — pronounced “aaabah”, and within the first five minutes, I understood that Aber meant “But”.

I guess this is not an uncommon experience; anybody who attends a technical presentation knows about the penchant of different speakers for using different words to start (or, to end)a majority of sentences.

Over at Seed, Michael Erard writes about one such word (link, also, via Chad at Uncertain Principles) — “So” and what it tells about what the use of the word tells about the scientific endeavour itself:

… can such a tiny word reveal anything about the metaphorical underpinnings and conceptual structure of scientific endeavors? In the 1990s, Columbia University psychologist Stanley Schachter counted how often professors said “uh” and “um” in lectures and found that humanists said them more than social scientists, and natural scientists said them less frequently of all. Because such words mark places where a speaker is choosing what to say next, Schachter argued, natural scientists’ low hesitation rate underscored the hard facts they were communicating. “So” can be said to have the inverse relation for exactly the same reason. It relays a sense of accuracy and rigor. One doesn’t have to worry about what to say as much as when to say it. “So” is the organizing device for a logic-driven thought process.

Former Microsoft engineer Alex Barnett wrote on his blog that “so” was a “delaminater” word. To him an idea was a concrete object, much like an onion. “So” was the word a speaker used to convey that another layer was peeling back. This metaphor implies that ideas have a kernel that one could reach with enough “so”s, a notion surely enticing to the problem-solvers and the goal-oriented. I prefer to think of “so” as a vehicle across a landscape of knowledge. It lies not so much in between points on a terminal trajectory, but more on perpetual journey across points of understanding. In this sense it shares some qualities with the infinite “why”s of a two-year-old. Another “so” can always follow the end of a thought. The trajectory is endless; the rabbit hole has no bottom. There will always be more questions for science to answer.

As a word that dwells in the lexicon of those who desire to understand and to learn, “so” is a marker of healthy intellectual tolerance. It is a hallmark of a robust cognitive approach to the world. But this is not to say that the “so” employed by professional explainers is all deduction and dialectic. It also implies an element of faith. This is the faith of any attempt to teach, argue, brainstorm, or present: the conviction that the person who is listening will understand what’s being said and comprehend its significance. More than anything else, this fidelity may spring from a need to communicate; a fervent desire to exchange ideas and, in turn, build new ones. This is an inclination characteristic of many people. “So” is just more frequent on the tongues of those who do it best.

Take a look!

PS: By the way, on an entirely different note, use of fill-in syllables such as uh, OK (which word, I am told I use often in my presentations), and, you-know, while lecturing and making presentations are considered bad; so, as much as there is a reason behind using “so”, its use should still be restricted. One way to do it is to use different words and constructions with the same meaning.

Darwin in Indian textbooks — setting the record straight

April 27, 2008

Sometime back, I wrote a post about the absence of Darwin in Indian science textbooks based on an editorial in Current Science by Prof. Balaram (which is getting some attention elsewhere in the blogopolis too).

When I wrote the post, Deep, duly noted in a comment that Prof. Balaram should have taken a look at all the school textbooks and not just the X standard one.

Now, after seeing Abi’s wonderful  and must-follow link to the NCERT textbooks for all classes from I to XII standards, Deep did a follow-up for me, and informs me in a mail that

… the Xth standard NCERT biology book does mention (actually, covers a decent amount of) evolution and Darwin (with his photograph as well:-)

which indeed is good news at some level. So, even if Darwin is missing in some texts for some classes, it is good to know that there are some boards which do a good job. Now, it just becomes a question of standardisation across different boards.