Well, I was refering to writing HTML vs WYSIWYG. When you need nice graphics, equations or precise formatting, HTML obviously doesn't cut it, but for many simple cases it works.
Sadly, I can't agree about the portability of LaTeX (except in a theoretical sense that you can convert it to almost anything). I don't remember ever seeing anybody use it under Windows or even outside of academia (and even there not so much anymore). So, at least in some circles it isn't portable at all.
Anyway, the point I was trying to raise (going further and further offtopic) is that WYSIWYAF (what you see is what you asked for) is much better for writing complex documents. Since it has some learning curve, fewer people use it every day and I bet most computer users don't even know it exists (I can use my whole family as an example).
Whole books are being written in MS Word these days and I even doubt that all publishers accept LaTeX. Terrible.
I've personally never seen a good wysiwyg equation editor.
Personally, I would go further than that. I've never seen a good WYSIWYG text editor. For anything bigger than a couple of pages, it becomes impossible for me to achieve consistent visual style with MS Word. I can never get the table of contens working (why does it need a special command in order to update itself? - this is absurd!).
I dare say, writing directly in HTML is much easier in many cases (and a lot more portable:-).
While I was growing up in Eastern Europe, it was completely impossible to find any of the volumes. They weren't available for sale and almost all copies had been stolen from the libraries (well, not exactly "stolen" but many people forgot to return the book and would much prefer to pay the library fine).
I eventually managed to get a hold of "Searching and Sorting" for a couple of days and I tried to read it. Needless to say, I didn't get far. One needs months to consume the whole thiing:-)
When I moved to the US, the first thing I did was to buy the series. I couldn't believe that it was actually available in stores! I have to admit though, I still haven't read the three volumes completely - ah, I miss the enthusiasm of my youth.
Didn't somebody say that one should never attempt to read the whole thing ? One should turn to a specific section and read it only when the need arises. That makes me feel better:-)
The friends didn't allow him to use their computers. They just all happened to be on the same network. Unix guy observed the wire while Windows guys used their own respective computers to share data. Is there a EULA violation there?
I have no idea. But who knows what could happen in a court ? It could be argued that such reverse engineering can not happen without at least some level of cooperation with the Windows-using friends (the Unix guy must find out in some way what SMB operations they are trying to perform, or ask them to do something, etc).
Realistically, you need extended time with full access to a Windows machine in order to do any useful reveres-engineering. However, does using somebody else's machine consitute an EULA violation, when you didn't agree to the EULA?
My head hurts. I will shut up (and move to Europe):-)
Now, tell me: How is any EULA violated? I never agreed to it in the first place, so I can't be violating it.
Not you - your friends violated the EULA by allowing you to use their computers to reverse engineer the protocol. I have never actually read an EULA in its entirety (who has?), but there must be something in there that prohibits that:-)
Running (or even working for) a small company puts everything in different perspective, a perspective which many people don't apreciate until they have tried it themselves. In reality if I open the source, copyright won't protect me since I can't really afford to defend it.
I am thinking that if open source is better for a certain market or application, market pressure will force the developer to open it eventually. It should be a natural thing, not a dogma - "open or die":-)
I shouldn't have said nonsense - I apologize. But I still strognly disagree and I think that you are seeing only one side of the issue. The scenario where the big corporation pays me - the developer (some people call us a "waged slaves":-) - to develop something for them.
However my company is not Red Hat, IBM or even Mandrake. What applies to a big corporation with solid (ahem - IBM) financial backing, does not apply to everybody. (Plus, I am not sure how successful RedHat or Mandrake are, and IBM is after all a _hardware_ manufacturer!)
A small company with an innovative product has zero incentive to open-source it. That would be suicide.
I agree there are cases, perhaps many, where open source is acceptable and desirable, but it is far from universal.
Since you are posting as an AC, I doubt you will read this, but this slashdot and I have to reply:-)
eh? The SUID bit is a hack to get around the fact that the old unix file permissions are not very fine grained.
In Windows, if you wanted a user to execute trusted code, you'd add his user id to the ACL for that file with execute permissions. Simple. No permission to read that file - you can't read it.
That is wrong - perhaps you misunderstand the purpose of the SUID bit. It has nothing to do with the permissions on the file itself (obviously the user needs to have execute access). SUID allows the user to execute code in different (perhaps elevated) privilege context than his own. Windows ACLs control the permissions on the file itself, but the file always executes in the current user's context.
Under Windows runas has a superficially similar purpose, but it is practically useless since it requires the administrator password every time.
"No one is stopping you from making money writing free software."
Ahem, have you actually tried that, or even considered it ? If you had, you would know it was nonsense.
I could write the best software and then you could take it and package it in a better box (because you supposedly had more capital than me - you could be Microsoft,for example), and I wouldn't make a dime. No, thank you.
I would rather do like Id software - release the source code eventually, after I have moved on to the next generation.
You make valid points and much of it is a matter of opinion anyway. I will address only the matter of ACLs.
It is true that a typical Linux installation doesn't have ACLs. However ACLs do not make a system more secure. On the contrary. Try administering dozens of nested directories with dozens of different permissions (some granted, some revoked, depending on their relative order), users, nested groups, owners, attributes, some inherited, some not. It is a nightmare. Often it is impossible to fit it in one's head. It is too easy to get it wrong by accident. I have on more than one occasion.
By comparison Unix permissions seem really primitive, however they are really easy to comprehend and verify, especially for people who have more important work than administering their systems.
A major security lapse in Windows is the lack of the SUID bit. It is extremely difficult to allow a regular user to execute a trusted piece of code - one has to resort to IPC and write mountains of code - that is why few people do it.
The net result of all this is - it is simply more technically difficult to write secure software for Windows.
If that was intended as a joke, excuse me:-) Otherwise, I am afraid it is utter nonsense. You _do not_ download CGI and execute them on your machine. Completely unlike ActiveX.
I have an Athlon XP 2000/256 MB RAM + GeForce FX 5600 256 MB and Doom 3 is very slow. I never get decent frame rates - even in 640x480 there is occasional stuttering. (It still looks impressive though).
I do have less RAM than the minimum game requirements (256 MB vs 384 MB), but that is supposed to affect only the time it takes to change levels.
Sadly, I will never try Half Life II, which I hear is a great game, because I will never buy a game which _requires_ Internet to play. (I remember one time I used my gmail account to move an important file from my office to my home machine. Precisely in that evening gmail became temporarily unavailable. I don't blame Google, since it is a beta service anyway, but it taught me a very important lesson - never, never, rely on the Internet, especially when you can use a good olde floppy disk:-)
Thanks for posting these links. When I read the initial article I was outraged, since I happen to own one of the movies on the list (When Harry Met Sally). I was ready to return my wide-screen DVD for an exchange. Your site made things clearer.
BTW, I am really surprised there is a need for a wide-screen advocacy site. I thought it was a widely (some pun intended) accepted fact that wide-screen is how most movie creators intended for their movies to be seen.
The problem with 3D desktop is that it doesn't scale well to more than one screen.
Even Microsoft has problems with that in Avalon. AFAIK, for multiple-screen 3D support in Avalon they require exactly the same graphics card to be used for the second screen and they essentially duplicate the 3D scene data. Bus-bandwidth killer.
"Performance is as good as any native language would be. In fact, as has been demonstrated a number of times, Java code running on a HotSpot JIT compiler has the potential to be faster than native code."
A popular myth, which unfortunately doesn't make it true. There are fundamental performance limitations in the Java language _by design_. The biggest one of them is that all Java code must rely on excessive "pointer chasing" - all data is accessible only through a pointer. This is the ultimate performance killer for modern CPU achitectures and it gets worse as CPU speeds and memory speeds diverge further. A simplistic explanation for this is that the CPU cannot operate on the data if it has to first fetch the reference which points to the data. This kills any ILP (instructionlevel parallelism).
Java hits the "memory wall" (which many consider to be the essential problem of high-performance computing) sooner than other languages.
This is not to say that slow pointer-chasing code cannot be written in other languages, or that Java is a bad language. Java's design is a deliberate tradeoff between ellegance and performance.
I didn't want to do anything fancy - that's why I was so disappointed.
To choose a well-known example, I tried running VC6's command line compiler - it is a console application that does little more than read its input files and write output files and messages. No obscure UI controls or undocumented NT kernel calls for sure. No excuse for it not to work! You can't get any simpler than that with a useful application.
Yet, it didn't work. Failed for two different reasons when using the original MSVCRT.DLL and the one provided with Wine. Interestingly, the integrated environment kind of worked - it displayed its GUI. It crashed as soon as I tried to do something real, like opening a project, but at a first glance _it appeared functional_. So I am beginning to wonder whether all Wine success stories are not just starting the application without actually trying to use it ?
After this experience I don't think I could rely on Wine to run a real applications in general. Perhaps if you know that it runs a specific application, because you have tested it, it is useful, but as a general tool for Windows->Lunix transition, no!
Are you kidding me ? I recently (a couple of months ago) downloaded Wine and tried it with a few very simple applications. What a disappointment! Not a single one of them worked.
After years and years of development Wine still cannot run even simple command line applications. That is a sure indication that it will never be ready.
Amen, brother ! That is what I am hoping for, but it seems too good to be true.
The problem, as I see it, is that there will simply be less software to write. Let's face it: not many useful new OS-es will be created, or office suites, or new platforms to port BSD to, or whatever. Even game creation has little to do with programming anymore - it is mostly about the artwork and using an off-the-shelf 3D library (of which there are plenty).
The positive side of things is that this is already the case with all other "regular" occupations. We'll have to live with it as they do.
I didn't realize that Dave Cutler was no longer responsible for the NT kernel, but apparently that is the case. That explains a lot.
I read somewhere that he argued hard against putting the GDI (and other similar cr*p) in the kernel, but of course he couldn't win against corporate management. On today's machines the overhead of user-mode GDI would have been totally acceptable (see X:-), but it's too late for that, isn't it? He was right but who cares now... He probably stepped down voluntarily seeing how all his work (and the truly excellent kernel) was going down the drain.
In any case, the continued development of a good kernel requires a strong, extremely competent leader like Dave Cuttler was and Linus Torvalds is. I doubt that Microsoft will find anybody else to fill those big shoes.
The problem with Microsoft's updates, and one that usually forces me to delay installing the patch for a while, is the need to reboot.
While I would accept automatic installation of critical patches, automatic reboots are out of the question..:-)
Well, I was refering to writing HTML vs WYSIWYG. When you need nice graphics, equations or precise formatting, HTML obviously doesn't cut it, but for many simple cases it works.
Sadly, I can't agree about the portability of LaTeX (except in a theoretical sense that you can convert it to almost anything). I don't remember ever seeing anybody use it under Windows or even outside of academia (and even there not so much anymore). So, at least in some circles it isn't portable at all.
Anyway, the point I was trying to raise (going further and further offtopic) is that WYSIWYAF (what you see is what you asked for) is much better for writing complex documents. Since it has some learning curve, fewer people use it every day and I bet most computer users don't even know it exists (I can use my whole family as an example).
Whole books are being written in MS Word these days and I even doubt that all publishers accept LaTeX. Terrible.
I've personally never seen a good wysiwyg equation editor.
Personally, I would go further than that. I've never seen a good WYSIWYG text editor. For anything bigger than a couple of pages, it becomes impossible for me to achieve consistent visual style with MS Word. I can never get the table of contens working (why does it need a special command in order to update itself? - this is absurd!).
I dare say, writing directly in HTML is much easier in many cases (and a lot more portable :-).
Wow! A review of the bible ! :-)
While I was growing up in Eastern Europe, it was completely impossible to find any of the volumes. They weren't available for sale and almost all copies had been stolen from the libraries (well, not exactly "stolen" but many people forgot to return the book and would much prefer to pay the library fine).
I eventually managed to get a hold of "Searching and Sorting" for a couple of days and I tried to read it. Needless to say, I didn't get far. One needs months to consume the whole thiing :-)
When I moved to the US, the first thing I did was to buy the series. I couldn't believe that it was actually available in stores! I have to admit though, I still haven't read the three volumes completely - ah, I miss the enthusiasm of my youth.
Didn't somebody say that one should never attempt to read the whole thing ? One should turn to a specific section and read it only when the need arises. That makes me feel better :-)
The friends didn't allow him to use their computers. They just all happened to be on the same network. Unix guy observed the wire while Windows guys used their own respective computers to share data. Is there a EULA violation there?
I have no idea. But who knows what could happen in a court ? It could be argued that such reverse engineering can not happen without at least some level of cooperation with the Windows-using friends (the Unix guy must find out in some way what SMB operations they are trying to perform, or ask them to do something, etc).
Realistically, you need extended time with full access to a Windows machine in order to do any useful reveres-engineering. However, does using somebody else's machine consitute an EULA violation, when you didn't agree to the EULA?
My head hurts. I will shut up (and move to Europe) :-)
I will shut up
Now, tell me: How is any EULA violated? I never agreed to it in the first place, so I can't be violating it.
Not you - your friends violated the EULA by allowing you to use their computers to reverse engineer the protocol. I have never actually read an EULA in its entirety (who has?), but there must be something in there that prohibits that :-)
Running (or even working for) a small company puts everything in different perspective, a perspective which many people don't apreciate until they have tried it themselves. In reality if I open the source, copyright won't protect me since I can't really afford to defend it.
:-)
I am thinking that if open source is better for a certain market or application, market pressure will force the developer to open it eventually. It should be a natural thing, not a dogma - "open or die"
Yes, its true. Prequels suck. Guess which other movie I have in mind :-)
I shouldn't have said nonsense - I apologize. But I still strognly disagree and I think that you are seeing only one side of the issue. The scenario where the big corporation pays me - the developer (some people call us a "waged slaves" :-) - to develop something for them.
However my company is not Red Hat, IBM or even Mandrake. What applies to a big corporation with solid (ahem - IBM) financial backing, does not apply to everybody.
(Plus, I am not sure how successful RedHat or Mandrake are, and IBM is after all a _hardware_ manufacturer!)
A small company with an innovative product has zero incentive to open-source it. That would be suicide.
I agree there are cases, perhaps many, where open source is acceptable and desirable, but it is far from universal.
Since you are posting as an AC, I doubt you will read this, but this slashdot and I have to reply :-)
eh? The SUID bit is a hack to get around the fact that the old unix file permissions are not very fine grained.
In Windows, if you wanted a user to execute trusted code, you'd add his user id to the ACL for that file with execute permissions. Simple. No permission to read that file - you can't read it.
That is wrong - perhaps you misunderstand the purpose of the SUID bit. It has nothing to do with the permissions on the file itself (obviously the user needs to have execute access). SUID allows the user to execute code in different (perhaps elevated) privilege context than his own. Windows ACLs control the permissions on the file itself, but the file always executes in the current user's context.
Under Windows runas has a superficially similar purpose, but it is practically useless since it requires the administrator password every time.
"No one is stopping you from making money writing free software."
Ahem, have you actually tried that, or even considered it ? If you had, you would know it was nonsense.
I could write the best software and then you could take it and package it in a better box (because you supposedly had more capital than me - you could be Microsoft,for example), and I wouldn't make a dime. No, thank you.
I would rather do like Id software - release the source code eventually, after I have moved on to the next generation.
You make valid points and much of it is a matter of opinion anyway. I will address only the matter of ACLs.
It is true that a typical Linux installation doesn't have ACLs. However ACLs do not make a system more secure. On the contrary. Try administering dozens of nested directories with dozens of different permissions (some granted, some revoked, depending on their relative order), users, nested groups, owners, attributes, some inherited, some not.
It is a nightmare. Often it is impossible to fit it in one's head. It is too easy to get it wrong by accident. I have on more than one occasion.
By comparison Unix permissions seem really primitive, however they are really easy to comprehend and verify, especially for people who have more important work than administering their systems.
A major security lapse in Windows is the lack of the SUID bit. It is extremely difficult to allow a regular user to execute a trusted piece of code - one has to resort to IPC and write mountains of code - that is why few people do it.
The net result of all this is - it is simply more technically difficult to write secure software for Windows.
If that was intended as a joke, excuse me :-)
Otherwise, I am afraid it is utter nonsense. You _do not_ download CGI and execute them on your machine. Completely unlike ActiveX.
I have an Athlon XP 2000/256 MB RAM + GeForce FX 5600 256 MB and Doom 3 is very slow. I never get decent frame rates - even in 640x480 there is occasional stuttering. (It still looks impressive though).
:-)
I do have less RAM than the minimum game requirements (256 MB vs 384 MB), but that is supposed to affect only the time it takes to change levels.
Sadly, I will never try Half Life II, which I hear is a great game, because I will never buy a game which _requires_ Internet to play.
(I remember one time I used my gmail account to move an important file from my office to my home machine. Precisely in that evening gmail became temporarily unavailable. I don't blame Google, since it is a beta service anyway, but it taught me a very important lesson - never, never, rely on the Internet, especially when you can use a good olde floppy disk
Thanks for posting these links. When I read the initial article I was outraged, since I happen to own one of the movies on the list (When Harry Met Sally). I was ready to return my wide-screen DVD for an exchange.
Your site made things clearer.
BTW, I am really surprised there is a need for a wide-screen advocacy site. I thought it was a widely (some pun intended) accepted fact that wide-screen is how most movie creators intended for their movies to be seen.
The problem with 3D desktop is that it doesn't scale well to more than one screen. Even Microsoft has problems with that in Avalon. AFAIK, for multiple-screen 3D support in Avalon they require exactly the same graphics card to be used for the second screen and they essentially duplicate the 3D scene data. Bus-bandwidth killer.
"Performance is as good as any native language would be. In fact, as has been demonstrated a number of times, Java code running on a HotSpot JIT compiler has the potential to be faster than native code."
A popular myth, which unfortunately doesn't make it true.
There are fundamental performance limitations in the Java language _by design_. The biggest one of them is that all Java code must rely on excessive "pointer chasing" - all data is accessible only through a pointer. This is the ultimate performance killer for modern CPU achitectures and it gets worse as CPU speeds and memory speeds diverge further.
A simplistic explanation for this is that the CPU cannot operate on the data if it has to first fetch the reference which points to the data. This kills any ILP (instructionlevel parallelism).
Java hits the "memory wall" (which many consider to be the essential problem of high-performance computing) sooner than other languages.
This is not to say that slow pointer-chasing code cannot be written in other languages, or that Java is a bad language. Java's design is a deliberate tradeoff between ellegance and performance.
Oh, of course. It is much more probable the change is due to an act of God :-)
I didn't want to do anything fancy - that's why I was so disappointed.
To choose a well-known example, I tried running VC6's command line compiler - it is a console application that does little more than read its input files and write output files and messages. No obscure UI controls or undocumented NT kernel calls for sure. No excuse for it not to work! You can't get any simpler than that with a useful application.
Yet, it didn't work. Failed for two different reasons when using the original MSVCRT.DLL and the one provided with Wine.
Interestingly, the integrated environment kind of worked - it displayed its GUI. It crashed as soon as I tried to do something real, like opening a project, but at a first glance _it appeared functional_. So I am beginning to wonder whether all Wine success stories are not just starting the application without actually trying to use it ?
After this experience I don't think I could rely on Wine to run a real applications in general. Perhaps if you know that it runs a specific application, because you have tested it, it is useful, but as a general tool for Windows->Lunix transition, no!
Are you kidding me ? I recently (a couple of months ago) downloaded Wine and tried it with a few very simple applications. What a disappointment! Not a single one of them worked. After years and years of development Wine still cannot run even simple command line applications. That is a sure indication that it will never be ready.
Amen, brother ! That is what I am hoping for, but it seems too good to be true.
The problem, as I see it, is that there will simply be less software to write. Let's face it: not many useful new OS-es will be created, or office suites, or new platforms to port BSD to, or whatever. Even game creation has little to do with programming anymore - it is mostly about the artwork and using an off-the-shelf 3D library (of which there are plenty).
The positive side of things is that this is already the case with all other "regular" occupations. We'll have to live with it as they do.
Yes - Mirabillis. I remember downloading ICQ from www.mirabillis.com in the old days, but the site doesn't seem to work anymore.
I didn't realize that Dave Cutler was no longer responsible for the NT kernel, but apparently that is the case. That explains a lot.
:-), but it's too late for that, isn't it? He was right but who cares now ... He probably stepped down voluntarily seeing how all his work (and the truly excellent kernel) was going down the drain.
...
I read somewhere that he argued hard against putting the GDI (and other similar cr*p) in the kernel, but of course he couldn't win against corporate management. On today's machines the overhead of user-mode GDI would have been totally acceptable (see X
In any case, the continued development of a good kernel requires a strong, extremely competent leader like Dave Cuttler was and Linus Torvalds is. I doubt that Microsoft will find anybody else to fill those big shoes.
I will have to go cry too
AOL did not create ICQ - they just bought it.
The problem with Microsoft's updates, and one that usually forces me to delay installing the patch for a while, is the need to reboot. While I would accept automatic installation of critical patches, automatic reboots are out of the question .. :-)