Tuesday, February 19, 2008

[itsdifferent] Laws of Computer Programming

Laws of Computer Programming

I. Any given program, when running, is obsolete.

II. Any given program costs more and takes longer.

III. If a program is useful, it will have to be changed.

IV. If a program is useless, it will have to be documented.

V. Any program will expand to fill available memory.

VI. The value of a program is proportional to the weight of its output.

VII. Program complexity grows until it exceeds the capabilities of the programmer who must maintain it.

VIII. Any non-trivial program contains at least one bug.

IX. Undetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited.

X. Adding manpower to a late software project makes it later.

Lubarsky's Law of Cybernetic Entomology: There's always one more bug.

Shaw's Principle: Build a system that even a fool can use, and only a fool will want to use it.

Woltman's Law: Never program and drink beer at the same time.

Gallois' Revelation: If you put tomfoolery into a computer, nothing comes out but tomfoolery. But this tomfoolery, having passed through a very expensive machine, is somehow enobled, and no one dares to criticize it.

__._,_.___
Note: This Group is not a Job Searching Group, so please co-operate and dont transfer any kind of job related material across this Group.AnyOne doing so can be banned from the Group
Thanx , Group Co-Ordinators
Recent Activity
Visit Your Group
Ads on Yahoo!

Learn more now.

Reach customers

searching for you.

Y! Messenger

Group get-together

Host a free online

conference on IM.

Featured Y! Groups

and category pages.

There is something

for everyone.

.

__,_._,___

[itsdifferent] Stroustrup's Interview Leaked...

Source: http://members.safe-t.net/jwalker/programming/interview.html

Stroustrup's Interview Leaked...

On the 1st of January, 1998, Bjarne Stroustrup gave an interview to the IEEE's 'Computer' magazine.

Naturally, the editors thought he would be giving a retrospective view of seven years of object-oriented design, using the language he created.

By the end of the interview, the interviewer got more than he had bargained for and, subsequently, the editor decided to suppress its contents, 'for the good of the industry' but, as with many of these things, there was a leak.

Here is a complete transcript of what was was said,unedited, and unrehearsed, so it isn't as neat as planned interviews.

You will find it interesting...


Interviewer: Well, it's been a few years since you changed the world of software design, how does it feel, looking back?

Stroustrup: Actually, I was thinking about those days, just before you arrived. Do you remember? Everyone was writing 'C' and, the trouble was, they were pretty damn good at it. Universities got pretty good at teaching it, too. They were turning out competent - I stress the word 'competent' - graduates at a phenomenal rate. That's what caused the problem.

Interviewer: problem?

Stroustrup: Yes, problem. Remember when everyone wrote Cobol?

Interviewer: Of course, I did too

Stroustrup: Well, in the beginning, these guys were like demi-gods. Their salaries were high, and they were treated like royalty.

Interviewer: Those were the days, eh?

Stroustrup: Right. So what happened? IBM got sick of it, and invested millions in training programmers, till they were a dime a dozen.

Interviewer: That's why I got out. Salaries dropped within a year, to the point where being a journalist actually paid better.

Stroustrup: Exactly. Well, the same happened with 'C' programmers.

Interviewer: I see, but what's the point?

Stroustrup: Well, one day, when I was sitting in my office, I thought of this little scheme, which would redress the balance a little. I thought 'I wonder what would happen, if there were a language so complicated, so difficult to learn, that nobody would ever be able to swamp the market with programmers? Actually, I got some of the ideas from X10, you know, X windows. That was such a bitch of a graphics system, that it only just ran on those Sun 3/60 things. They had all the ingredients for what I wanted. A really ridiculously complex syntax, obscure functions, and pseudo-OO structure. Even now, nobody writes raw X-windows code. Motif is the only way to go if you want to retain your sanity.

[NJW Comment: That explains everything. Most of my thesis work was in raw X-windows. :)]

Interviewer: You're kidding...?

Stroustrup: Not a bit of it. In fact, there was another problem. Unix was written in 'C', which meant that any 'C' programmer could very easily become a systems programmer. Remember what a mainframe systems programmer used to earn?

Interviewer: You bet I do, that's what I used to do.

Stroustrup: OK, so this new language had to divorce itself from Unix, by hiding all the system calls that bound the two together so nicely. This would enable guys who only knew about DOS to earn a decent living too.

Interviewer: I don't believe you said that...

Stroustrup: Well, it's been long enough, now, and I believe most people have figured out for themselves that C++ is a waste of time but, I must say, it's taken them a lot longer than I thought it would.

Interviewer: So how exactly did you do it?

Stroustrup: It was only supposed to be a joke, I never thought people would take the book seriously. Anyone with half a brain can see that object-oriented programming is counter-intuitive, illogical and inefficient.

Interviewer: What?

Stroustrup: And as for 're-useable code' - when did you ever hear of a company re-using its code?

Interviewer: Well, never, actually, but...

Stroustrup: There you are then. Mind you, a few tried, in the early days. There was this Oregon company - Mentor Graphics, I think they were called - really caught a cold trying to rewrite everything in C++ in about '90 or '91. I felt sorry for them really, but I thought people would learn from their mistakes.

Interviewer: Obviously, they didn't?

Stroustrup: Not in the slightest. Trouble is, most companies hush-up all their major blunders, and explaining a $30 million loss to the shareholders would have been difficult. Give them their due, though, they made it work in the end.

Interviewer: They did? Well, there you are then, it proves O-O works.

Stroustrup: Well, almost. The executable was so huge, it took five minutes to load, on an HP workstation, with 128MB of RAM. Then it ran like treacle. Actually, I thought this would be a major stumbling-block, and I'd get found out within a week, but nobody cared. Sun and HP were only too glad to sell enormously powerful boxes, with huge resources just to run trivial programs. You know, when we had our first C++ compiler, at AT&T, I compiled 'Hello World', and couldn't believe the size of the executable. 2.1MB

Interviewer: What? Well, compilers have come a long way, since then.

Stroustrup: They have? Try it on the latest version of g++ - you won't get much change out of half a megabyte. Also, there are several quite recent examples for you, from all over the world. British Telecom had a major disaster on their hands but, luckily, managed to scrap the whole thing and start again. They were luckier than Australian Telecom. Now I hear that Siemens is building a dinosaur, and getting more and more worried as the size of the hardware gets bigger, to accommodate the executables. Isn't multiple inheritance a joy?

Interviewer: Yes, but C++ is basically a sound language.

Stroustrup: You really believe that, don't you? Have you ever sat down and worked on a C++ project? Here's what happens: First, I've put in enough pitfalls to make sure that only the most trivial projects will work first time. Take operator overloading. At the end of the project, almost every module has it, usually, because guys feel they really should do it, as it was in their training course. The same operator then means something totally different in every module. Try pulling that lot together, when you have a hundred or so modules. And as for data hiding. God, I sometimes can't help laughing when I hear about the problems companies have making their modules talk to each other. I think the word 'synergistic' was specially invented to twist the knife in a project manager's ribs.

Interviewer: I have to say, I'm beginning to be quite appalled at all this. You say you did it to raise programmers' salaries? That's obscene.

Stroustrup: Not really. Everyone has a choice. I didn't expect the thing to get so much out of hand. Anyway, I basically succeeded. C++ is dying off now, but programmers still get high salaries - especially those poor devils who have to maintain all this crap. You do realise, it's impossible to maintain a large C++ software module if you didn't actually write it?

Interviewer: How come?

Stroustrup: You are out of touch, aren't you? Remember the typedef?

Interviewer: Yes, of course.

Stroustrup: Remember how long it took to grope through the header files only to find that 'RoofRaised' was a double precision number? Well, imagine how long it takes to find all the implicit typedefs in all the Classes in a major project.

Interviewer: So how do you reckon you've succeeded?

Stroustrup: Remember the length of the average-sized 'C' project? About 6 months. Not nearly long enough for a guy with a wife and kids to earn enough to have a decent standard of living. Take the same project, design it in C++ and what do you get? I'll tell you. One to two years. Isn't that great? All that job security, just through one mistake of judgement. And another thing. The universities haven't been teaching 'C' for such a long time, there's now a shortage of decent 'C' programmers. Especially those who know anything about Unix systems programming. How many guys would know what to do with 'malloc', when they've used 'new' all these years - and never bothered to check the return code. In fact, most C++ programmers throw away their return codes. Whatever happened to good ol' '-1'? At least you knew you had an error, without bogging the thing down in all that 'throw' 'catch' 'try' stuff.

Interviewer: But, surely, inheritance does save a lot of time?

Stroustrup: does it? Have you ever noticed the difference between a 'C' project plan, and a C++ project plan? The planning stage for a C++ project is three times as long. Precisely to make sure that everything which should be inherited is, and what shouldn't isn't. Then, they still get it wrong. Whoever heard of memory leaks in a 'C' program? Now finding them is a major industry. Most companies give up, and send the product out, knowing it leaks like a sieve, simply to avoid the expense of tracking them all down.

Interviewer: There are tools...

Stroustrup: Most of which were written in C++.

Interviewer: If we publish this, you'll probably get lynched, you do realise that?

Stroustrup: I doubt it. As I said, C++ is way past its peak now, and no company in its right mind would start a C++ project without a pilot trial. That should convince them that it's the road to disaster. If not, they deserve all they get. You know, I tried to convince Dennis Ritchie to rewrite Unix inC++.

Interviewer: Oh my God. What did he say?

Stroustrup: Well, luckily, he has a good sense of humor. I think both he and Brian figured out what I was doing, in the early days, but never let on. He said he'd help me write a C++ version of DOS, if I was interested.

Interviewer: Were you?

Stroustrup: Actually, I did write DOS in C++, I'll give you a demo when we're through. I have it running on a Sparc 20 in the computer room. Goes like a rocket on 4 CPU's, and only takes up 70 megs of disk.

Interviewer: What's it like on a PC?

Stroustrup: Now you're kidding. Haven't you ever seen Windows '95? I think of that as my biggest success. Nearly blew the game before I was ready, though.

Interviewer: You know, that idea of a Unix++ has really got me thinking. Somewhere out there, there's a guy going to try it.

Stroustrup: Not after they read this interview.

Interviewer: I'm sorry, but I don't see us being able to publish any of this.

Stroustrup: But it's the story of the century. I only want to be remembered by my fellow programmers, for what I've done for them. You know how much a C++ guy can get these days?

Interviewer: Last I heard, a really top guy is worth $70 - $80 an hour.

Stroustrup: See? And I bet he earns it. Keeping track of all the gotchas I put into C++ is no easy job. And, as I said before, every C++ programmer feels bound by some mystic promise to use every damn element of the language on every project. Actually, that really annoys me sometimes, even though it serves my original purpose. I almost like the language after all this time.

Interviewer: You mean you didn't before?

Stroustrup: Hated it. It even looks clumsy, don't you agree? But when the book royalties started to come in... well, you get the picture.

Interviewer: Just a minute. What about references? You must admit, you improved on 'C' pointers.

Stroustrup: Hmm. I've always wondered about that. Originally, I thought I had. Then, one day I was discussing this with a guy who'd written C++ from the beginning. He said he could never remember whether his variables were referenced or dereferenced, so he always used pointers. He said the little asterisk always reminded him.

Interviewer: Well, at this point, I usually say 'thank you very much' but it hardly seems adequate.

Stroustrup: Promise me you'll publish this. My conscience is getting the better of me these days.

Interviewer: I'll let you know, but I think I know what my editor will say.

Stroustrup: Who'd believe it anyway? Although, can you send me a copy of that tape?

Interviewer: I can do that.

__._,_.___
Note: This Group is not a Job Searching Group, so please co-operate and dont transfer any kind of job related material across this Group.AnyOne doing so can be banned from the Group
Thanx , Group Co-Ordinators
Recent Activity
Visit Your Group
Y! Messenger

Instant hello

Chat over IM with

group members.

New business?

Get new customers.

List your web site

in Yahoo! Search.

10 Day Club

on Yahoo! Groups

Share the benefits

of a high fiber diet.

.

__,_._,___

Sunday, February 17, 2008

[itsdifferent] Fw: [iitchanga] In Case of Emergency .....ICE

Dear All,

 

 



We all carry our mobile phones with names & numbers stored in its memory but nobody, other than ourselves, knows which of these numbers belong to our closest family or friends.


If we were to be involved in an accident or were taken ill, the people attending us would have our mobile phone but wouldn't know who to call. Yes, there are hundreds of numbers stored but which one is the contact person in case of an emergency? Hence this "ICE" (In Case of Emergency) Campaign



The concept of "ICE" is catching on quickly. It is a method of contact during emergency situations. As cell phones are carried by the majority of the population, all you need to do is store the number of a contact person or persons who should be contacted during emergency under the name "ICE" ( In Case Of Emergency).



The idea was thought up by a paramedic who found that when he went to the scenes of accidents, there were always mobile phones with patients, but they didn't know which number to call. He therefore thought that it would be a good idea if there was a nationally recognized name for this purpose. In an emergency situation, Emergency Service personnel and hospital Staff would be able to quickly contact the right person by simply dialing the number you have stored as "ICE."



For more than one contact name simply enter ICE1, ICE2 and ICE3 etc. A great idea that will make a difference!



Let's spread the concept of ICE by storing an ICE number in our mobile phones today!!!!


Please forward this. It won't take too many "forwards" before everybody will know about this It really could save your life, or put a loved one's mind at rest
.



ICE will speak for you whenyou are not able to
 do

 

 

Regards,

 

 

From:

Nayan Joshi

Torrent  Power Ltd.

1130 MW Sugen Project,

Surat

 

 

 

__._,_.___
Note: This Group is not a Job Searching Group, so please co-operate and dont transfer any kind of job related material across this Group.AnyOne doing so can be banned from the Group
Thanx , Group Co-Ordinators
Recent Activity
Visit Your Group
Y! Groups blog

the best source

for the latest

scoop on Groups.

New business?

Get new customers.

List your web site

in Yahoo! Search.

Special K Group

on Yahoo! Groups

Join the challenge

and lose weight.

.

__,_._,___

Friday, February 15, 2008

[itsdifferent] 101 Design Patterns & Tips

Very good link to study the design patterns in simple ways.

http://sourcemaking.com/design-patterns-and-tips

Regards,
Deven

__._,_.___
Note: This Group is not a Job Searching Group, so please co-operate and dont transfer any kind of job related material across this Group.AnyOne doing so can be banned from the Group
Thanx , Group Co-Ordinators
Need traffic?

Drive customers

With search ads

on Yahoo!

Yahoo! Groups

w/ John McEnroe

Join the All-Bran

Day 10 Club.

Y! Messenger

Want a quick chat?

Chat over IM with

group members.

.

__,_._,___

Tuesday, February 05, 2008

Re: [itsdifferent] SQL Client for Multiple types of Database

Dear Deven,
 
I have not encountered with this yet. Seems to be a good way to deal with multiple databases instead of going into individual style of working.
 
So far I have used following database add-in tools which can help a person who want to explore some of the interesting features provided by them.
 
 
Thanks!
Dhananjay

Deven Goratela <dev_khatri@yahoo.com> wrote:
Ever wanted to connect to Oracle,MySQL, MS-SQL, HSQL, Informix,
DB2,etc. with same SQL Client?

Try using this SQL client from this URL
'http://squirrel-sql.sourceforge.net/'.
It runs on Java and you need to have valid drivers jar files.

May be there will be other clients also available for such purposes
but this one is OpenSource and very less configuration needed.

I have been using it, its easy to use. If anyone has other options
then let us know.

- Deven



Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.

__._,_.___
Note: This Group is not a Job Searching Group, so please co-operate and dont transfer any kind of job related material across this Group.AnyOne doing so can be banned from the Group
Thanx , Group Co-Ordinators
Need traffic?

Drive customers

With search ads

on Yahoo!

Y! Groups blog

the best source

for the latest

scoop on Groups.

Y! Messenger

Files to share?

Send up to 1GB of

files in an IM.

.

__,_._,___

Monday, February 04, 2008

[itsdifferent] SQL Client for Multiple types of Database

Ever wanted to connect to Oracle,MySQL, MS-SQL, HSQL, Informix,
DB2,etc. with same SQL Client?

Try using this SQL client from this URL
'http://squirrel-sql.sourceforge.net/'.
It runs on Java and you need to have valid drivers jar files.

May be there will be other clients also available for such purposes
but this one is OpenSource and very less configuration needed.

I have been using it, its easy to use. If anyone has other options
then let us know.

- Deven

__._,_.___
Note: This Group is not a Job Searching Group, so please co-operate and dont transfer any kind of job related material across this Group.AnyOne doing so can be banned from the Group
Thanx , Group Co-Ordinators
New web site?

Drive traffic now.

Get your business

on Yahoo! search.

Check out the

Y! Groups blog

Stay up to speed

on all things Groups!

Featured Y! Groups

and category pages.

There is something

for everyone.

.

__,_._,___

[itsdifferent] Different Types of Computer Viruses

DifferentTypes of Computer Viruses

There are Different Types of Computer Viruses could beclassified in (origin, techniques, types of files they infect, where they hide,the kind of damage they cause, the type of operating system or platform theyattack) etc. Let us have a look at them…


Computer Virus is a kind of malicious software writtenintentionally to enter a computer without the user's permission orknowledge, with an ability to replicate itself, thus continuing to spread. Someviruses do little but replicate others can cause severe harm or adverselyeffect program and performance of the system. A virus should never be assumedharmless and left on a system. Most common types of viruses are mentionedbelow:

Resident Viruses
This type of virus is a permanent which dwells in the RAM memory. From there itcan overcome and interrupt all of the operations executed by the system:corrupting files and programs that are opened, closed, copied, renamed etc.

Examples include: Randex, CMJ, Meve, and MrKlunky.

Direct Action Viruses
The main purpose of this virus is to replicate and take action when it isexecuted. When a specific condition is met, the virus will go into action andinfect files in the directory or folder that it is in and in directories thatare specified in the AUTOEXEC.BAT file PATH. This batch file is always locatedin the root directory of the hard disk and carries out certain operations whenthe computer is booted.

Overwrite Viruses
Virus of this kind is characterized by the fact that it deletes the informationcontained in the files that it infects, rendering them partially or totallyuseless once they have been infected.

The only way to clean a file infected by an overwrite virus is to delete thefile completely, thus losing the original content.

Examples of this virus include: Way, Trj.Reboot, Trivial.88.D.

Boot Virus
This type of virus affects the boot sector of a floppy or hard disk. This is acrucial part of a disk, in which information on the disk itself is storedtogether with a program that makes it possible to boot (start) the computerfrom the disk.
Boot Sector Viruses are an older type of virus and not so common. They used toinfect a computer's startup program so that the virus would become active assoon as the computer started up.


The best way of avoiding boot viruses is to ensure that floppy disks arewrite-protected and never start your computer with an unknown floppy disk inthe disk drive.

Examples of boot viruses include: Polyboot.B, AntiEXE.

Macro Virus
Macro viruses infect files that are created using certain applications orprograms that contain macros. These mini-programs make it possible to automateseries of operations so that they are performed as a single action, therebysaving the user from having to carry them out one by one.

Macro Viruses use commands (macros) embedded in othersoftware to infect and spread to other files viewed by that software. E.g. Wordand Excel have macros and macro viruses can spread by exploiting thesecommands.


Examples of macro viruses: Relax, Melissa.A, Bablas, O97M/Y2K.

Directory Virus
Directory viruses change the paths that indicate the location of a file. By executinga program (file with the extension .EXE or .COM) which has been infected by avirus, you are unknowingly running the virus program, while the original fileand program have been previously moved by the virus.

Once infected it becomes impossible to locate the original files.

Polymorphic Virus
Polymorphic viruses encrypt or encode themselves in a different way (usingdifferent algorithms and encryption keys) every time they infect a system.

This makes it impossible for anti-viruses to find them using string orsignature searches (because they are different in each encryption) and alsoenables them to create a large number of copies of themselves.

Examples include: Elkern, Marburg,Satan Bug, and Tuareg.

File Infectors / File Viruses

This type of virus infects programs or executable files(files with an .EXE or .COM extension). When one of these programs is run,directly or indirectly, the virus is activated, producing the damaging effectsit is programmed to carry out. The majority of existing viruses belong to thiscategory, and can be classified depending on the actions that they carry out.

File viruses attach themselves to other software. When thesoftware is run, the virus first loads itself into memory so that in canfurther infect other files or begin damaging the computer.


Companion Viruses

Companion viruses can be considered file infector viruseslike resident or direct action types. They are known as companion virusesbecause once they get into the system they "accompany" the otherfiles that already exist. In other words, in order to carry out their infectionroutines, companion viruses can wait in memory until a program is run (residentviruses) or act immediately by making copies of themselves (direct actionviruses).

Some examples include: Stator, Asimov.1539, and Terrax.1069

FAT Virus
The file allocation table or FAT is the part of a disk used to connectinformation and is a vital part of the normal functioning of the computer.
This type of virus attack can be especially dangerous, by preventing access tocertain sections of the disk where important files are stored. Damage causedcan result in information losses from individual files or even entiredirectories.

Worms
A worm is a program very similar to a virus; it has the ability toself-replicate, and can lead to negative effects on your system and mostimportantly they are detected and eliminated by antiviruses.
Worms duplicate themselves and use communications such as email to spread. Theycan look at your email address book and send themselves to users in youraddress book.
Examples of worms include: PSWBugbear.B, Lovgate.F, Trile.C, Sobig.D, Mapson.

Trojans or Trojan Horses
Another unsavory breed of malicious code are Trojans or Trojan horses, whichunlike viruses do not reproduce by infecting other files, nor do theyself-replicate like worms.
Trojan Horses are programs that claim to perform a particular function but infact do something different. E.g. they could infect your computer with a virusor erase your files.

Backdoor Trojans: Backdoor Trojans are programs thatallow other computer users to remotely control your computer via a local areanetwork or the Internet.

Logic Bombs

They are not considered viruses because they do notreplicate. They are not even programs in their own right but rather camouflagedsegments of other programs.

Their objective is to destroy data on the computer once certain conditions havebeen met. Logic bombs go undetected until launched, and the results can bedestructive

Adware: Is to internet browsing as spam isto email Adware can profile your online surfing and online shopping habits andor placing annoying pop-up adverts, installing additional IE menu helper bars.Often Adware revolves around targeted advertising based upon the web sites youfrequent and you may not even be aware that the pop-ups are not coming from theactual web site visited itself but from the Adware software running locally onyour machine. Quite often these applications are installed by stealth or bydeliberately misleading users to install software that is not required.

Spyware: Is potentially a higher threatthan Adware as it often collects user details, such as software installed andoften sensitive information such as passwords and even credit card detailswhich are then sent to via the internet to a central collection point. Spywareis often installed covertly or by accident via pop-up windows with active-xcontrols which report that they are doing something benign whilst secretlyinstalling this malicious software.

Malware is software that damages yoursystem, causes instability, or exhibits antisocial behavior such as changingsettings or interfering with a computer's registry and security settings.Typical examples include computer viruses or worms.

Page Hijackers: Are applications that redirectlinks to specific web pages, such as a request to go to a search engine forexample, and instead redirect the web browser to a designated address, relatedto the initial link but often containing advertising or adware. Whilst not ashigh a threat as Spyware, it is often a sign that your computer has somespyware or adware components installed on it which will undermine its operation.

Source: An Email from Chirag Gandhi

__._,_.___
Note: This Group is not a Job Searching Group, so please co-operate and dont transfer any kind of job related material across this Group.AnyOne doing so can be banned from the Group
Thanx , Group Co-Ordinators
New web site?

Drive traffic now.

Get your business

on Yahoo! search.

Y! Messenger

All together now

Host a free online

conference on IM.

Find helpful tips

for Moderators

on the Yahoo!

Groups team blog.

.

__,_._,___