Michi Henning on Computing Fallacies
Karma Sucks writes "Check out this summary of a keynote at Linux.conf.au by Michi Henning of CORBA fame. It really hits the nail on several points. I especially liked the point about people constantly rewriting letters in these modern times, as opposed to say 1945 where it just wasn't worth the pain of re-typing a letter. The only point that didn't made sense in this summary was the one about "source code being useless"."
My trolling career is ruined now that I can no longer page lengthen in the way that I used to!
If you found some of his earlier points interesting, you may want to read the 1995 book "The trouble with computers" by Tom
Landauer. I think its kind of controversial, but he points out that a lot of the promised and perceived productivity gains due to computers have never come about.
Some finer points in design; I see some stuff like this a lot as well: function bob( varlist ) { $var = $joe + 12345; return $var; } You're wasting memory and such for the variable declaration and assignment, simply return $joe + 12345;.
I know that you are talking about (what appears to be) PHP here, but I thought I'd toss in my 2 cents. In compiled languages small differences like that don't matter. If your optimizer doesn't suck (and most don't, these days), it will reorder your code to be as efficient as it can get it to be, and that includes things like elminiating uneeded variables, etc. So maybe what you are seeing is developers used to working with compiled languages that include a good optimizer and like to go for good, clear code as a first rule of thumb. No, that doesn't make it right, but just something to be aware of.
Hexy - a strategy game for iPhone/iPod Touch
"The best UI people on the planet are those working in the car industry. We need to make it a criminal law to change certain API's. There are potentially huge impacts. When we produce a new drug, we can't just release it to millions of people without some sort of testing."
i find the drug analogy a bit absurd...yes, UI's and API's should undergo rigerous testing, but when was the last time a person was killed by an underdevelopled and tested program??? there are some notable exceptions (like that xray machine a couple of decades or so ago that was giving radiation doses that were off by a factor of ten)....but buy and lagre people who grab the latest instant messenger beta dont have to worry about being physically hurt.
drugs on the other had can KILL people if they are not understood and tested fully.
maybe i'm missing the boat here but, i agreee with the idea...i just think the analogy is a bit much.
dude.
Fallacy 1: Computing is Easy
/etc/conf hacker, not someone working in an office relying on Word to get the memo done.
.NET. These are true advances in computing complexity and it is a continuing process.
well, actually it IS easy to learn syntax. This fallacy is just sniping at inexperience. No one teaches you how to write great code, even the greatest C hackers learned their loops one at a time. And, most of the rationale behind spaghetti code nowadays is due to extreme commercial pressure, not any lack of aesthetic sense.
- Teach Yourself C++ in 14 Easy Lessons
- Brain Surgery in 14 Easy Lessons
its completely arrogant to equate Brain surgery to C++. For one thing, lives are not at stake. This analogy is delusional with extreme grandeur.
Fallacy 2: Computers Allow People to Do things They Could Not Do Otherwise
As a matter of fact, they DO empower us. With Word I can do mass mailings in an hour, instead of all day. A great word processor will do a lot of the annoying things like spellcheck and thesaurus and automatic formatting of headings and footnotes and equations - which used to be a severe drain of time. A great spreadsheet lets you analyse numbers with impressive ease - ask any accountant how much the spreadsheet has transformed their parctice. This power of analysis has allowed professionals to actually expand their business instead of being mired down in drudgery.
Fallacy 3: Computers Increase Productivity
yes, they do, if used with discipline. See above. The idiots who waste all day adding sound effects are the same ones who in eth 40's used to while the day way lobbing sharp pencils into the ceiling. Procrastination has evolved with technology but is essentially the same.
the point about typos in letters written in 1945 illustrates the opposite point.
quote: "Nowadays, we rewrite the letter many, many times, changing fonts, format etc.
We are no better off in terms of letters produced."
really? you call a letter produced with no typos, "no better off" ? and all of the ways we can edit documents today, can be done effortlessly. The default templates that come with Word do all of this already. Its only the "power users" who seem to obsess like that, when people who actually use computers daily for their profession simply get the work done.
Fallacy 4: Programs Help Their Users
true, software companies try to ensnare their users. Also true that DVD makers try to snsnare their consumers, that groceries and airlines and car salesmen all use deceptive marketing, schemes, and even planned obsolescence to suck your wallet drier. You shoudl blame capitalism, not computers.
Fallacy 5: If It's Graphical, It's Easy
the vast majority of GUIs make simple tasks much easier. If you think that arcane text codes and comands are easier than just clicking the Underline button, then you're a
with a gui, you dont NEED to be a "sysadmin, programmer, typesetter, etc." to get work DONE. You just get work done. In a CLI you have to be all these things and more.
also, the paperclip has NEVER interrupted me to tell me a joke. Document the allegation!
Fallacy 6: Computers are Getting Faster
yes, they are. NO software I can buy today can really tax my 2 GHZ Pc, not even the most bloated WINXP install. My Pentium DOES boot faster than my old 386, Word loads in a few seconds, my web page is limited by my dial in connection (which i am forced to use because of monopolies and lack of regulation in telecom, not because of any computer issue). Its obvious that a Pentium 4 compiles faster than a 486, and the programs of today have more functionality anyway. EVERYTHING took FAR LONGER 5, 10 years ago.
Hardware is SO FAR AHEAD of software that only Id Siftware can really claim to have tested the metal. And can YOU tell the difference between 100 and 200 fps ? NO! stick your head out of the benchmark app!
Fallacy 7: Programs are Getting Better
Yes they are. True many obscure functionalities are barely used but they are there - and they barely slow things down in todays 2 GHz age.
I dont buy the anecdote about a single hyperlink inflating a 800K document to 2.2 MB. I just tried it myself, but taking 800 K of raw text and pasting it into Word. Then i added a link. The file size difference is negligible, but dont take my word for it, TRY IT YOURSELF! And then stop propagating foolish incendiary lies.
Fallacy 8: Programmers are Getting Better
well, if they all bitch and moan like this, maybe this really is a fallacy. But, I doubt it. Most of teh programmers I know are able to switch between languages and adapt to different environments. Most old time programmers are surgically attached to the Language of Choice for them and will never change. Look at the quality of coding being done on the Linux Kernel, in Oracle's 8i, in Windows'
BTW, ANY student who majors in CS will know what a core dump is, dont be alarmist. Any student who isnt CS, has no reason to know. So what?
the jab about knowing how to write excel memos being a mark of qualification is just arrogant snobbery. And the average retention time is from the dotcom boom, it surely isnt true anymore. YOu have a problem with people cashing in on their skills while they could?
Fallacy 9: Programming is About Date Structures and Algorithms
this is an extremely provincial accusation - probably better to just nod and agree with you rather than set off a religious war.
Agreed that programmers are not taught to design. Well, who taught you? If experience sufficed for you to become a self-declared expert, then it will suffice for others also.
Fallacy 10: Open Source is the Answer
The Answer? The Answer to what? with apologies to DOuglas Adams, first off you better figure out just what the Question is!
Don't blame me - I voted for Howard Dean. http://dean2004.blogspot.com
Some finer points in design; I see some stuff like this a lot as well:
function bob( varlist ) { $var = $joe + 12345; return $var; }
You're wasting memory and such for the variable declaration and assignment, simply return $joe + 12345;.
Well, when you simply return $joe + 12345, the complier creates a variable of the same type as $joe, gives it the new value, and then returnes it, negating any hoped-for savings on memory.
PUBLIC SPLIT ON WHETHER BUSH IS A DIVIDER -CNN scrolling banner, 10/15/2004
> Some finer points in design; I see some stuff like this a lot as well:
> function bob( varlist ) { $var = $joe + 12345; return $var; }
> You're wasting memory and such for the variable declaration and assignment, simply return $joe + 12345;.
Looks like debugging code to me; be able to set a breakpoint at the assignment statement, check out if $var is correct and if not, change it prior to returning. A good optimizing compiler would take care of cleaning this up in the release code.
Michi Henning has given his Computing Fallacies talk several times in various venues in the last few years.
Slides and video from one of these (given on April 18th, 2000) are available here.
He will probably continue to give his talk for many years to come, as it is unlikely things will change much in the short to medium term.
its the fast save feature, turn it off, and file sizes shrink. A fast save apparently appends to the end of the original file with routing for where this and that section needs to go, in addition to the edits, its apparently not real efficent but it beats waiting for 10-20 seconds for msword to finish saving so you can shut down your system in MS marketing's eyes, dig around in options and you'll find a check box for it
09f911029d74e35bd84156c5635688c0
Bullshit, it is only useless if you consider direct action. Let us say that someone releases a program and there is a bug in it. 99% of the people could care less about the source code, since they can't understand it, but that last 1% looks at the source and fixes it and then rereleases it. All 100% benefit from the fix.
QA is more than just 'poking' at the program and seeing if it breaks. It's authoring test procedures, finding new and interesting ways to break the program, interacting with other developers and management, and a whole lot more.
/other/ QA guys do), and I'll probably find my way back into product development if I find that the other tools I build to no longer be in need of heavy development.
/real/ engineers. Thanks. :)
Thank you!
I'm (sort of) in my company's QA department, and get a whole lot of guff about it from the other engineers ("You're QA? Ewwww"). Thing is, QA doesn't need to be a bad job -- I've spent my last few years largely working on (nifty, new) automated testing tools, and love it. There's nothing quite so interesting as coming up for a test for something that on the surface doesn't look practical to test programmaticly, or putting together a home-grown piece of software that does a task in a massively cross-platform manner that comparable (expensive) commercial solutions could only do on one or two platforms.
Now, writing loads of Expect scripts has never been my thing (that's what the
Anyhow, I'm just glad to see someone putting QA in a light that reflects that it doesn't have to be a boring and tedious job done by those who don't have what it takes to be
But, you fail to see a significant point.
I probably won't go looking through code unless I have a reason. The #1 reason would be a bug/feature that doesn't work right. So, I do a few searches, find no solution. Look at updates etc. still no joy. I crack open the code, review it, run my paticular bug through it, and bingo I find a bug. In OSS, it's then in my and everyone's interest to bring the bug to the attention of the maintainer.
Being able to review the code that actually causes my problem, and having the problem in the first place is a massive leg up.
I've had this problem on projects that I've worked on. We're working in a Delphi project right now. We bought the source to several tools we use, and we've found several bugs, and FIXED them.
Without the source, we would have to interest the vendor in responding to the problem, (really difficult often!) explain the problem, (no easy task) help the vendor replicate it (don't even get me started) and finally get the patch from the vendor.
So OSS and just plain having the source make lots of difference in fixing bugs!
Cheers!
- How often do you need to
- perform a Fourier analysis?
Several times a day, usually. How often do I need to email a document to more than one person? Almost never. One tool is not adequate for all people. This is a fact all to often overlooked in arguing for software applications as standards.