Why is it that people in the computer industry ask this question so often? Try it in some other field:
Student: "I want to work with cars. Should I go to school and become a mechanical engineer, or should I just go to trade school and become a mechanic?"
Employer: "Go to trade school and become a mechanic--you'll bre able to work with cars, and you won't have to bother with all those messy engineering classes "
If you wanna build cars, become an engineer. If you wanna fix cars, become a mechanic...
I, and I'm sure many others, submitted this letter to/. as soon as it plunked into my inbox from the bioxml mailing list. I wasn't concerned about the karma aspects of getting a story posted to slashdot--just that the story GET POSTED in a public way. I thought to myself:
"Slashdot *has* to accept this story from someone. It represents the *informed* opinions of a *prominent* bioinformatics researcher, as well as that of a large portion of the bioinformatics research community."
Of course, it was rejected.
I emailed Ewan, and told him to submit the letter as a story. He did. I figured:
"Maybe/. doesn't want to post secondhand messages (though they've done so many times in the past). But if the *author* of the letter submits, surely/. will post the story, because of it's *obvious* importance."
Again, no story.
Instead, what do we get? A blurb at the bottom of a slashback article, hidden amongst various pieces of random Linux cruft.
This is getting ridiculous.
Rob Malda et al., you guys have been hiding behind the "this is our website, and we'll put up things that we find interesting" line for too long now. Especially when slashdot *routinely* posts factually incorrect and uninformative stories based on heresay and speculation.
Yet the opinions of a Howard Hughes Invesitgator in bioinformatics get ignored. Dare I ask why?? Perhaps it's too informative?? Maybe just a little too factual??
Slashdot, when you sold the site, and became a commercial enterprise, you ceased to be Rob's homepage. Your public perception as journalism leaped. Unfortunately, your journalistic standards have not.
The saddest thing about all this is that posting the letter on the front page of slashdot could have made a real social impact on the editors of Science. A lot of biological researchers read slashdot. Posting this letter as a story could have provided a nice focal point for community organization. As a second-line posting to slashback, I doubt that will happen.
The original claim is still valid. The "winner" of this election had a winning margin that's less than the error margin. In other words, he didn't win anything.
And for what it's worth, if you assume precision in the counting process, your recursion argument doesn't apply here. In this case, a margin of victory greater than the margin of error -- even by one vote -- is still a significant result.
What this says to me is that we should adopt some real voting methods, rather than the "punch and pray" approach we use now. Otherwise, we're just fooling ourselves about the validity of our participatory democracy...
CNN is reporting as I write that the FL secretary of state is calling the margin approximately 600 votes. This narrow a margin means automatic recount under FL law.
The first one to say "Republican Revolution" gets smacked...
I've heard the "vote for Nader is a vote for change" line for so long now, and I can't help but think it overlooks something very important:
What if you don't beleive in Nader??
Yes, this election has been a choice between two very similar candidates. Yes, both candidates have ties to various business interests. That doesn't mean I should vote for Nader who is probably further from my own views than D "Dubyah" I is...
I voted for Gore not because I was voting for the status quo, or even because I hold the Democratic party in high regard. I voted for Gore because his platform was closest to my own beliefs.
I won't vote for a party if they don't reflect my beliefs, no matter how much we need "change"...
RMS's stance is that dynamic linking produces a derived work. Thus, you can only dynamically link GPLed code with GPLed code or LGPLed code.
If you implement plugins with dynamic linking, you can't have closed-source plugins unless you use the LGPL (or something LGPL-like).
So sometimes, it does make sense to want to LGPL an application. But I don't see how it can be done. And using some non-GPL license will pretty much make my code incompatible with the GPL, which is also bad.
I looked around for a similar thing for my own project, and Doxygen was the best I found. Very full featured, and it can generate HTML, PDF, PS, LaTeX, even XML (sort of) from the same comments.
I highly recommend it.
On reading my own submission, I think perhaps that I need to clarify my own question a tad...
The reason I even thought about this was due to the fact that licensed code is always referred to as a "Library" in the LGPL. Not surprising, given that LGPL originally meant Library GPL, but still confusing, if you're wanting to license an application under the LGPL, rather than just a plain old software library.
When I read more into the text of the LGPL, I found what I noted above, and that really bothered me. If a modified version of the licensed code is required to be a "library" (which is defined in section 0 in the intuitive way), then how can you create an application, and license it under the LGPL in such a way that anyone can modify and redistribute it in application form without violating the license?
In other words, section 2a says that a modified version of the covered work must be a software library--in the technical sense that we all know and love. This works great for software libraries licensed with the LGPL, but it doesn't seem so hot for applications that want to do the same. In fact, it seems like a pretty big discrepancy (unless I'm really missing something;) )
I hope this helps. I'm very interested to see if anyone else has thought about the same thing.
Yeah, sure...a scam perpetuated by the television documentary Empire of the Air (written by the same guy who did The Civil War). Not to mention more than a few books on radio history.
"I've never seen any performance guarantees for the STL. AFAIK any implementation is free to implement the standard in any way they choose"
The STL specifies performance characteristics throughout. The STL can be implemented any way the developers' want, as long as it conforms to these performance metrics.
"Which implementation of the STL do you claim is bug free - SGI's, HP's, GNU's?"
I didn't make the original comment, so I can't speak for the poster, but I'd put my money on any one of the major STL implementations (rather than your homebrew classes) if I had to bet on quality of code. Nothing personal--I'm sure you're a very capable coder, but you still can't compete with a team of dedicated developers;-)
"STL well understood by all professional programmers? Hardly. In a Sun/C++ environment people are much more likely to have used Rogue Wave's classes than STL."
But the STL is part of the standard. There are free, high-quality implementations available for nearly every platform that has a compiler. If a professional programmer doesn't understand the STL now, he/she better learn it soon, because it *is* the standard. Even Rogue Wave knows this--lately they've been marketing their libs as add-ons to the STL.
"STL adoption is far from widespread. As I pointed out in another reply, even a well-designed modern C++ library such as Qt doesn't use it. I don't think GTK-- (the C++ GTK+ interface) does either.
You were responding to me--so I'll reply here. Saying that STL adoption isn't widespread isn't an excuse for not using it. It's new. It isn't surprising that a lot of older code bases don't use it (yet). That doesn't matter--if new code is being written in C++ today, it should be using the STL. If you have specific interface conflicts that have to be resolved, that's one thing. If you are resistant to using it simply because no one else is--that's just dumb. Sooner or later, all those old libraries will be using the STL, and you'll have to change your code anyway--why not write to the STL today and save some trouble in the long run?
"The point is one shouldn't need to generate (almost) any code. Never."
You don't need to generate code for an MFC app--it's just much easier if you do. Anyone can sit down and write an MFC app from scratch without the aid of a code generation tool if they so chose. Most would rather not.
"If your API needs exact the same code each time you want to make and MDI app then one should not make source code generator."
The thing is, if you're writing non-trivial apps, you don't need the exact same code every time. You need some minor specialization of the basic code. And this stuff gets tedious--very tedious--to write. Your idea of "new application.MDI()" is fine as far as it goes, but it doesn't go very far. What happens when you want a subclass of the default MDI? How would application.MDI() expose it's message handling architecture for the addition of new messages? How does one control the properties of the MDI window? There are lots of things that MFC can do that your application.MDI() approach couldn't. And that's where the complexity comes in.
Too many people think that the well-defined use of data structures constitutes OO programming--GTK+ is a fine example of this, IMO.
Yes, GTK+ makes heavy use of structs and unions and function pointers to acheive a sort of object-oriented feel, but, in the end, it is still a collection of C functions that just happen to pass around lots of structs and unions and function pointers.
Writing true OO code requires a fundamental shift in the way one thinks about software. In OO, you can't fall back on functions and procedures--you have to figure out what object a given procedure should be attached to, or failing that, how you can implement the functionality as an object in itself. OO coding is a philosophy--so much so that I personally find it difficult to switch between C and C++ when I'm called upon to do so--even though the languages are syntactically very similar.
There's a lot to learn to write good OO code, which is why most programmers can't do it yet. And those who would say that GTK+ is OO programming fall into this category, IMNSHO.
However, MFC is OO--however badly designed it may be. Yes, MFC is littered with hacks and questionable design decisions (see Message Map discussions elsewhere), but the fact remains that you can create an MFC app without using a single C-style function You couldn't hope to do this in something like GTK+ (but maybe in GTK--).
Of course you can write your own version of the basic data structures and algorithms found in the STL! You could write your own GUI toolkit--but why would you want to, when their are dozens of quality, well-maintained efforts that do it for you?? You don't use the STL to get new functionality (necessarily)--you use it to achieve interoperability, modularity and reusability. If you're not using it, your code will be left behind.
"But in Slashdot's case I think a lot of us founding members" have drifted away (or tried to)."
I agree with you sentiment, but man, try to restrain the ego a bit. User ID 24,021 isn't so much a "founding member" as an "early inhabitant":-)
Seriously, though, I also remember the days when I could filter through/. posts based purely upon the (voluntary) user nicks listed on posts. Where did people like BOredAtWOrk go?
I've worked for the last year on a DARPA program for wearable situational-awareness computers for the military (the Army, specifically). The system we're designing, while still proof-of-concept, is built around Linux, which was chosen primarily for its openness and flexibility.
Parts of this system, probably significant ones, will make their way into fielded systems in the next ten years. Also, there are a great number of DARPA research programs that involve Linux. In other words, the *future* military systems are being developed *now* under Linux.
It isn't big yet, but I'm willing to wager that because of today's research, the next generation of military software will be Linux based...
"FACT: Linux doesn't use threads nearly as often as it should. By having the kernel and libraries heavily threaded, and with fine-grained locking, performance really improves."
Not so fast...
There is a ton of solid evidence that fine-grained locking can kill performance, not to mention making code more complicated, harder to write for, and harder to maintain.
Granted, threading *can* improve performance, but the impact tends to differ depending on use and the type of machine you're running on. The kernel crew has taken a moderate stance on threading, not wishing to hurt low- and mid-end hardware performance to accomodate slightly higher performance on high-end hardware. IMO, this moderation is a good thing, since it keeps the kernel and associated libraries maintainable over the long run, and it allows Linux to run on things like embedded systems, as well as mainframes, with a minimum of performance penalties on any given platform type.
BTW, Larry McVoy (one of Linus' right-hand-men) gave a great talk at the CLIQ in Denver about this very issue. here are the slides from that talk.
The best company I ever worked for had the "war room" setup. What I liked most about it was that it *forced* some of the otherwise antisocial people to interact on a daily basis. The worst companies I've worked for, on the other hand, were cube villages. Suprisingly enough, I've observed that cube villagers are less interactive than the people at places I've worked with full offices for everyone.
My theory: cubes offer the *promise* of privacy, but everyone remains keenly aware that none really exists--hence everyone stays unnaturally quiet to "respect" the others. With the "war room" layout, on the other hand, the illusion of privacy is done away with, and everyone has to establish a new social contract. That contract is much more balanced, IMO...privacy is important, but too much of anything can be bad for you:-)
If *I* had Meta for a name, I'd change my middle name to Xavier or something, just so I could introduce myself as Meta X. at computer science conferences. Heh.
Today's post was done in an eerie, Katzian style. For example:
"Over the past five years, we have watched the Internet shrink distances and bridge the gaps between the international community of nations."
"Community of nations"? The internet "shrinking" distances and "bridging" gaps? All very Katzian, IMHO...
and
"However, despite this social benefit from what is the world's growing global network, there are still places where the boon that is Internet communcation is frowned upon, even dangerous."
Note the classic Katz style. First clause: "the internet is wonderful, it is bridging econonic gaps, creating world peace, and bringing your childhood puppy back from the grave." Second clause: "Yet amidst this utopia, geeks are being persecuted on the internet. How can this be??"
Also, consider that:
1) We've never seen Jon Katz and Cliff in the same chat room. Coincidence? I think not!
2) It's easy to hide identity on the internet. Or, (paraphrased) "On the internet, nobody knows you're a Katz."
I think it should be clear from the above evidence that Jon Katz and Cliff are one and the same. Feel free to provide evidence that I have missed.
Why is it that people in the computer industry ask this question so often? Try it in some other field:
Student: "I want to work with cars. Should I go to school and become a mechanical engineer, or should I just go to trade school and become a mechanic?"
Employer: "Go to trade school and become a mechanic-- you'll bre able to work with cars, and you won't have to bother with all those messy engineering classes "
If you wanna build cars, become an engineer. If you wanna fix cars, become a mechanic...
Haploid Genome Sizes (collected from various sources):
Homo sapiens (human): 3.3 x 10^9 bp, # of genes unknown
Drosophila melanogaster (fruit fly): 1.8 x 10^8 bp, 13,601 genes (if you believe Celera has sequenced it all)
Caenorhabditis elegans (worm): 95.5 x 10^6 bp, 19,820 genes.
Saccharomyces cerevisiae (yeast): 12 x 10^6 bp, 5,885 genes.
E. coli (bacterium): 4,639,221 bp, 4,377 genes.
Hemophilus influenzae (simpler bacterium): 1,830,138 bp, 1,738 genes.
Arabidopsis thaliana: 1.17 x 10^8 bp, ~25,000 genes.
Wheat: 16 x 10^9 bp, ~30,000 genes.
nevermind...somehow i thought you said *3* bits originally...=)
Actually, couldn't you do an encoding in 2 bits?
1 bit - A/T (set), C/G (unset)
1 bit - first base + strand (set), first base - strand (unset)
Thus,
5' ATCGATCG 3'
3' TAGCTAGC 5'
becomes:
1110010011100100
('course, you have to make an assumption as to which strand is +, and what the "order" of a base pair is (A/T or T/A?)...)
Interesting...
I, and I'm sure many others, submitted this letter to /. as soon as it plunked into my inbox from the bioxml mailing list. I wasn't concerned about the karma aspects of getting a story posted to slashdot--just that the story GET POSTED in a public way. I thought to myself:
/. doesn't want to post secondhand messages (though they've done so many times in the past). But if the *author* of the letter submits, surely /. will post the story, because of it's *obvious* importance."
"Slashdot *has* to accept this story from someone. It represents the *informed* opinions of a *prominent* bioinformatics researcher, as well as that of a large portion of the bioinformatics research community."
Of course, it was rejected.
I emailed Ewan, and told him to submit the letter as a story. He did. I figured:
"Maybe
Again, no story.
Instead, what do we get? A blurb at the bottom of a slashback article, hidden amongst various pieces of random Linux cruft.
This is getting ridiculous.
Rob Malda et al., you guys have been hiding behind the "this is our website, and we'll put up things that we find interesting" line for too long now. Especially when slashdot *routinely* posts factually incorrect and uninformative stories based on heresay and speculation.
Yet the opinions of a Howard Hughes Invesitgator in bioinformatics get ignored. Dare I ask why?? Perhaps it's too informative?? Maybe just a little too factual??
Slashdot, when you sold the site, and became a commercial enterprise, you ceased to be Rob's homepage. Your public perception as journalism leaped. Unfortunately, your journalistic standards have not.
The saddest thing about all this is that posting the letter on the front page of slashdot could have made a real social impact on the editors of Science. A lot of biological researchers read slashdot. Posting this letter as a story could have provided a nice focal point for community organization. As a second-line posting to slashback, I doubt that will happen.
...it's an inconsistency.
The original claim is still valid. The "winner" of this election had a winning margin that's less than the error margin. In other words, he didn't win anything.
And for what it's worth, if you assume precision in the counting process, your recursion argument doesn't apply here. In this case, a margin of victory greater than the margin of error -- even by one vote -- is still a significant result.
What this says to me is that we should adopt some real voting methods, rather than the "punch and pray" approach we use now. Otherwise, we're just fooling ourselves about the validity of our participatory democracy...
CNN is reporting as I write that the FL secretary of state is calling the margin approximately 600 votes. This narrow a margin means automatic recount under FL law.
The first one to say "Republican Revolution" gets smacked...
I've heard the "vote for Nader is a vote for change" line for so long now, and I can't help but think it overlooks something very important:
What if you don't beleive in Nader??
Yes, this election has been a choice between two very similar candidates. Yes, both candidates have ties to various business interests. That doesn't mean I should vote for Nader who is probably further from my own views than D "Dubyah" I is...
I voted for Gore not because I was voting for the status quo, or even because I hold the Democratic party in high regard. I voted for Gore because his platform was closest to my own beliefs.
I won't vote for a party if they don't reflect my beliefs, no matter how much we need "change"...
Who the heck moderated this thing up as Informative? It has one link!! To a well-known OS's website, no less!
Here, I'll be more informative:
Linux.com
Linux Kernel
Computer Emergency Response Team (CERT)
Securityfocus.com
Woo-hoo! Now I'll just kick back, relax, and watch the karma roll in...
RMS's stance is that dynamic linking produces a derived work. Thus, you can only dynamically link GPLed code with GPLed code or LGPLed code.
If you implement plugins with dynamic linking, you can't have closed-source plugins unless you use the LGPL (or something LGPL-like).
So sometimes, it does make sense to want to LGPL an application. But I don't see how it can be done. And using some non-GPL license will pretty much make my code incompatible with the GPL, which is also bad.
I looked around for a similar thing for my own project, and Doxygen was the best I found. Very full featured, and it can generate HTML, PDF, PS, LaTeX, even XML (sort of) from the same comments. I highly recommend it.
On reading my own submission, I think perhaps that I need to clarify my own question a tad...
;) )
The reason I even thought about this was due to the fact that licensed code is always referred to as a "Library" in the LGPL. Not surprising, given that LGPL originally meant Library GPL, but still confusing, if you're wanting to license an application under the LGPL, rather than just a plain old software library.
When I read more into the text of the LGPL, I found what I noted above, and that really bothered me. If a modified version of the licensed code is required to be a "library" (which is defined in section 0 in the intuitive way), then how can you create an application, and license it under the LGPL in such a way that anyone can modify and redistribute it in application form without violating the license?
In other words, section 2a says that a modified version of the covered work must be a software library--in the technical sense that we all know and love. This works great for software libraries licensed with the LGPL, but it doesn't seem so hot for applications that want to do the same. In fact, it seems like a pretty big discrepancy (unless I'm really missing something
I hope this helps. I'm very interested to see if anyone else has thought about the same thing.
Yeah, sure...a scam perpetuated by the television documentary Empire of the Air (written by the same guy who did The Civil War). Not to mention more than a few books on radio history.
Damn, that's some scam...
Let me rephrase the original poster's (perfectly reasonable) comment:
Bullshit. You can't release an operating system of that size and scope with only one bug visible "in practice."
Nitpicking sucks. Don't do it.
"I've never seen any performance guarantees for the STL. AFAIK any implementation is free to implement the standard in any way they choose"
;-)
The STL specifies performance characteristics throughout. The STL can be implemented any way the developers' want, as long as it conforms to these performance metrics.
"Which implementation of the STL do you claim is bug free - SGI's, HP's, GNU's?"
I didn't make the original comment, so I can't speak for the poster, but I'd put my money on any one of the major STL implementations (rather than your homebrew classes) if I had to bet on quality of code. Nothing personal--I'm sure you're a very capable coder, but you still can't compete with a team of dedicated developers
"STL well understood by all professional programmers? Hardly. In a Sun/C++ environment people are much more likely to have used Rogue Wave's classes than STL."
But the STL is part of the standard. There are free, high-quality implementations available for nearly every platform that has a compiler. If a professional programmer doesn't understand the STL now, he/she better learn it soon, because it *is* the standard. Even Rogue Wave knows this--lately they've been marketing their libs as add-ons to the STL.
"STL adoption is far from widespread. As I pointed out in another reply, even a well-designed modern C++ library such as Qt doesn't use it. I don't think GTK-- (the C++ GTK+ interface) does either.
You were responding to me--so I'll reply here. Saying that STL adoption isn't widespread isn't an excuse for not using it. It's new. It isn't surprising that a lot of older code bases don't use it (yet). That doesn't matter--if new code is being written in C++ today, it should be using the STL. If you have specific interface conflicts that have to be resolved, that's one thing. If you are resistant to using it simply because no one else is--that's just dumb. Sooner or later, all those old libraries will be using the STL, and you'll have to change your code anyway--why not write to the STL today and save some trouble in the long run?
"The point is one shouldn't need to generate (almost) any code. Never."
You don't need to generate code for an MFC app--it's just much easier if you do. Anyone can sit down and write an MFC app from scratch without the aid of a code generation tool if they so chose. Most would rather not.
"If your API needs exact the same code each time you want to make and MDI app then one should not make source code generator."
The thing is, if you're writing non-trivial apps, you don't need the exact same code every time. You need some minor specialization of the basic code. And this stuff gets tedious--very tedious--to write. Your idea of "new application.MDI()" is fine as far as it goes, but it doesn't go very far. What happens when you want a subclass of the default MDI? How would application.MDI() expose it's message handling architecture for the addition of new messages? How does one control the properties of the MDI window? There are lots of things that MFC can do that your application.MDI() approach couldn't. And that's where the complexity comes in.
"GTK isn't OO either - it's a C API."
Right on, brother-man. =)
Too many people think that the well-defined use of data structures constitutes OO programming--GTK+ is a fine example of this, IMO.
Yes, GTK+ makes heavy use of structs and unions and function pointers to acheive a sort of object-oriented feel, but, in the end, it is still a collection of C functions that just happen to pass around lots of structs and unions and function pointers.
Writing true OO code requires a fundamental shift in the way one thinks about software. In OO, you can't fall back on functions and procedures--you have to figure out what object a given procedure should be attached to, or failing that, how you can implement the functionality as an object in itself. OO coding is a philosophy--so much so that I personally find it difficult to switch between C and C++ when I'm called upon to do so--even though the languages are syntactically very similar.
There's a lot to learn to write good OO code, which is why most programmers can't do it yet. And those who would say that GTK+ is OO programming fall into this category, IMNSHO.
However, MFC is OO--however badly designed it may be. Yes, MFC is littered with hacks and questionable design decisions (see Message Map discussions elsewhere), but the fact remains that you can create an MFC app without using a single C-style function You couldn't hope to do this in something like GTK+ (but maybe in GTK--).
What in the world are you thinking?
Of course you can write your own version of the basic data structures and algorithms found in the STL! You could write your own GUI toolkit--but why would you want to, when their are dozens of quality, well-maintained efforts that do it for you?? You don't use the STL to get new functionality (necessarily)--you use it to achieve interoperability, modularity and reusability. If you're not using it, your code will be left behind.
Just giving you a hard time, please don't take it too seriously. :-)
/. posters. I *do* wonder where he/she went...
But BOredAtWOrk stands out in my mind as one of the earliest consistently good
"But in Slashdot's case I think a lot of us founding members" have drifted away (or tried to)."
:-)
/. posts based purely upon the (voluntary) user nicks listed on posts. Where did people like BOredAtWOrk go?
I agree with you sentiment, but man, try to restrain the ego a bit. User ID 24,021 isn't so much a "founding member" as an "early inhabitant"
Seriously, though, I also remember the days when I could filter through
I've worked for the last year on a DARPA program for wearable situational-awareness computers for the military (the Army, specifically). The system we're designing, while still proof-of-concept, is built around Linux, which was chosen primarily for its openness and flexibility.
Parts of this system, probably significant ones, will make their way into fielded systems in the next ten years. Also, there are a great number of DARPA research programs that involve Linux. In other words, the *future* military systems are being developed *now* under Linux.
It isn't big yet, but I'm willing to wager that because of today's research, the next generation of military software will be Linux based...
"FACT: Linux doesn't use threads nearly as often as it should. By having the kernel and libraries heavily threaded, and with fine-grained locking, performance really improves."
Not so fast...
There is a ton of solid evidence that fine-grained locking can kill performance, not to mention making code more complicated, harder to write for, and harder to maintain.
Granted, threading *can* improve performance, but the impact tends to differ depending on use and the type of machine you're running on. The kernel crew has taken a moderate stance on threading, not wishing to hurt low- and mid-end hardware performance to accomodate slightly higher performance on high-end hardware. IMO, this moderation is a good thing, since it keeps the kernel and associated libraries maintainable over the long run, and it allows Linux to run on things like embedded systems, as well as mainframes, with a minimum of performance penalties on any given platform type.
BTW, Larry McVoy (one of Linus' right-hand-men) gave a great talk at the CLIQ in Denver about this very issue. here are the slides from that talk.
The best company I ever worked for had the "war room" setup. What I liked most about it was that it *forced* some of the otherwise antisocial people to interact on a daily basis. The worst companies I've worked for, on the other hand, were cube villages. Suprisingly enough, I've observed that cube villagers are less interactive than the people at places I've worked with full offices for everyone.
:-)
My theory: cubes offer the *promise* of privacy, but everyone remains keenly aware that none really exists--hence everyone stays unnaturally quiet to "respect" the others. With the "war room" layout, on the other hand, the illusion of privacy is done away with, and everyone has to establish a new social contract. That contract is much more balanced, IMO...privacy is important, but too much of anything can be bad for you
If *I* had Meta for a name, I'd change my middle name to Xavier or something, just so I could introduce myself as Meta X. at computer science conferences. Heh.
It *must* be true! Consider the evidence:
Today's post was done in an eerie, Katzian style. For example:
"Over the past five years, we have watched the Internet shrink distances and bridge the gaps between the international community of nations."
"Community of nations"? The internet "shrinking" distances and "bridging" gaps? All very Katzian, IMHO...
and
"However, despite this social benefit from what is the world's growing global network, there are still places where the boon that is Internet communcation is frowned upon, even dangerous."
Note the classic Katz style. First clause: "the internet is wonderful, it is bridging econonic gaps, creating world peace, and bringing your childhood puppy back from the grave." Second clause: "Yet amidst this utopia, geeks are being persecuted on the internet. How can this be??"
Also, consider that:
1) We've never seen Jon Katz and Cliff in the same chat room. Coincidence? I think not!
2) It's easy to hide identity on the internet. Or, (paraphrased) "On the internet, nobody knows you're a Katz."
I think it should be clear from the above evidence that Jon Katz and Cliff are one and the same. Feel free to provide evidence that I have missed.