Showing posts with label Read on Net. Show all posts
Showing posts with label Read on Net. Show all posts

Friday, March 07, 2008

World's Oldest Employee - 101 Year Old - Preparing 4 Marathon



Already Britain's oldest employee, 101-year-old Buster Martin now aims to become the world's oldest marathon runner by completing the London Marathon and celebrating with a pint of beer and a cigarette.

Sprightly and bearded, he completed a half marathon at the weekend in five hours 13 minutes. The former Army physical training instructor works three days a week for a London plumbing firm and says he has trained for the April 13th race in his spare time.

"I've said I'll attempt it," he told Reuters by telephone from his workplace at Pimlico Plumbers. "I haven't said I'll complete it. If I do make it, all the better. I hadn't thought of doing it before but someone asked me and the money goes to charity so why not?"

His sponsorship money will go to the Rhys Daniels Trust, which provides temporary accommodation for families of patients in specialist children's hospitals.

Martin, who had 17 children and returned to work at the age of 99 saying he was bored after two years of retirement, would beat the previous record for world's oldest marathon runner by eight years.

"If I finish, I'll do what I always do and have a pint and a fag," he said. "People ask what is my secret but I haven't got one. They say fags and booze are bad for you -- but I'm still here, aren't I?"

Source: Yahoo.com

Friday, October 26, 2007

Working in IT? Top 10 Things You Should Remember Always

If you are preparing for a career in IT or are new to IT, many of the “dirty little secrets” listed below may surprise you because we don’t usually talk about them out loud. If you are an IT veteran, you’ve probably encountered most of these issues and have a few of your own to add — and please, by all means, take a moment to add them to the discussion. Most of these secrets are aimed at network administrators, IT managers, and desktop support professionals. This list is not aimed at developers and programmers — they have their own set of additional dirty little secrets — but some of these will apply to them as well.

10.) The pay in IT is good compared to many other professions, but since they pay you well, they often think they own you

Although the pay for IT professionals is not as great as it was before the dot-com flameout and the IT backlash in 2001-2002, IT workers still make very good money compared to many other professions (at least the ones that require only an associate’s or bachelor’s degree). And there is every reason to believe that IT pros will continue to be in demand in the coming decades, as technology continues to play a growing role in business and society... More at blogs.techrepublic.com.com

11.) It will be your fault when users make silly errors

Some users will angrily snap at you when they are frustrated. They will yell, “What’s wrong with this thing?” or “This computer is NOT working!” or (my personal favorite), “What did you do to the computers?”... More at blogs.techrepublic.com.com

8.) You will go from goat to hero and back again multiple times within any given day When you miraculously fix something that had been keeping multiple employees from being able to work for the past 10 minutes — and they don’t realize how simple the fix really was — you will become the hero of the moment and everyone’s favorite employee. But they will conveniently forget about your hero anointment a few hours later when they have trouble printing because of a network slowdown... More at blogs.techrepublic.com.com

7.) Certifications won’t always help you become a better technologist, but they can help you land a better job or a pay raise

Headhunters and human resources departments love IT certifications. They make it easy to match up job candidates with job openings. They also make it easy for HR to screen candidates. You’ll hear a lot of veteran IT pros whine about techies who were hired based on certifications but who don’t have the experience to effectively do the job. They are often right... More at blogs.techrepublic.com.com

6.) Your nontechnical co-workers will use you as personal tech support for their home PCs

Your co-workers (in addition to your friends, family, and neighbors) will view you as their personal tech support department for their home PCs and home networks. They will e-mail you, call you, and/or stop by your office to talk about how to deal with the virus that took over their home PC or the wireless router that stopped working after the last power outage and to ask you how to put their photos and videos on the Web so their grandparents in Iowa can view them... More at blogs.techrepublic.com.com

5.) Vendors and consultants will take all the credit when things work well and will blame you when things go wrong

Working with IT consultants is an important part of the job and can be one of the more challenging things to manage. Consultants bring niche expertise to help you deploy specialized systems, and when everything works right, it’s a great partnership. But you have to be careful. When things go wrong, some consultants will try to push the blame off on you by arguing that their solution works great everywhere else so it must be a problem with the local IT infrastructure... More at blogs.techrepublic.com.com

4.) You’ll spend far more time babysitting old technologies than implementing new ones

One of the most attractive things about working in IT is the idea that we’ll get to play with the latest cutting edge technologies. However, that’s not usually the case in most IT jobs... More at blogs.techrepublic.com.com

3.) Veteran IT professionals are often the biggest roadblock to implementing new technologies

A lot of companies could implement more cutting edge stuff than they do. There are plenty of times when upgrading or replacing software or infrastructure can potentially save money and/or increase productivity and profitability. However, it’s often the case that one of the largest roadblocks to migrating to new technologies is not budget constraints or management objections; it’s the veteran techies in the IT department... More at blogs.techrepublic.com.com

2.) Some IT professionals deploy technologies that do more to consolidate their own power than to help the business

Another subtle but blameworthy thing that some IT professionals do is select and implement technologies based on how well those technologies make the business dependent on the IT pros to run them, rather than which ones are truly best for the business itself. For example, IT pros might select a solution that requires specialized skills to maintain instead of a more turnkey solution... More at blogs.techrepublic.com.com

1.) IT pros frequently use jargon to confuse nontechnical business managers and hide the fact that they screwed up

All IT pros — even the very best — screw things up once in a while. This is a profession where a lot is at stake and the systems that are being managed are complex and often difficult to integrate. However, not all IT pros are good at admitting when they make a mistake. Many of them take advantage of the fact that business managers (and even some high-level technical managers) don’t have a good understanding of technology, and so the techies will use jargon to confuse them (and cover up the truth) when explaining why a problem or an outage occurred. For example, to tell a business manager why a financial application went down for three hours, the techie might say, “We had a blue screen of death on the SQL Server that runs that app. Damn Microsoft!” What the techie would fail to mention was that the BSOD was caused by a driver update he applied to the server without first testing it on a staging machine.


Complete Story at http://blogs.techrepublic.com.com/hiner/?p=546

Thursday, October 25, 2007

Australian Media Mockery About Team India

If not everybody at least the die hard cricket fans would have heard about the mid-air flight snag when Team India was moving to play Mumbai match after losing the series to Australia. This news is widely covered by all Indian news media since in the same flight both Indian and Australian players were flying and lots depends on them. But not all cricket fans might be knowing how the Australian media has covered this whole incident(otherwise could have become accident).... they were too critical of Indian Team and Indian Media following the hype around the alleged racism rows involving Aussie player Symonds...

They have tons of sarcastic comments about Indian Team and Media...

Go on and read this news story,


The Australian cricket team's headline-making tour of India took a dramatic turn on Monday with its aircraft having to undertake an emergency landing in Nagpur.

The Jet Airways flight to Mumbai had to be turned around after birds, believed to be eagles, damaged the right engine during take-off from Nagpur on Monday morning.

The engine groaned audibly on take-off before the pilots announced about 15 minutes into the flight they were returning to the Baba-sahib Ambedkar International Airport because of the damage.

There was a clap or two in relief at touching down in Nagpur but most of the players seemed more frustrated at the disruption to their schedule than too concerned over the health of the aircraft.

However Brad Hogg looked a tad nervous about the whole affair after the team sat on the tarmac for more than an hour while attempts were made to repair the engine.

Nathan Bracken said team physiotherapist Alex Kountouris, a nervous flyer, was a little shaken.

"As soon as it landed he said he was not flying again, he said he was catching the train to Mumbai," said Bracken.

"We felt pretty safe as we were flying with the Indian side and they are living gods over here," he said.

"And the pilot is probably going to be a legend for landing the plane and saving the Indian team.

"But it shows you how quickly something can go from a standard flight to extreme circumstances."

Several ground staff spent more than a quarter of an hour just trying to open a metal box to repair the engine before players from both the Australian and India teams and the rest of the passengers were told to exit.

All players were taken to a hotel to wait for another flight due to leave around 1:30pm local time (1800 AEST).

Television stations in India jumped on the story with graphics of an eagle bouncing off a plane.

The engine problem was just the latest incident in an action-packed series which has seen Andrew Symonds racially abused by fans and members of both sides involved in some fiery exchanges.

The unfortunate birds achieved something the Indian cricketers had failed to do - slow the Australians.

The World Cup holders have marched triumphantly through their one-day series, only dropping one match in the opening six encounters.

They are due to finish off the series at Mumbai's Wankhede Stadium on Wednesday before a one-off Twenty20 match on Saturday against the newly-crowned world champions in the game's newest form.

Source: 9MSN.com

Saturday, October 06, 2007

Judge At 50 Going Back To School

Its everyone dream of getting back the experience of being in school/college after leaving that and mostly this wish never get fulfilled. But here there is one person even after getting the opportunity to go back to school is not very happy as usually one would be... Why so?? You will find out that after reading this news clip...


"New Delhi's High Court justices, annoyed with lower court judges who issue problematic rulings, have decided to send one of them back to law school.

In an order issued late Friday, Judge R. K. Tiwari was told to return for a three-month refresher course after issuing an arrest warrant in defiance of a previous High Court ruling.

"Since Tiwari does not have even elementary knowledge of the criminal law and procedure it would be appropriate that he undergoes a refresher course at Delhi Judicial Academy," Justice V. B. Gupta wrote.

The move comes after a series of high-profile cases that have been overturned by the High Court or the national Supreme Court, citing lack of legal understanding by lower court judges.

Tiwari had ordered police to detain a landlord in a case where his tenant had failed to pay the power company, despite a previous High Court ruling that the landlord could not be held responsible. Tiwari could not immediately be reached for comment.

Gupta ordered that the head of the law school personally submit a report on Tiwari's progress after three months. And, to ensure that others in lower courts got the message, Gupta ordered copies of his order sent to all New Delhi judges."


Source: Associated Press

Thursday, September 06, 2007

When You Go Home Mr. President? Judge Asks

Its getting more interesting to see the recent developments in Pakistan. After the serious of events like throwing Chiej Justice Iftikhar Chaudhary out of office illegally, serious of bomb blasts, series of vocal attacks from the Former PM Mr. Clean @ Nawas Sheriff etc... Now the reinstated CJ Iftikhar Chaudhary has publicly asked the President when he will actually step down and what is the term of President under the Pakistan law(which is asked by a CJ who is supposedly should be knowing it well).

Here is excerpt of whole story around this saga,

he complex political drama unfolding in Pakistan took another unexpected turn with the Supreme Court asking the government to clarify “in black and white” when President Pervez Musharraf’s term of office as the head of state would end.

Chief Justice Iftikhar Chaudhary gave this direction on Wednesday during the hearing of a petition challenging a 2004 act of Parliament that allows Gen. Musharraf to hold two offices, so that he could retain his post of chief of army staff.

The petition, filed by Jamat-e-Islami, is one in a slew of legal challenges to Gen. Musharraf’s re-election.

President’s counsel Sharifuddin Pirzada said he would have a clear answer for the court on Thursday when the court takes up the matter again.

Attorney-General Malik Qayuum told reporters later that the President’s term would end on November 16, 2007 and that this was the date that would be given to the court.

Under the “President to Hold Dual Office Act 2004”, the President may hold the office of the Chief of the Army Staff, but the Act also says “this provision shall be valid only of the present holder of the office of the President”.

The court’s direction assumes significance in the light of Gen. Musharraf’s repeated statements that he can be re-elected for a second term in uniform.

One of the judges on the seven-member bench hearing the case remarked during the hearing that in his personal opinion, the Act would cease to operate the day Gen. Musharraf’s term ended.

When Gen. Musharraf seized power from Nawaz Sharif, who was Prime Minister, he first declared himself chief executive, allowing incumbent President Rafiq Tarar to continue in office. In June 2001, he removed Mr. Tarar and declared himself the President.

In April 2002, he embarked on a five-tear term as President after a hugely controversial referendum. More than a year later and after much political wrangling, a majority in Parliament endorsed his presidency by giving him a vote of confidence.

Asking President’s counsel to declare the date of expiry of the President’s term, Chief Justice Chaudhary said, “What is the date? Let us have it in black and white.”

The Jamat-e-Islmai is opposing the dual office Act on the ground that no law can be made for just one individual.

Source: http://www.thehindu.com

Threat To Hardcore Programmers???

The worst nightmare of any programmer would be of jobless and not able to code with real goals. Since considering the current trend of IT demands, it is a remote possibility of such happening. But that was the case until I read this shocking article about the imminent threat to programming community who lives solely by writing some stupid, unformatted, deliberately crypt ed variables and function logics to keep the business people scared all time and putting them at bay even though it's possible to write very legible code with modern programming languages which has implementation purely based on the English language constructs.

But all this seems to be in trouble due to an revolutionary work being carried out by "Charles Simonyi" who was creator of Bravo (1974), Microsoft Word (1983), Microsoft Excel (1985), Intentional Software (2007, first release) softwares. He is now working on creating an automatic programming code generation software which is hoping to replace the cruel programmers and giving relief to Business people who can easily convert their plans into actions using his software.

Now have a look at what he is actually doing,


This fall the business world will see the first tentative release of a product that Charles Simonyi has been working on, in one form or another, for most of his professional life. No, it's not word-processing software, which the Hungarian immigrant developed at Xerox PARC and then took to Microsoft in 1981, and which helped build him a fortune estimated at $1 billion. It's more audacious than that.

Simonyi's five-year-old startup, Intentional Software, is making software so smart that you can simply tell it what you want to do. Lay down a few basic parameters, and it will write its own code. No programming skills are necessary.

"Experts [in other fields] can be much more innovative and responsive to their business, and see the resulting software immediately," says Simonyi, speaking from the deck of his yacht, one of the world's largest.

Humans, arguably, have done a pretty lousy job of writing code. Derailed software projects have shamed plenty of large companies. (See "When Bugs Attack," right.) The National Institute of Standards and Technology says such bugs cost the U.S. economy nearly $60 billion each year.

"The nature of programming is that you make mistakes," says Jonathan Edwards, a research fellow at the MIT Computer Science and Artificial Intelligence Lab. "No one ever gets it right, and people have concluded this is as good as it's going to get."

Not Simonyi, who has always believed that software should do the heavy lifting for people. After all, we were staring at command-line prompts on green screens until he and his fellow Xerox engineers came up with the graphical user interface.

At Microsoft in 1995, after building the entire Office suite, Simonyi tried to go one level of simplicity further, with the programming equivalent of point-and-click. The project became an obsession and, seven years later, a startup. Simonyi threw out his code and started from scratch twice before he was satisfied. (He also found time to take a $20 million jaunt on the International Space Station in April.)

Intentional's technology centers on the Domain Workbench, a human-language and graphically friendly representation of the software as it's built. Much as blogging platforms like Blogger and TypePad gave millions of Web surfers the power to publish their own sites while ignoring all that pesky HTML code, the Domain Workbench would hand enterprise software design to businesspeople.

Here's how it works: Users write clear directions in text, spreadsheet, or flowchart-like forms describing what the software should do. In some cases, they can use an interface where lines are drawn between boxes and documents to establish the relationships and rules that an application must follow.

The information is sent to a code generator, which spits out the thousands of lines necessary to build the application. Intentional users must still have a software engineer on hand to help set up the programming language and to tweak it anytime a variable changes.

Henk Kolk, CTO at Capgemini, a Paris-based IT services firm and an Intentional client, says Domain Workbench is a godsend. A project that would previously have required 50 programmers working for five years, he estimates, could be completed with Intentional in "just a couple of months."

Kolk is running three pilot projects using the system, and this fall Capgemini plans to release a Domain Workbench aimed specifically at its pension firm clients. "We created a domain language for the pension world that is immediately understood and usable by those experts," Kolk says. "I'm a believer that businesspeople should be able to express what they want to do and generate software directly from that."

There's a healthy dose of skepticism in the programming community that Intentional will accomplish its goal. IBM and Cornell set up similar systems that were shunned by programmers. And MIT's Edwards is dubious of Intentional's attempt to patent its system in an age when open-source rules. "It feels archaic, frankly, to have all of this secrecy, the patents and NDAs," he says of Intentional, which has thus far released few technical details. "The only way you have an influence today is by giving it away."

Simonyi says he's "willing to take the risk" that owning the platform may slow its adoption. He's betting programmers don't enjoy working on the business aspects of software development - pension rules or HIPAA legislation, for example - and "will be delighted by the separation from the drudgery."

Some programmers agree. "Software's job isn't to be well written and cool," says Andrew Brooman, a 25-year programming veteran in Florida. "Its job is to solve business problems." If he's right, Simonyi's Microsoft wealth could be just the beginning of an even greater fortune.

Source: http://money.cnn.com

Hmmm... I need to think of some contingency plans in place in-case such situations comes alarmingly big... Any suggestions?

Saturday, August 04, 2007

What Is Powering Orkut? Behind The Scenes of Orkut

I recently read an article about the logic behind the "Groups" concept. Though the article is long, in which case I usally graze over the artcile instead of reading it but that is not the case with this. I found it very interesting since the logic behind this can be applied to contemporary grouping tools like Orkut, Yahoo Groups etc... Here is the excerpt from a really long article. It was delivered in a speech by Clay Shirky.


"Good morning, everybody. I want to talk this morning about social software ...there's a surprise. I want to talk about a pattern I've seen over and over again in social software that supports large and long-lived groups. And that pattern is the pattern described in the title of this talk: "A Group Is Its Own Worst Enemy."

In particular, I want to talk about what I now think is one of the core challenges for designing large-scale social software. Let me offer a definition of social software, because it's a term that's still fairly amorphous. My definition is fairly simple: It's software that supports group interaction. I also want to emphasize, although that's a fairly simple definition, how radical that pattern is. The Internet supports lots of communications patterns, principally point-to-point and two-way, one-to-many outbound, and many-to-many two-way.

Prior to the Internet, we had lots of patterns that supported point-to-point two-way. We had telephones, we had the telegraph. We were familiar with technological mediation of those kinds of conversations. Prior to the Internet, we had lots of patterns that supported one-way outbound. I could put something on television or the radio, I could publish a newspaper. We had the printing press. So although the Internet does good things for those patterns, they're patterns we knew from before.

Prior to the Internet, the last technology that had any real effect on the way people sat down and talked together was the table. There was no technological mediation for group conversations. The closest we got was the conference call, which never really worked right -- "Hello? Do I push this button now? Oh, shoot, I just hung up." It's not easy to set up a conference call, but it's very easy to email five of your friends and say "Hey, where are we going for pizza?" So ridiculously easy group forming is really news.

We've had social software for 40 years at most, dated from the Plato BBS system, and we've only had 10 years or so of widespread availability, so we're just finding out what works. We're still learning how to make these kinds of things.

Now, software that supports group interaction is a fundamentally unsatisfying definition in many ways, because it doesn't point to a specific class of technology. If you look at email, it obviously supports social patterns, but it can also support a broadcast pattern. If I'm a spammer, I'm going to mail things out to a million people, but they're not going to be talking to one another, and I'm not going to be talking to them -- spam is email, but it isn't social. If I'm mailing you, and you're mailing me back, we're having point-to-point and two-way conversation, but not one that creates group dynamics.

So email doesn't necessarily support social patterns, group patterns, although it can. Ditto a weblog. If I'm Glenn Reynolds, and I'm publishing something with Comments Off and reaching a million users a month, that's really broadcast. It's interesting that I can do it as a single individual, but the pattern is closer to MSNBC than it is to a conversation. If it's a cluster of half a dozen LiveJournal users, on the other hand, talking about their lives with one another, that's social. So, again, weblogs are not necessarily social, although they can support social patterns.

Nevertheless, I think that definition is the right one, because it recognizes the fundamentally social nature of the problem. Groups are a run-time effect. You cannot specify in advance what the group will do, and so you can't substantiate in software everything you expect to have happen.

Now, there's a large body of literature saying "We built this software, a group came and used it, and they began to exhibit behaviors that surprised us enormously, so we've gone and documented these behaviors." Over and over and over again this pattern comes up. (I hear Stewart [Brand, of the WELL] laughing.) The WELL is one of those places where this pattern came up over and over again.

This talk is in three parts. The best explanation I have found for the kinds of things that happen when groups of humans interact is psychological research that predates the Internet, so the first part is going to be about W.R. Bion's research, which I will talk about in a moment, research that I believe explains how and why a group is its own worst enemy.

The second part is: Why now? What's going on now that makes this worth thinking about? I think we're seeing a revolution in social software in the current environment that's really interesting.

And third, I want to identify some things, about half a dozen things, in fact, that I think are core to any software that supports larger, long-lived groups.

Part One: How is a group its own worst enemy?

So, Part One. The best explanation I have found for the ways in which this pattern establishes itself, the group is its own worst enemy, comes from a book by W.R. Bion called "Experiences in Groups," written in the middle of the last century.

Bion was a psychologist who was doing group therapy with groups of neurotics. (Drawing parallels between that and the Internet is left as an exercise for the reader.) The thing that Bion discovered was that the neurotics in his care were, as a group, conspiring to defeat therapy.

There was no overt communication or coordination. But he could see that whenever he would try to do anything that was meant to have an effect, the group would somehow quash it. And he was driving himself crazy, in the colloquial sense of the term, trying to figure out whether or not he should be looking at the situation as: Are these individuals taking action on their own? Or is this a coordinated group?

He could never resolve the question, and so he decided that the unresolvability of the question was the answer. To the question: Do you view groups of people as aggregations of individuals or as a cohesive group, his answer was: "Hopelessly committed to both."

He said that humans are fundamentally individual, and also fundamentally social. Every one of us has a kind of rational decision-making mind where we can assess what's going on and make decisions and act on them. And we are all also able to enter viscerally into emotional bonds with other groups of people that transcend the intellectual aspects of the individual.

In fact, Bion was so convinced that this was the right answer that the image he put on the front cover of his book was a Necker cube, one of those cubes that you can look at and make resolve in one of two ways, but you can never see both views of the cube at the same time. So groups can be analyzed both as collections of individuals and having this kind of emotive group experience.

Now, it's pretty easy to see how groups of people who have formal memberships, groups that have been labeled and named like "I am a member of such-and-such a guild in a massively multi-player online role-playing game," it's easy to see how you would have some kind of group cohesion there. But Bion's thesis is that this effect is much, much deeper, and kicks in much, much sooner than many of us expect. So I want to illustrate this with a story, and to illustrate the illustration, I'll use a story from your life. Because even if I don't know you, I know what I'm about to describe has happened to you.

You are at a party, and you get bored. You say "This isn't doing it for me anymore. I'd rather be someplace else. I'd rather be home asleep. The people I wanted to talk to aren't here." Whatever. The party fails to meet some threshold of interest. And then a really remarkable thing happens: You don't leave. You make a decision "I don't like this." If you were in a bookstore and you said "I'm done," you'd walk out. If you were in a coffee shop and said "This is boring," you'd walk out.

You're sitting at a party, you decide "I don't like this; I don't want to be here." And then you don't leave. That kind of social stickiness is what Bion is talking about.

And then, another really remarkable thing happens. Twenty minutes later, one person stands up and gets their coat, and what happens? Suddenly everyone is getting their coats on, all at the same time. Which means that everyone had decided that the party was not for them, and no one had done anything about it, until finally this triggering event let the air out of the group, and everyone kind of felt okay about leaving.

This effect is so steady it's sometimes called the paradox of groups. It's obvious that there are no groups without members. But what's less obvious is that there are no members without a group. Because what would you be a member of?

So there's this very complicated moment of a group coming together, where enough individuals, for whatever reason, sort of agree that something worthwhile is happening, and the decision they make at that moment is: This is good and must be protected. And at that moment, even if it's subconscious, you start getting group effects. And the effects that we've seen come up over and over and over again in online communities.

Now, Bion decided that what he was watching with the neurotics was the group defending itself against his attempts to make the group do what they said they were supposed to do. The group was convened to get better, this group of people was in therapy to get better. But they were defeating that. And he said, there are some very specific patterns that they're entering into to defeat the ostensible purpose of the group meeting together. And he detailed three patterns.

The first is sex talk, what he called, in his mid-century prose, "A group met for pairing off." And what that means is, the group conceives of its purpose as the hosting of flirtatious or salacious talk or emotions passing between pairs of members.

You go on IRC and you scan the channel list, and you say "Oh, I know what that group is about, because I see the channel label." And you go into the group, you will also almost invariably find that it's about sex talk as well. Not necessarily overt. But that is always in scope in human conversations, according to Bion. That is one basic pattern that groups can always devolve into, away from the sophisticated purpose and towards one of these basic purposes.

The second basic pattern that Bion detailed: The identification and vilification of external enemies. This is a very common pattern. Anyone who was around the Open Source movement in the mid-Nineties could see this all the time. If you cared about Linux on the desktop, there was a big list of jobs to do. But you could always instead get a conversation going about Microsoft and Bill Gates. And people would start bleeding from their ears, they would get so mad.

If you want to make it better, there's a list of things to do. It's Open Source, right? Just fix it. "No, no, Microsoft and Bill Gates grrrrr ...", the froth would start coming out. The external enemy -- nothing causes a group to galvanize like an external enemy.

So even if someone isn't really your enemy, identifying them as an enemy can cause a pleasant sense of group cohesion. And groups often gravitate towards members who are the most paranoid and make them leaders, because those are the people who are best at identifying external enemies.

The third pattern Bion identified: Religious veneration. The nomination and worship of a religious icon or a set of religious tenets. The religious pattern is, essentially, we have nominated something that's beyond critique. You can see this pattern on the Internet any day you like. Go onto a Tolkein newsgroup or discussion forum, and try saying "You know, The Two Towers is a little dull. I mean loooong. We didn't need that much description about the forest, because it's pretty much the same forest all the way."

Try having that discussion. On the door of the group it will say: "This is for discussing the works of Tolkein." Go in and try and have that discussion.

Now, in some places people say "Yes, but it needed to, because it had to convey the sense of lassitude," or whatever. But in most places you'll simply be flamed to high heaven, because you're interfering with the religious text.

So these are human patterns that have shown up on the Internet, not because of the software, but because it's being used by humans. Bion has identified this possibility of groups sandbagging their sophisticated goals with these basic urges. And what he finally came to, in analyzing this tension, is that group structure is necessary. Robert's Rules of Order are necessary. Constitutions are necessary. Norms, rituals, laws, the whole list of ways that we say, out of the universe of possible behaviors, we're going to draw a relatively small circle around the acceptable ones.

He said the group structure is necessary to defend the group from itself. Group structure exists to keep a group on target, on track, on message, on charter, whatever. To keep a group focused on its own sophisticated goals and to keep a group from sliding into these basic patterns. Group structure defends the group from the action of its own members.

In the Seventies -- this is a pattern that's shown up on the network over and over again -- in the Seventies, a BBS called Communitree launched, one of the very early dial-up BBSes. This was launched when people didn't own computers, institutions owned computers.

Communitree was founded on the principles of open access and free dialogue. "Communitree" -- the name just says "California in the Seventies." And the notion was, effectively, throw off structure and new and beautiful patterns will arise.

And, indeed, as anyone who has put discussion software into groups that were previously disconnected has seen, that does happen. Incredible things happen. The early days of Echo, the early days of usenet, the early days of Lucasfilms Habitat, over and over again, you see all this incredible upwelling of people who suddenly are connected in ways they weren't before.

And then, as time sets in, difficulties emerge. In this case, one of the difficulties was occasioned by the fact that one of the institutions that got hold of some modems was a high school. And who, in 1978, was hanging out in the room with the computer and the modems in it, but the boys of that high school. And the boys weren't terribly interested in sophisticated adult conversation. They were interested in fart jokes. They were interested in salacious talk. They were interested in running amok and posting four-letter words and nyah-nyah-nyah, all over the bulletin board.

And the adults who had set up Communitree were horrified, and overrun by these students. The place that was founded on open access had too much open access, too much openness. They couldn't defend themselves against their own users. The place that was founded on free speech had too much freedom. They had no way of saying "No, that's not the kind of free speech we meant."

But that was a requirement. In order to defend themselves against being overrun, that was something that they needed to have that they didn't have, and as a result, they simply shut the site down.

Now you could ask whether or not the founders' inability to defend themselves from this onslaught, from being overrun, was a technical or a social problem. Did the software not allow the problem to be solved? Or was it the social configuration of the group that founded it, where they simply couldn't stomach the idea of adding censorship to protect their system. But in a way, it doesn't matter, because technical and social issues are deeply intertwined. There's no way to completely separate them.

What matters is, a group designed this and then was unable, in the context they'd set up, partly a technical and partly a social context, to save it from this attack from within. And attack from within is what matters. Communitree wasn't shut down by people trying to crash or syn-flood the server. It was shut down by people logging in and posting, which is what the system was designed to allow. The technological pattern of normal use and attack were identical at the machine level, so there was no way to specify technologically what should and shouldn't happen. Some of the users wanted the system to continue to exist and to provide a forum for discussion. And other of the users, the high school boys, either didn't care or were actively inimical. And the system provided no way for the former group to defend itself from the latter.

Now, this story has been written many times. It's actually frustrating to see how many times it's been written. You'd hope that at some point that someone would write it down, and they often do, but what then doesn't happen is other people don't read it.

The most charitable description of this repeated pattern is "learning from experience." But learning from experience is the worst possible way to learn something. Learning from experience is one up from remembering. That's not great. The best way to learn something is when someone else figures it out and tells you: "Don't go in that swamp. There are alligators in there."

Learning from experience about the alligators is lousy, compared to learning from reading, say. There hasn't been, unfortunately, in this arena, a lot of learning from reading. And so, lessons from Lucasfilms' Habitat, written in 1990, reads a lot like Rose Stone's description of Communitree from 1978.

This pattern has happened over and over and over again. Someone built the system, they assumed certain user behaviors. The users came on and exhibited different behaviors. And the people running the system discovered to their horror that the technological and social issues could not in fact be decoupled.

There's a great document called "LambdaMOO Takes a New Direction," which is about the wizards of LambdaMOO, Pavel Curtis's Xerox PARC experiment in building a MUD world. And one day the wizards of LambdaMOO announced "We've gotten this system up and running, and all these interesting social effects are happening. Henceforth we wizards will only be involved in technological issues. We're not going to get involved in any of that social stuff."

And then, I think about 18 months later -- I don't remember the exact gap of time -- they come back. The wizards come back, extremely cranky. And they say: "What we have learned from you whining users is that we can't do what we said we would do. We cannot separate the technological aspects from the social aspects of running a virtual world.

"So we're back, and we're taking wizardly fiat back, and we're going to do things to run the system. We are effectively setting ourselves up as a government, because this place needs a government, because without us, the place was falling apart."

People who work on social software are closer in spirit to economists and political scientists than they are to people making compilers. They both look like programming, but when you're dealing with groups of people as one of your run-time phenomena, that is an incredibly different practice. In the political realm, we would call these kinds of crises a constitutional crisis. It's what happens when the tension between the individual and the group, and the rights and responsibilities of individuals and groups, gets so serious that something has to be done.

And the worst crisis is the first crisis, because it's not just "We need to have some rules." It's also "We need to have some rules for making some rules." And this is what we see over and over again in large and long-lived social software systems. Constitutions are a necessary component of large, long-lived, heterogenous groups.

Geoff Cohen has a great observation about this. He said "The likelihood that any unmoderated group will eventually get into a flame-war about whether or not to have a moderator approaches one as time increases." As a group commits to its existence as a group, and begins to think that the group is good or important, the chance that they will begin to call for additional structure, in order to defend themselves from themselves, gets very, very high...."

To continue reading the article please check out Clay Shirky's page.

Sunday, July 29, 2007

Is Google Following Microsoft Business Practices?

Recently I read an shocking article about one of my favorite tool, Mozilla Thunderbird mail client. The article is about Mozilla Corporation's decision to drop the further development and promotion of its mail client for the sake of promoting Google's GMail. The more shocking fact is that Google itself has encouraged MoCo (Mozilla Corporation) to do so. This is very much in line with the dreaded policy which Microsoft has practiced and practicing till date. Here is the full text of the article.

"Mozilla Corp.'s CEO Thursday evening answered charges that the company is dropping development of the Thunderbird e-mail client because of its partnership with Google Inc.

Several comments posted to Mitchell Baker's blog put forward conspiracy theories of a link between Mozilla's decision on Thunderbird and Google's push into e-mail with its Gmail Web-based service.

"Since Google is a primary funder of the Mozilla Foundation, and since Google is actively developing and offering their own enterprise-grade e-mail ecosystem via Gmail and Google Apps, maybe they are wanting to kill off or hinder the development of Thunderbird to 'encourage' those wanting to ditch the Outlook/Exchange juggernaut to move to Google," wrote a user identified as Vaughn Reid.

Reid was responding to Baker's disclosure Wednesday that Mozilla Corp., the commercial development arm of the nonprofit Mozilla Foundation, would shift Thunderbird to another entity and focus exclusively on Firefox, the open-source browser.

A few others took up Reid's claims. "Maybe my tinfoil hat is just wrapped a bit too tight today, but what's the odds that Google pressured the MoCo [Mozilla Corp.] folks to simply cut ties on the stand-alone Thunderbird mail client, since they (Google) are trying to move the average home user to Web-based Gmail, anyway?" asked Marc Rust in another comment.

Baker said that simply wasn't true. "I want to be as clear as possible about the complete lack of Google involvement," Baker said in a rebuttal posted last night. "Google and Google products had nothing to do with this decision, we did not ask Google about Thunderbird product planning, Thunderbird revenue, Gmail product planning or Gmail revenue, and we did not ask Google's opinion.

"Google's plans for Gmail -- whatever they are, and they are unknown to me -- are irrelevant to this decision," she said.

As Reid noted, Google is the major source of Mozilla Corp.'s revenues. A partnership that sets Google's search site as both the default home page and search engine in Firefox pays Mozilla Corp. millions annually. The last time the numbers were made public, Google paid Mozilla approximately $52 million in 2005. (Mozilla has not released its 2006 tax return.)

The move to clip Thunderbird -- Mozilla's considering three options, including releasing the software to its own community, ala SeaMonkey -- has been met with both dismay and understanding by other users commenting on Baker's various blogs. The two lead Thunderbird developers, Scott MacGregor and David Bienvenu, have put their support behind the idea of a small, independent company that would continue work on the e-mailer with lots of help from the unpaid developers who now contribute to the coding.

In an e-mail today, MacGregor said that he and Bienvenu wanted to keep Thunderbird alive. "We and our community are not going away." He also promised that whatever organization is formed to support the software, work on the next update, Version 3.0, will continue. "There will be a next major version of Thunderbird," he said.

No timetable has been set to decide how Thunderbird will be separated from Mozilla Corp., MacGregor added."

Thanks to Computer World for publishing this article.

Tuesday, July 24, 2007

Chennai Marina Beach

Marina Beach is among the longest beaches in the world and it comprises of sun, sand and surf. Counted among one of the longest beaches in Asia, it is stretched across a 12-km long area. This beach was given a makeover by Governor Mountstuart Elphinstone Grant Duff in the early 1880's, and is Chennai's major tourist attraction today.

Adjacent to the Bay of Bengal, Chennai has one of the loveliest beaches in India. A walk along the Marina, whether in the morning or evening, re-energizes one. The old buildings dotting the other side of Kamarajar Salai, a main road along the Marina, bring back memories of good old British Raj. The Senate House of the University of Madras and the old buildings now housing government offices, such as Ezhilagam and the Director General of Police office. They wear a mysterious look in the morning when the Sun rises.

Marina Beach, Chennai Walk along the beach bordered with a green lawn will entice you to go on a leisurely stroll. At the intersections of this promenade stand beautiful statues of Tamil scholars, patriots, and noted personalities. The Statue of Labour is a beautiful sculpture depicting the efforts of a team of laborers who are at strenuous, manual work.

The beach begins near Fort St. George in the north to Besant Nagar in the south, a distance of about 12km.

A famous characteristic of the beach is the set of stone statues that adorn the roadside area of the beach. Most statues are of Indian/local legends like Mahatma Gandhi, Kannagi, Thiruvalluvar, while others have symbolic significance like the Statue of Labour. Also memorials for M. G. Ramachandran and C. N. Annadurai, former Chief ministers of Tamil Nadu and Periyar are present on the beach. Recently, a statue of actor Sivaji Ganesan was installed.

The Marina used to be famed for its pristine beauty, jolly ambiance, and rich ecosystems. However, since the middle of the 20th century, the beach and water has become polluted. A proliferation of plastic bags, human waste and other pollutants have rendered many parts of the beach unusable. In recent years, many voluntary organizations have taken up the task of cleaning up the Marina and protecting the ecosystem. Particular efforts include protection of Olive Ridley turtle nests along the Neelangarai section of the beach. Despite these problems however, a visit to the Marina is a sine qua non for any tourist coming to Chennai.

Activities At Marina Beach

Located on the eastern side of Chennai, adjoining the Bay of Bengal is the mesmerizing Marina beach. Watching the sun set and rise from the beach is a fascinating experience. Bathing and swimming can be dangerous here, as the undercurrent is very strong. But still people come for swimming here. The beach also offers a lot of water sports opportunities, like, para-sailing, gliding, windsurfing, cruising, etc.

In the evenings, the beach turns into a fair ground with various kinds of entertainment and food stalls lining the beach. One can even shop around the beach, buying shell and glass baubles to kites and fruit juices. The Marina, is also the venue for important state functions, accommodate a good number of visitors. There are also facilities of pony rides at the beach site, which attract the children's interest the most.

Aquarium

Aquarium is located close to the Marina beach, which has some of the most exotic collection of tropical sea fishes and fresh water fishes. The aquarium offers a chance to have a closer look at the aquatic life. The Ice House, which was used to store ice brought from Great Lakes in North America, is south to the Aquarium.

Attractions Around Marina Beach

Beautiful buildings in Chennai such as the University of Madras, Senate-House, Chepauk Palace, Presidency College, P.W.D office and Ice House are located on the beach drive. At the other end of the beach is the new lighthouse. In between, sentinels on the promenade, are several statues of Tamil scholars and two splendid bits of sculpture- the Victory of Labour and the Mahatma Gandhi.


Although many locals claim the Marina to be the world's longest (or second longest) beach, there exist in fact several longer beaches, including Cox's Bazar in Bangladesh, Ninety Mile Beach in Australia and Ninety Mile Beach in New Zealand and Praia do Cassino in Brazil, which is 240km long. However, unlike the other beaches, it is an urban beach similar to the Copacabana beach in Rio de Janeiro.

Being Good Manager in IT

It's easy for IT managers to get bogged down in day-to-day activities and lose sight of the bigger picture of leading their staff. Whether you're a seasoned pro, or new to the game, the following tips will help you effectively manage your team.

1. Spend time (and money) developing your people
IT is a constantly changing field, and many IT workers love to learn about new and improving technologies. For many, learning is not just enjoyable, but is necessary to do the best job possible. IT Managers should budget for training and development and encourage staff to participate in events whenever possible.

If your budget is tight, explore free regional presentations and workshops, set up in-house training, and get creative with your development dollars. Don't forget about cross-training exercises as well. Even in a large IT group, there are jobs that only one person does routinely. Make sure others know what to do if that person is suddenly gone for an extended period.

2. Get to know what your staff really does
Although you don't need to master every task your staff handles (see the next item), you should understand your staff's normal work routine. Familiarize yourself with each person's responsibilities, if you aren't already. Ask team members to explain and demonstrate important tasks -- such as data backups.

For example, "An existing IT employee transferred to my sub-group. Immediately after the transfer, his manager began working with the individual to learn his job role. One month after the transfer, during a key production period, the employee suffered simultaneous tragedies -- a parent died and the employee developed pneumonia. With no direct backup, manager jump in and accomplished the job with the knowledge manager had learned during the first month and a great deal of help from others.

As a result, Manager gained a great deal of respect from the employee, who had previously suffered negative experiences with management."

Understanding what your staff does not only increases their level of respect for you, but it also makes you more credible as a manager when faced with difficult situations or decisions.

3. Don't do it for them
If you move from an "in the trenches" IT worker to a management role, avoid the tendency to take the reins too quickly. Your knowledge and skill level may exceed your employees', but you must help your staff learn and grow. There is a fine line between coaching and doing. A good manager will know the difference.

While there may be an initial training period where you are more involved in doing the day-to-day work, use appropriate delegation and training strategies to move the work into your staff's capable hands.

4. Know the business and make sure they know you
It is almost a cliché, but all IT managers must understand the business they support and use this understanding to build services and infrastructure that support business goals. You should also show your direct reports how their work affects overall business goals and ensure that business administrators understand what IT does for them. Showcase your department's activities through annual reports, regular communications, and frequent project updates.

5. Treat communication as a busy, fast-moving, two-way street
Information is not a limited commodity to hold. It should flow freely and easily between management and workers. If you sense that you are not getting important information, consider ways to increase communication. Likewise, don't hoard information, unless it is confidential. What seems irrelevant to you may be highly relevant for someone else. Reward information sharing between your direct reports.

6. Encourage everyone to work as a team
The whole really is greater than the sum of its parts. Encouraging collaboration and teamwork helps remove silo-like isolation that often occurs in technical organisations. Cross-functional teams are extremely important because small changes in one area can have significant ripple impact across other IT units. Reward efforts that allow for collaboration and develop an environment where workers can feel comfortable asking for and giving assistance to one another. Frustrations often result when one team member knows something that others spend hours working to resolve. Teamwork will fuel your communication vehicle.

7. Provide feedback regularly and let employees know what you want
Some IT jobs make people feel like islands. They work on a project or assignment independently and may not regularly interact with their manager or co-workers. Be sure your staff knows what they are doing well and what needs improvement. These can be casual conversations, formal performance reviews, or public praise events.

If someone isn't living up to expectations, be sure that person knows what those expectations are. Staff members may not realise that the assignment you gave them last week was a priority item for a high profile project. Be clear and direct when making assignments. When employees finish a job, make sure they know how pleased you are with the work they did. Geeks need love too!

8. Hire well
If you have never hired before, ask for assistance and do your homework. Hiring poorly can be more costly than not hiring at all. Technical skills are only a small piece of the puzzle. You should know if a person will integrate well with the team. It may also help to get your team involved in the hiring process, when it's appropriate and allowed. Your staff can help you determine whether the applicant relates well to others and has the appropriate soft skills.

9. Understand best IT practices but don't just make them buzz words
Learn and understand the best practices that apply to your environment and measure yourself and your department against them. Explore ITIL and determine whether you should implement at least portions of it in your department. Ensure your disaster recovery plan is up to date and ready for action. Perform regular security assessments. Proceed with caution, however; throwing around buzzwords won't gain you any clout. You must truly understand the ideas and their application to your environment. Then, plan and implement appropriate related changes.

10. Be a good project manager
Did your last project suffer scope creep? Most projects, particularly IT ones, don't fail because the project itself was bad. Most failures are a result of weak project management. If you haven't had any formal project management training, find and invest in a good program.

Don't fall into the trap of thinking that simply by having regular meetings, you are managing the project. And since IT usually has more projects than people, be sure to train lead workers with basic project management skills so you can delegate specific aspects of the project or even entire projects to their control.

Monday, June 25, 2007

What's So Special With "Britney Spears"?

The data below shows a quite interesting fact of the misspellings detected by Google's spelling correction system for the query "britney spears", and the count of how many different users spelled her name that way. Each of these variations was entered by at least two different unique users within a three month period, and was corrected to "britney spears" by Google's spelling correction system (data for the correctly spelled query is shown for comparison).







488941 britney spears
40134 brittany spears
36315 brittney spears
24342 britany spears
7331 britny spears
6633 briteny spears
2696 britteny spears
1807 briney spears
1635 brittny spears
1479 brintey spears
1479 britanny spears
1338 britiny spears
1211 britnet spears
1096 britiney spears
991 britaney spears
991 britnay spears
811 brithney spears
811 brtiney spears
664 birtney spears
664 brintney spears
664 briteney spears
601 bitney spears
601 brinty spears
544 brittaney spears
544 brittnay spears
364 britey spears
364 brittiny spears
329 brtney spears
269 bretney spears
269 britneys spears
244 britne spears
244 brytney spears
220 breatney spears
220 britiany spears
199 britnney spears
163 britnry spears
147 breatny spears
147 brittiney spears
147 britty spears
147 brotney spears
147 brutney spears
133 britteney spears
133 briyney spears
121 bittany spears
121 bridney spears
121 britainy spears
121 britmey spears
109 brietney spears
109 brithny spears
109 britni spears
109 brittant spears
98 bittney spears
98 brithey spears
98 brittiany spears
98 btitney spears
89 brietny spears
89 brinety spears
89 brintny spears
89 britnie spears
89 brittey spears
89 brittnet spears
89 brity spears
89 ritney spears
80 bretny spears
80 britnany spears
73 brinteny spears
73 brittainy spears
73 pritney spears
66 brintany spears
66 britnery spears
59 briitney spears
59 britinay spears
54 britneay spears
54 britner spears
54 britney's spears
54 britnye spears
54 britt spears
54 brttany spears
48 bitany spears
48 briny spears
48 brirney spears
48 britant spears
48 britnety spears
48 brittanny spears
48 brttney spears
44 birttany spears
44 brittani spears
44 brityney spears
44 brtitney spears
39 brienty spears
39 brritney spears
36 bbritney spears
36 briitany spears
36 britanney spears
36 briterny spears
36 britneey spears
36 britnei spears
36 britniy spears
32 britbey spears
32 britneu spears
29 britent spears
29 brittnany spears
29 britttany spears
29 btiney spears
26 birttney spears
26 breitney spears
26 brinity spears
26 britenay spears
26 britneyt spears
26 brittan spears
26 brittne spears
26 btittany spears
24 beitney spears
24 birteny spears
24 brightney spears
24 brintiny spears
24 britanty spears
24 britenny spears
24 britini spears
24 britnwy spears
24 brittni spears
24 brittnie spears
21 biritney spears
21 birtany spears
21 biteny spears
21 bratney spears
21 britani spears
21 britanie spears
21 briteany spears
21 brittay spears
21 brittinay spears
21 brtany spears
21 brtiany spears
19 birney spears
19 brirtney spears
19 britnaey spears
19 britnee spears
19 britony spears
19 brittanty spears
19 britttney spears
17 birtny spears
17 brieny spears
17 brintty spears
17 brithy spears
17 brittanie spears
15 brinney spears
15 briten spears
15 briterney spears
15 britheny spears
15 britneny spears
15 brittamy spears
15 brittmey spears
15 brytnei spears
15 btirney spears
15 rittney spears
14 brinet spears
14 britneyy spears
14 britten spears
12 beritney spears
12 bretiny spears
12 briatny spears
12 brieney spears
12 brinany spears
12 britaany spears
12 britan spears
12 britine spears
12 britnea spears
12 britnes spears
12 britnez spears
12 britnny spears
12 brittenay spears
12 brittneys spears
12 brittony spears
12 brteny spears
12 btitany spears
12 btittney spears
12 btriney spears
12 btritney spears
12 rittany spears
11 braitney spears
11 brettney spears
11 britamy spears
11 britery spears
11 britnary spears
11 brittent spears
11 bruttney spears
11 pritny spears
10 bitaney spears
10 brenty spears
10 bristney spears
10 britay spears
10 britinny spears
10 brittaany spears
10 brittanys spears
10 brittini spears
10 brittniy spears
10 brtieny spears
10 brutany spears
9 bitteny spears
9 brinttany spears


9 britanay spears
9 britinany spears
9 britn spears
9 britnew spears
9 britneyn spears
9 britrney spears
9 brtiny spears
9 brtittney spears
9 brtny spears
9 brytny spears
9 rbitney spears
8 birtiny spears
8 bithney spears
8 brattany spears
8 breitny spears
8 breteny spears
8 brightny spears
8 brintay spears
8 brinttey spears
8 briotney spears
8 britanys spears
8 britley spears
8 britneyb spears
8 britnrey spears
8 britnty spears
8 brittner spears
8 brottany spears
7 baritney spears
7 birntey spears
7 biteney spears
7 bitiny spears
7 breateny spears
7 brianty spears
7 brintye spears
7 britianny spears
7 britly spears
7 britnej spears
7 britneyu spears
7 britniey spears
7 britnnay spears
7 brittian spears
7 briyny spears
7 brrittany spears
7 brttiney spears
7 btiteny spears
7 btrittany spears
6 beritny spears
6 bhritney spears
6 birthney spears
6 breathney spears
6 breaty spears
6 bretany spears
6 briatany spears
6 brint spears
6 britenney spears
6 britian spears
6 britinty spears
6 brititney spears
6 britnsy spears
6 britrey spears
6 britsny spears
6 brittine spears
6 brittnry spears
6 brittsny spears
6 brtanny spears
6 brtittany spears
6 bruttany spears
6 brytany spears
6 btitny spears
6 pretny spears
6 ritany spears
5 bbritany spears
5 bbrittney spears
5 biitney spears
5 bitny spears
5 breathny spears
5 breney spears
5 brethney spears
5 brettny spears
5 bridny spears
5 brigney spears
5 briittney spears
5 brinaty spears
5 brinay spears
5 brinetty spears
5 brinitty spears
5 brinny spears
5 brintery spears
5 britary spears
5 britbney spears
5 brithany spears
5 britieny spears
5 britiey spears
5 britnt spears
5 britnys spears
5 britrny spears
5 brittenny spears
5 brittnee spears
5 brittnt spears
5 brney spears
5 broitney spears
5 brotny spears
5 bruteny spears
5 btiyney spears
5 btrittney spears
5 gritney spears
5 spritney spears
4 bittny spears
4 bnritney spears
4 brandy spears
4 brbritney spears
4 breatiny spears
4 breetney spears
4 bretiney spears
4 brfitney spears
4 briattany spears
4 brieteny spears
4 briety spears
4 briitny spears
4 briittany spears
4 brinie spears
4 brinteney spears
4 brintne spears
4 britaby spears
4 britaey spears
4 britainey spears
4 britinie spears
4 britinney spears
4 britmney spears
4 britnear spears
4 britnel spears
4 britneuy spears
4 britnewy spears
4 britnmey spears
4 brittaby spears
4 brittery spears
4 britthey spears
4 brittnaey spears
4 brittnat spears
4 brittneny spears
4 brittnye spears
4 brittteny spears
4 briutney spears
4 briyeny spears
4 brnity spears
4 brtteny spears
4 brttiany spears
4 bryney spears
4 brythney spears
4 brytne spears
4 brytni spears
4 brytnie spears
4 bvritney spears
4 dritney spears
4 priteny spears
3 beittany spears
3 bichney spears
3 biritny spears
3 birnety spears
3 birny spears
3 birteney spears
3 birthny spears
3 birtiney spears
3 birtteny spears
3 birttny spears
3 bitanny spears
3 bitheay spears
3 bithey spears
3 bitrney spears
3 breinty spears
3 brethny spears
3 bretne spears
3 bretniy spears
3 brettine spears
3 brighty spears
3 brihney spears
3 brihtney spears
3 briiney spears
3 briitnay spears
3 brineny spears
3 brinte spears
3 brintiney spears
3 brintneey spears
3 brinttney spears
3 brirany spears
3 brirtny spears
3 brisney spears
3 britainny spears
3 britaniy spears
3 britanu spears
3 britanyy spears
3 britatny spears
3 britdney spears
3 britemy spears
3 britenty spears
3 brither spears
3 brithne spears
3 brititany spears
3 brititny spears
3 britiy spears


3 britmeny spears
3 britneeey spears
3 britnehy spears
3 britnely spears
3 britnesy spears
3 britnetty spears
3 britnex spears
3 britneyxxx spears
3 britnity spears
3 britntey spears
3 britnyey spears
3 britterny spears
3 brittneey spears
3 brittnney spears
3 brittnyey spears
3 brityen spears
3 briytney spears
3 brltney spears
3 broteny spears
3 brtaney spears
3 brtiiany spears
3 brtinay spears
3 brtinney spears
3 brtitany spears
3 brtiteny spears
3 brtnet spears
3 brytiny spears
3 btney spears
3 drittney spears
3 pretney spears
3 rbritney spears
2 barittany spears
2 bbbritney spears
2 bbitney spears
2 bbritny spears
2 bbrittany spears
2 beitany spears
2 beitny spears
2 bertney spears
2 bertny spears
2 betney spears
2 betny spears
2 bhriney spears
2 biney spears
2 bintey spears
2 biretny spears
2 biritany spears
2 birittany spears
2 birittny spears
2 birnty spears
2 birtey spears
2 birtheny spears
2 birtieny spears
2 birtnay spears
2 birtnet spears
2 bitnet spears
2 bitttany spears
2 bnrittany spears
2 bntney spears
2 bpitney spears
2 brandi spears
2 brattney spears
2 breanty spears
2 breany spears
2 breittany spears
2 brently spears
2 brentney spears
2 brethany spears
2 brethine spears
2 bretnty spears
2 bretty spears
2 brianey spears
2 briatney spears
2 brickney spears
2 bridnea spears
2 brieatney spears
2 brientny spears
2 brietnet spears
2 briettny spears
2 briey spears
2 brighney spears
2 brigtney spears
2 brigtny spears
2 briiny spears
2 brindey spears
2 brindy spears
2 bringney spears
2 brininy spears
2 brinitey spears
2 brinsley spears
2 brinthey spears
2 brinthy spears
2 brintiy spears
2 brintneys spears
2 brintry spears
2 brinyey spears
2 briottany spears
2 brirrany spears
2 brirreny spears
2 brirtany spears
2 brirttany spears
2 brirttney spears
2 britain spears
2 britane spears
2 britaneny spears
2 britania spears
2 britann spears
2 britanna spears
2 britannie spears
2 britannt spears
2 britannu spears
2 britanyl spears
2 britanyt spears
2 briteeny spears
2 britenany spears
2 britenet spears
2 briteniy spears
2 britenys spears
2 britianey spears
2 britin spears
2 britinary spears
2 britmy spears
2 britnaney spears
2 britnat spears
2 britnbey spears
2 britndy spears
2 britneh spears
2 britneney spears
2 britney6 spears
2 britneye spears
2 britneyh spears
2 britneym spears
2 britneyyy spears
2 britnhey spears
2 britnjey spears
2 britnne spears
2 britnu spears
2 britoney spears
2 britrany spears
2 britreny spears
2 britry spears
2 britsany spears
2 brittanay spears
2 brittang spears
2 brittans spears
2 brittanyh spears
2 brittanyn spears
2 brittany's spears
2 brittanyt spears
2 brittanyy spears
2 brittary spears
2 brittenie spears
2 brittenty spears
2 brittinney spears
2 brittley spears
2 brittn spears
2 brittnery spears
2 brittnety spears
2 brittney's spears
2 brittneyu spears
2 brittnsey spears
2 britttaney spears
2 britttny spears
2 brittyney spears
2 brityne spears
2 briyany spears
2 brlttney spears
2 brotaney spears
2 brotany spears
2 brottney spears
2 brriney spears
2 brrittney spears
2 brrtney spears
2 brthney spears
2 brtianny spears
2 brtineys spears
2 brtittny spears
2 brttiny spears
2 brtttany spears
2 brydney spears
2 brynty spears
2 brythey spears
2 bryttney spears
2 btiany spears
2 btirtney spears
2 btitiney spears
2 btittny spears
2 btritany spears
2 buttney spears
2 grittney spears
2 prietny spears
2 pritany spears
2 prittany spears

Saturday, February 24, 2007

Do DRY Programming

I would like to share this informative article which explains programming in simple and effective way. This is part of an IEEE article.

Some people feel that “getting” object-oriented programming is a difficult,time-consuming process. But does it need to be that hard? And is the difficulty even specific to OO programming? Many of the cornerstones of OO programming benefit other programming paradigms as well. Even if you’re writing shell scripts or batch files, you can use these techniques to great advantage.

What’s good code?

There are many aspects to writing good code, but most of these hinge on a single underlying quality: flexibility. Flexibility means that you can change the code easily, adapt it to new and revised circumstances, and use it in contexts other than those originally intended.

Why does code need to be flexible? It’s largely because of us humans. We misunderstand communications (be they written or oral). Requirements change. We build the right thing the wrong way, or if we manage to build something the right way, it turns out to be the wrong thing by the time we’re done.

Despite our fondest wishes, we’ll never get it right the first time. Our mistakes lie in continually assuming that we can and in searching for salvation in new programming languages, better processes, or new IDEs. In-stead, we need to realize that software must be soft: it has to be easy to change because it will change despite our misguided efforts otherwise.

Capers Jones, in his book Software Assessments, Benchmarks, and Best Practices (Addi-son-Wesley, 2000), showed that requirements change at a rate of about 2 percent per month(which really starts to add up after a year or two). But the problem with changes to projects is by no means limited to the common scape-goat of “requirements,” nor is it limited to the software industry.

According to a study of building construction in the UK (“Rethinking Construction,”Construction Task Force report to the Deputy Prime Minister, 1998), some 30 percent of rework isn’t due to requirements changes at all. It’s due to mistakes: plain, old human errors, such as cutting a joist 2 inches too short. Using the wrong kind of nail. Cutting the window in the wrong wall. It’s just human nature that we’ll get some things wrong,so what differentiates software quality is how well—and how quickly we can fix or change something. Flexible code can be changed easily and cheaply, regardless of whether the change is necessitated by volatile requirements or our own misunderstanding.

Most of the important lessons to be learned about object technology—how to avoid many common mistakes and keep code flexible—can be summed up in one sentence: “Keep it DRY, keep it shy, and tell the other guy.” Let’s take a look at what that means and how you can apply these lessons to all good code, not just OO code.

Keep it DRY

Our DRY (Don’t Repeat Yourself)principle deals with knowledge representation in programs (see The Pragmatic Programmer, Addison-Wesley,2000). It’s a powerful idea that states:

Every piece of knowledge must have a single, unambiguous, and authoritative representation within a system.

In other words, you should represent any idea, any scrap of knowledge,in a system in just one place. You might end up with physical copies of code for various reasons (middle ware and data-base products could impose this restriction, for instance). But only one of these physical representations is the authoritative source. Ideally, you’d be able to automatically generate or pro-duce the non authoritative sources from the single authoritative source.

Why go to all this trouble? So that when a code change is required, you only have to make it in one place. Any-thing else is a recipe for disaster, introducing inconsistencies and potentially hard-to-find bugs.

DRY applies to code but also to every other part of the system and to developers’ daily lives—build processes,documentation, database schema, code reviews, and so on.

Keep it shy

The best code is very shy. Like a four-year old hiding behind a mother’s skirt, code shouldn’t reveal too much of itself and shouldn’t be too nosy into others affairs.

But you might find that your shy code grows up too fast, shedding its demure shyness in favor of wild promiscuity. When code isn’t shy, you’ll get unwanted coupling; these axes of ill-advised coup-ling include static, dynamic, domain, and temporal.

Static coupling exists when a piece of code requires another piece of code to compile. This isn’t a bad or evil thing far from it. Even the canonical“Hello World” program requires the standard I/O library and such. But you have to be aware of accidentally dragging in more than you need.

Inheritance is infamous for dragging in a lot of excess baggage. Often it’s more efficient, more flexible, and safer to use delegation instead of inheritance(which should be reserved for true is a relationships, not has-a or uses-a). Shy people don’t talk to strangers, and shy code should be equally wary of other code that wants to come along for the ride.

Dynamic coupling occurs when apiece of code uses another piece of code at runtime. This can get seriously out offhand using a style we call the “train wreck” .

To get the state for an order, this code has to have detailed knowledge of an address, a customer, and an order—and rely on these three components’ implied hierarchal structure. If any-thing in that mix changes, we’re introuble; this code will break. Shy code only talks to code it deals with directlyand doesn’t daisy-chain through tostrangers as in the previous example.

Domain coupling takes place whenbusiness rules and policies become em-bedded in code. Again, that’s not neces-sarily a bad thing unless mirroring real-world changes becomes difficult. If thereal world is particularly volatile, putthe business rules in metadata, either ina database or property file. Keep thecode shy by not being too nosy aboutthe details: the code can act as an en-gine for the business rules. The rulescan change at whim, and the code willmerrily process them without anychange to the code itself. Small inter-preters work well for this (reallysmall—like a case statement, not a largeyacc/lex endeavor).

Temporal coupling appears whenyou have a dependency on time—eitheron things that must occur in a certainorder, at a certain time, by a certaintime, or worse, at the same time. Al-ways plan on writing concurrent codebecause the odds are good that it willend up that way anyhow, and you’ll geta better design as a fringe benefit. Yourcode shouldn’t care about what elsemight be happening at the same time; itshould just work regardless.

Code shouldn’t be nosy. I used tohave a neighbor who would peerhawklike over her kitchen sink out thefront window and keep track of everyneighbor’s comings and goings. Her lifehung at the mercy of every whim of theentire neighborhood; it wasn’t ahealthy position for her to be in, and itisn’t a healthy position for your codeeither. A big part of not being nosy liesin our next item.

Tell the other guy

One of our favorite OO principles is“Tell, Don’t Ask” (see IEEE Software,Jan./Feb. 2003, p. 10).

To recap briefly: as an industry, we’vecome to think of software in terms offunction calls. Even in OO systems, we view an object’s behavioral interface as aset of function calls. That’s really not ahelpful metaphor. Instead of calling soft-ware a function, view it as sending amessage.

“Sending a message” to an objectconveys an air of apathy. I’ve just sentyou an order (or a request), and I don’treally care who or what you are or (es-pecially) how you do it. Just get itdone. This service-oriented, operation-centric viewpoint is critical to goodcode. Apathy toward the details, in thiscase, is just the right approach. You tellan object what to do; you don’t ask itfor data (too many details) and attemptto do the work yourself.

By “telling the other guy” in thisway, you ensure an imperative codingstyle that keeps your code from be-coming too nosy and from getting in-volved in details that it shouldn’t careabout. Such involvement would makeyour code much more vulnerable tochange. To make this work in a sys-tem, you’ll need to preserve the com-monsense semantics of commands(that is, every object that has a printmethod should behave similarly whencalled).

This isn’t an OO-specific tech-nique either. Even shell scripts canbenefit from this approach. In fact, acommon Linux command employspolymorphism at the command line.The command fsck (which is not acartoon swear word—really) per-forms a file system check. When youinvoke fsck, it determines the file sys-tem type and then runs a delegate,such as fsck.ext2, fsck.msdos,or fsck.vfat, that performs the ac-tual tests for that kind of file system.But you, as the requester, don’t care.You tell the system to check the diskvia an fsck command and it just doesit. It’s just the right amount of apathy.

So remember to “keep it DRY, keepit shy, and tell the other guy.”

Friday, February 16, 2007

India's Growth Depends On 'US'

I came across this very thoughtful speech from the President of India Dr. A. P. J. Abdul Kalam......... It's very long but worth spending 15 mins.


The President of India DR. A. P. J. Abdul Kalam's Speech in Hyderabad.

Why is the media here so negative? Why are we in India so embarrassed to recognize our own strengths, our achievements? We are such a great nation. We have so many amazing success stories but we refuse to acknowledge them. Why? We are the first in milk production. We are number one in Remote sensing satellites. We are the second largest producer of wheat. We are the second largest producer of rice. Look at Dr. Sudarshan, he has transferred the tribal village into a self-sustaining, self-driving unit. There are millions of such achievements but our media is only obsessed in the bad news and failures and disasters. I was in Tel Aviv once and I was reading the Israeli newspaper. It was the day after a lot of attacks and bombardments and deaths had taken place. The Hamas had struck. But the front page of the newspaper had the picture of a Jewish gentleman who in five years had transformed his desert into an orchid and a granary. It was this inspiring picture that everyone woke up to. The gory details of killings, bombardments, deaths, were inside in the newspaper, buried among other news.

In India we only read about death, sickness, terrorism, crime. Why are we so NEGATIVE? Another question: Why are we, as a nation so obsessed with foreign things? We want foreign T. Vs, we want foreign shirts. We want foreign technology.

Why this obsession with everything imported. Do we not realize that self-respect comes with self-reliance? I was in Hyderabad giving this lecture, when a 14 year old girl asked me for my autograph. I asked her what her goal in life is. She replied: I want to live in a developed India. For her, you and I will have to build this developed India. You must proclaim. India is not an under-developed nation; it is a highly developed nation. Do you have 10 minutes? Allow me to come back with a vengeance.

Got 10 minutes for your country? If yes, then read; otherwise, choice is yours.

YOU say that our government is inefficient.
YOU say that our laws are too old.
YOU say that the municipality does not pick up the garbage.
YOU say that the phones don't work, the railways are a joke,
The airline is the worst in the world, mails never reach their destination.
YOU say that our country has been fed to the dogs and is the absolute pits.

YOU say, say and say. What do YOU do about it? Take a person on his way to Singapore. Give him a name - YOURS. Give him a face - YOURS. YOU walk out of the airport and you are at your International best. In Singapore you don't throw cigarette butts on the roads or eat in the stores. YOU are as proud of their Underground links as they are. You pay $5 (approx. Rs. 60) to drive through Orchard Road (equivalent of Mahim Causeway or Pedder Road) between 5 PM and 8 PM. YOU come back to the parking lot to punch your parking ticket if you have over stayed in a restaurant or a shopping mall irrespective of your status identity... In Singapore you don't say anything, DO YOU? YOU wouldn't dare to eat in public during Ramadan, in Dubai. YOU would not dare to go out without your head covered in Jeddah. YOU would not dare to buy an employee of the telephone exchange in London at 10 pounds (Rs.650) a month to, 'see to it that my STD and ISD calls are billed to someone else.'YOU would not dare to speed beyond 55 mph (88 km/h) in Washington and then tell the traffic cop, 'Jaanta hai main kaun hoon (Do you know who I am?). I am so and so's son. Take your two bucks and get lost.' YOU wouldn't chuck an empty coconut shell anywhere other than the garbage pail on the beaches in Australia and New Zealand. Why don't YOU spit Paan on the streets of Tokyo? Why don't YOU use examination jockeys or buy fake certificates in Boston??? We are still talking of the same YOU. YOU who can respect and conform to a foreign system in other countries but cannot in your own. You who will throw papers and cigarettes on the road the moment you touch Indian ground. If you can be an involved and appreciative citizen in an alien country, why cannot you be the same here in India?

Once in an interview, the famous Ex-municipal commissioner of Bombay, Mr.Tinaikar, had a point to make. 'Rich people's dogs are walked on the streets to leave their affluent droppings all over the place,' he said. 'And then the same people turn around to criticize and blame the authorities for inefficiency and dirty pavements. What do they expect the officers to do? Go down with a broom every time their dog feels the pressure in his bowels? In America every dog owner has to clean up after his pet has done the job. Same in Japan. Will l the Indian citizen do that here?' He's right. We go to the polls to choose a government and after that forfeit all responsibility. We sit back wanting to be pampered and expect the government to do everything for us whilst our contribution is totally negative. We expect the government to clean up but we are not going to stop chucking garbage all over the place nor are we going to stop to pick a up a stray piece of paper and throw it in the bin. We expect the railways to provide clean bathrooms but we are not going to learn the proper use of bathrooms. We want Indian Airlines and Air India to provide the best of food and toiletries but we are not going to stop pilfering at the least opportunity. This applies even to the staff who is known not to pass on the service to the public. When it comes to burning social issues like those related to women, dowry, girl child! and others, we make loud drawing room protestations and continue to do the reverse at home. Our excuse? 'It's the whole system which has to change, how will it matter if I alone forego my sons' rights to a dowry.' So who's going to change the system? What does a system consist of ? Very conveniently for us it consists of our neighbors, other households, other cities, other communities and the government. But definitely not me and YOU. When it comes to us actually making a positive contribution to the system we lock ourselves along with our families into a safe cocoon and look into the distance at countries far away and wait for a Mr.Clean to come along & work miracles for us with a majestic sweep of his hand or we leave the country and run away. Like lazy cowards hounded by our fears we run to America to bask in their glory and praise their system. When New York becomes insecure we run to England. When England experiences unemployment, we take the next flight out to the Gulf. When the Gulf is war struck, we demand to be rescued and brought home by the Indian government. Everybody is out to abuse and rape the country. Nobody thinks of feeding the system. Our conscience is mortgaged to money.

Dear Indians, The article is highly thought inductive, calls for a great deal of introspection and pricks one's conscience too.... I am echoing J.F. Kennedy's words to his fellow Americans to relate to Indians.....

'ASK WHAT WE CAN DO FOR INDIA AND DO WHAT HAS TO BE DONE TO MAKE INDIA WHAT AMERICA AND OTHER WESTERN COUNTRIES ARE TODAY'

Lets do what India needs from us.

Thank you,

Dr. Abdul Kalam
(PRESIDENT OF INDIA)

Metcalfe's law


While browsing on net, I found out law that particular has some osrt of usage in our day to day activities and applications or services one provide.

Here is the description of the law. Interpret it and try to think in terms of your view, then you will understand the usage.

Metcalfe's law states that the value of a telecommunications network is proportional to the square of the number of users of the system (n2). First formulated by Robert Metcalfe in regard to Ethernet, Metcalfe's law explains many of the network effects of communication technologies and networks such as the Internet and World Wide Web.

The law has often been illustrated using the example of fax machines: A single fax machine is useless, but the value of every fax machine increases with the total number of fax machines in the network, because the total number of people with whom each user may send and receive documents increases.


Revisions

There have been subsequent revisions, however, to the estimated value added; for example, that Metcalfe's law may exaggerate that benefit. Since a user cannot connect to itself, the reasoning goes, the actual calculation is the number of diagonals and sides in an n-gon.

n(n-1)
------
2

Andrew Odlyzko and Benjamin Tilly published a preliminary paper which concluded Metcalfe's law significantly overestimates the value of adding connections. The rule of thumb becomes: "the value of a network with n members is not n squared, but rather n times the logarithm of n." Their primary justification for this is the idea that not all potential connections in a network are equally valuable. For example, most people call their families a great deal more often than they call strangers in other countries, and so do not derive the full value n from the phone service. In the July 2006 IEEE Spectrum, Bob Briscoe, Odlyzko and Tilly state more succinctly: "Metcalfe's Law is Wrong". Robert Metcalfe responded to the IEEE article, defending his namesake law, on a partner's blog.

In contrast, Reed's law asserts that Metcalfe's law understates the value of adding connections. Not only is a member connected to the entire network as a whole, but also to many significant subsets of the whole. These subsets add value independent of either the individual or the network as a whole. Including subsets into the calculation of the value of the network increases the value faster than just including individual nodes.

Applications of Metcalfe's law

Metcalfe's Law can be applied to more than just telecommunications devices. Metcalfe's Law can be applied to almost any computer systems that exchange data. Examples of devices include:

* Telephones
* FAXs
* Operating systems
* Applications
* Social networking websites

Metcalfe's Law frequently predicts whether a single vendor or interface standard will tend to dominate a marketplace. This has implications for whether an innovative solution can enter a marketplace that requires different interfaces.

The same law can be applied to other technological systems, such as personal genome sequencing. As more human genomes are sequenced and tied to personal health information in an interconnected system, the value of the information that a personal genome can contribute to personal health grows.

Thanks to Wikipedia for providing this information.