Why are the Microsoft Office file formats so complicated? (And some workarounds)
|
|
|
Comments (45)
25 earlier comments in the full thread.
Quoting:I mean come on, WTF are they talking about?Thank you. I really don't know. I made the comment in that post to discuss code organization, not to start a flame war or "degrade" Linux. I was kinda secretly hoping to see a bit more of a technical rather than a religious response.
Quoting: Wow. lots of venom thereI see a lot of venom there, too, bud. I was only responding in kind. I'd actually prefer to drop it. I think that if you re-read my posts you will see that I am not trying to argue against Linux. In the subsequent posts I was only trying to defend the character and credentials of a man I respect, not defend the casual comments he may have made to me regarding kernel code.
Quoting:It's customary when one makes a charge, to provide some basis for it.I was not making a charge. I made a clear disclaimer that I am not familiar with kernel code or it's organization when I made my original comment. I brought it up for the sake of discussion only, and I made a later annotation that my language was too strong and that it was out of context without his jovial personality.
Quoting:... you seemed to think we are to just accept this pronouncement...Not at all. I said I brought it up for the sake of discussion. Quite frankly, you have only made mention of "looking at some code" and making references to companies that worked on the Linux kernel who sure as hell "socked away a lot of money" themselves. You certainly didn't bring up a discussion of kernel architecture and code organization beyond make those vague references. Am I to accept that you are a Linux kernel expert or even a programmer? I'm assuming you know something, but you may just be a layman with strong views.
Quoting:I expressed skepticism at your friends dismissal of linux...My friend didn't dismiss Linux. He made casual comments to me on a couple occasions regarding code organization, the topic of that post.
Quoting:Second, you accuse me of making an "ad hominem attack" on your friend. I don't think so.One mans self-aggrandized skepticism is another's "ad hominem attack".
Quoting:I know nothing about this friend but I will simply state the obvious, that the statement you attributed to him sounded bigoted and fanboyish.That was a nicer way to phrase it, but it also applies to most of the regulars here at LXer.
Quoting: I mean come on, WTF are they talking about?
Thank you. I really don't know. I made the comment in that post to discuss code organization, not to start a flame war or "degrade" Linux. I was kinda secretly hoping to see a bit more of a technical rather than a religious response.
Well, you brought it up! As often as I see those sorts of comments, I have yet to see any kind of knowledgeable analysis, it's always in the context of a quick snark. Y'all may remember Joel Spolsky's classic essay on hairy code, "Things You Should Never Do, Part I": http://www.joelonsoftware.com/articles/fog0000000069.html
Quoting: There's a subtle reason that programmers always want to throw away the code and start over. The reason is that they think the old code is a mess. And here is the interesting observation: they are probably wrong. The reason that they think the old code is a mess is because of a cardinal, fundamental law of programming: It's harder to read code than to write it.
Quoting:I was not making a charge. I made a clear disclaimer that I am not familiar with kernel code or it's organization when I made my original comment. I brought it up for the sake of discussion onlyWho said you made a charge? We were talking about your unnamed friend who by your account, called the linux kernel "disorganized crap".
Quoting:You certainly didn't bring up a discussion of kernel architecture and code organization beyond make those vague references. Am I to accept that you are a Linux kernel expert or even a programmer?I'm not the one who claimed the linux kernel is "disorganized crap"; the onus for an explanation is on the one who brought the charge. When I asked what technical justification your unnamed friend might have for such a statement, you did not want to talk tech at all, but instead seemed offended that we didn't immediately accept your unnamed friend's indictment of the linux kernel developers. I ask for some evidence. If you have none, I'm under no obligation to lend the statement any credence.
I've asked more than once for some justification for the statement, without any meaningful response - and yet you chide me for failing to "bring up a discussion of kernel architecture".
I'm sorry that you feel offended for your friend, but I really don't know what you expected.
Quoting:Well, you brought it up!...and immediately everyone became emotionally defensive.
Quoting:As often as I see those sorts of comments, I have yet to see any kind of knowledgeable analysis, it's always in the context of a quick snark.I have yet to see any kind of knowledgeable response or analysis myself. I never started out to imply that I had any to offer beyond my own projects. I think all of us here are guilty of the quick snark. Tuxchick, you gotta admit that you frequently have to use considerable restraint from typing in all caps, yourself.
Quoting:It's harder to read code than to write it.Ain't that the truth...which also makes it futile and laughable to defend code that you haven't written yourself. If Torvalds read this thread he'd be chuckling at all of us.
Quoting:I'm not really a kernel guy (as far as the code goes), but I have a good friend and former colleague that is a 30 year kernel veteran. He says the Linux kernel is an absolute mess of disorganized, crap code compared to the various other unices. I have no reason to doubt his observation.That is what I said, tuxchick. Please tell me what my assertion was and go point by point and "call me on it".
My assertion is that my only assertion was that I have a friend who has an opinion that he has casually mentioned to me (which is nothing more than hearsay to LXer), and that based on his credentials and experience I had no reason to doubt his observation. That's it. I was not trying to make a point. I was trying to start a dialogue about code organization, particularly in Linux/Unix kernels. While your link to Joel's essay was nice, it was generic, largely rhetorical and did nothing nothing to illuminate the differences between the organization of source code of the systems in question. (I said so much about my own code in my original post.)
Seriously, tuxtom. I'm not sure why you want to make this about me, and my qualifications, but if you insist, I'll try to make a case for my computer literacy. You said I'm most likely an interested layman, and I suppose that's true for certain definitions of layman.
Like a lot of people, I got a computer science degree from good old Cal State U a couple years ago, and did pretty well in that regard. I've also been a sys admin for many years. I'm not a kernel developer, but I did study operating systems in college, and I have one obscure linux kernel patch to my name. I haven't participated in the kernel development process for some years, but I am not a total neophyte on the subject either.
Now, like any normal, curious person with a good tech background, my curiosity is piqued when I hear that the linux kernel is "disorganized crap". As a happy long time linux user, I find the statment baffling.
At work, I admin dozens of linux servers, running infrastructure, most of which have been up for over 550 days, and one which has been up for 1047 days of heavy production use, and I ask myself "if it's disorganized crap, how can it take such a licking and keep on ticking?"
Now, If you want to say that for instance freebsd code is more elegant than linux, feel free, I won't argue that point. If you want to say that e.g. openbsd is more secure, hey I'll buy that too. But to say linux is "disorganized crap" sounds like the statement of someone stuck in 1993. Sure, linux started out as a bit of a mess, but it's evolved over the years into something far beyond its humble origins, and has far surpassed anything Mr Torvalds (or anyone else for that matter) ever imagined.
By Cromm, I'm old enough to recognize language drift as it happens...
kill me.
**edit** removed "not". Put it back where it belongs in "not enough sleep".
If we all here at LXer (and even the friend I mentioned) met in person and sat around with a cup of coffee or tea discussing most of what's discussed here things would be quite different, a lot less defensive and probably more enlightening for all of us. Some of you have probably already done that and know each other more personally.
Quoting:But to say linux is "disorganized crap" sounds like the statement of someone stuck in 1993. Sure, linux started out as a bit of a mess, but it's evolved over the years into something far beyond its humble originsYou are probably quite right about his view being historical. He has been around so long that code experiences of days gone by is certainly etched in his psyche to some degree. Old-timer syndrome.
I say we can evaluate code quality without reading the actual code- I already gave some examples of that. Coverity's studies, real-world uses and performance, the phenomenal rate of successful changes to the kernel, its incredible flexibility and adaptability all refute any baseless claims of "my friend says it's junk". Joel Spolsky's essay is right on target for this discussion- it's all about code quality and maintainability. Programmers like to be all mysterious and lofty, and pretend that such things are beyond the ken of mere mortals, and especially dumb old end lusers. They're not. If the kernel code really is an ugly mess, a lot of us chickens here would like to know more. So far we're not seeing anything that supports that. And now I'm done, because this has to be one of the most unproductive tangents ever! It might even be a LXer record :)
I could post something off-topic, if you think that would help.
I disagree, it is interesting to watch a thread like this unfold when you don't have a dog in the race. Whether we're right, wrong, or (as is most often the case) somewhere in between, how we respond to other people (assuming the humanity of everyone involved) says a lot about us individually.
No judgment, no conclusions, just that it's interesting to watch. I've actually learned a fair chunk about myself from interacting with some of the more determined personalities on this forum. In that respect, this has been at least mildly productive to watch.
Quoting:Which unix design principles were those? Got any citations? And 'reboot'? come on, that's a microsoft innovation if there ever was one.
Microsoft didn't invent the 'reboot' adagium itself (it never invents anything it seems), but like I suggested, 'borrowed' it from another OS, UNIX. Right from the horses mouth:
Quoting:We went to lunch afterward, and I remarked to Dennis that easily half the code I was writing in Multics was error recovery code. He said, "We left all that stuff out. If there's an error, we have this routine called panic, and when it is called, the machine crashes, and you holler down the hall, 'Hey, reboot it.'"
Though it seems you're not really familiar with 'ancient' UNIX history, I assume you know Dennis Ritchie. The quote and far more interesting stuff are from the Multicians site about UNIX:
http://www.multicians.org/unix.html
Which leads me to the following: How to 'measure' code quality.
The first reason the Linux kernel may be perceived as a mess, in my opinion, is because it was written in C. One of the most difficult languages to understand. That it's not necessary - even at the time was UNIX started - to write an OS in a low level language was shown by MULTICS. But there is a reason to keep the code 'messy'.
Again from multicians:
Quoting:The development team spent a lot of effort finding ways to build the system in a disciplined way. The Multics System Programmer's Manual (MSPM) was written before implementation started: it was 3000 or so pages and filled about 4 feet of shelf space in looseleaf binders. (Clingen and Corbató mention that we couldn't have built the system without the invention of the photocopier.) High level language, design and code review, structured programming, modularization and layering were all employed extensively to manage the complexity of the system, which was one of the largest software development efforts of its day.
http://www.multicians.org/general.html , 1.3.9
One of the reasons MULTICS 'lost' from UNIX was because it was more a 'research / university' project trying to do things right, than UNICS, which tried to 'make things work first'. The example above shows 'code of quality' has its drawbacks; if you wanted to join on the MULTICS project, I assume you had to read a lot of those 3000 pages before actually being able to commit some code. Because internet was not available to any developer to download that 3000 pages back then, it must have been a real problem for the ones located at other places.
Which brings up the next question: Does Linux has a 'programming style guide'?
> Though it seems you're not really familiar with 'ancient' UNIX history, I assume you know Dennis Ritchie.
Oh, I'm pretty familiar with ancient writings, but I think I came to a completely different interpretation of the anecdote you posted above. AFAIK halting or rebooting on kernel panic is still the standard procedure in commercial unices, since all bets are off anyway. You really don't want an insane kernel scribbling all over the disk while trying to work things out.
But that's a far cry IMHO from saying "if something doesn't work, just reboot"...
> Which brings up the next question: Does Linux has a 'programming style guide'?
The kernel certainly has such a guide, and there's a gnu style guide as well IIRC.
Quoting:Oh, I'm pretty familiar with ancient writings
Of course, far more than I do, I knew. But I just liked to be arrogant for once, hope you don't mind.
Quoting:"if something doesn't work, just reboot"...
Well, I thought that's what 'kernel panic' was intended for. But I agree in the Windows-era it has a new meaning; where you reboot though the kernel didn't halt. It's based on interpretation and opinion I think; so after all it seems we can give Microsoft credit for the 'reboot' adagio. They should have patent rebooting as a 'business method' looking back at it.
No, of course not, feel free. I don't assume to know more than you BTW.
> so after all it seems we can give Microsoft credit for the 'reboot' adagio. They should have patent rebooting as a 'business method' looking back at it.
Haha, that's a very plausible scenario!
Quoting:tuxtom, this isn't about personalities.Well, herzeleid's initial remarks were pretty personal about someone I know. There's BIG difference between talking smack about an operating system and talking smack about a human being you haven't even met. If you can't see or tell the difference between the two then I truly feel sorry for you.
Quoting:I would still expect you to back up what you saidI didn't say it, I attributed it to someone else and I did back it up with his resume.
I called a truce on the topic and acquiesced. I also acknowledged that herzeleid was likely correct in that the person's view originated in a dated experience.
May I call a truce on the topic with you?
Quoting:You really don't want an insane kernel scribbling all over the disk while trying to work things out.Well, in the Redmond world, these two are not mutually exclusive, or even just barely touching. Windows doesn't use industry-standard memory protections very well, and a stray program can corrupt kernel (usually driver) memory. The effect on kernel sanity can vary, so "Reboot" is the safest option, and often the best way to clean out whatever corruption has crept in.
But that's a far cry IMHO from saying "if something doesn't work, just reboot"...
Quoting:You really don't want an insane kernel scribbling all over the disk while trying to work things out
Thanks - I got a really vivid image from that...
Post a comment
A free account is needed to post. Write your comment here first: your text is kept in this browser while you sign up or log in, and is waiting for you when you come back.
Your message:Sign up and post (it is free) or Log in and post

EDIT: I thought your previous comment was way more interesting.