This is a great example: were the important protocols and general structure patented, what you know of as the internet would not have been delayed or more expensive, it would have never existed.
I'm going to go out on a limb and speculate that it would have existed, in a different form.
Remember SNA? When TCP/IP was young, SNA was better. There is no reason the web couldn't run on SNA. But it would be a really different web; your ISP would (auto-)generate device configurations so you could connect. But it would still provide the same basic functionality to those with access to it.
TCP/IP prevailed over SNA because it was unencumbered and readily available, not on technical merit.* Ditto Ethernet over Token Ring. The web we have prevailed over all its stillborn competitors because it was unencumbered.
(* I make no judgement of technical merit, I merely point out that it was not the principal factor.)
I also have run my own "hobby" mail server for about a dozen years, and host a half-dozen domains that receive mail. My tool chain is Postfix/Dovecot/Amavis/ClamAV/SpamAssassin/Squrirrelmail on OpenBSD, and I also do my own DNS (with two secondaries in Europe).
Every couple of years, I need to do a technology refresh, but other than that the system runs itself. Yes, the power fails at my house, but the UPS under NUT lets it all come down gracefully and come back up unattended..
Thanks to the great care I took in setting it all up, this stuff is so reliable that I can afford to leave it alone for months at a stretch. It can be done.
When has Microsoft ever forced someone to upgrade their browser?
This really happened, in about 1996.
I'm too lazy to recall the details, but my computer was unusable until I allowed the upgrade to complete. Multiple reboots, cancels, retries, etc.; I even pulled the power cord during the process at one point, to no avail. My work depended on using the currently installed version, so it mattered.
It was the thing that pushed me over the edge with Microsoft. I have recently eased off (I'm typing this on a Windows media center PC), but I STILL have a Microsoft-free server room.
(Actually, it's also Linux-free; go OpenBSD. And there's an AS/400 in there too.)
I want to log in and instantly know how much money I have, while still being able to drill down into individual accounts to access the transaction history.
CIBC offers this in Canada.
I want to be able to transfer money between my accounts quickly and easily, without fees or limits.
This too.
I want to be able to pay bills on line,
This too.
have checks cut and then mailed to me, I want to deposit checks by scanning them at home and I want to generate disposable credit card numbers for online purchases.
No luck on this stuff. The disposable credit card numbers would be nice.
A few years ago I ran a service business with a monthly fee.
I was able to generate a transaction file (in the service's operational software) to send to my credit union to debit this fee from my customers' accounts and credit mine, but the file had to be manually uploaded to the credit union's secure web site.
My billing was completely automated except for that one manual intervention. It would have been really nice to automate that step as well, via upload to an internet-accessible endpoint.
Some "staggering" would make sense due to timezone differences, but this is measured in hours rather than days, weeks, months (even years).
There is a companion "Live Timing" internet feed, where you can see the same lap/sector time info for all cars that the teams in the pit lane do. To benefit from that, you need to be watching in real time.
I've never been a user of a mainframe system, and I understand they were coded to be a lot more reliable than desktop class microcomputers. But having started using computers in the early 80's as a small child, and seeing where we are now, there's just no comparison.
I was programming the IBM System/34 in 1981.
If my program produced incorrect output, or failed to compile, the first thing I did was check my code for errors. Why? Because it was always my own coding error that caused the problem.
If there were any errors in the implementation of either the hardware or the software of that System/34, I never found any of them. I didn't find my first platform bug (an issue in SEU on an AS/400, if I recall correctly) until about 1988 or 1989.
I'm not coding for those platforms any more. Today when I experience incorrect output from my programs, I immediately suspect the platform implementation. And often, it is the platform implementation, not my source code. That was to me utterly unthinkable on any mainstream platform before about 1985.
(Actually, in my experience there is an exception to this miserable situation. OpenBSD is like a 1980's IBM System/38: everything is documented; the documentation is findable, complete, correct, and matches the behaviour of the documented system; and, with very,very few exceptions, everything works exactly as intended. That's why I use it, and that's why my name is on the donations page.)
This attitude is why your American health care sucks, why your American school system sucks, why your American news media sucks, etc. etc. You have no sense of community, of sharing the burdens of life.
[redneck American voice] "sense of community"? "sharing the burdens of life"? You sound like one 'o them thar' Godless Commernists! We don't want your kind around here! Gawd told us to invade I-Rak and Gawd's a-tellin' me ta shoot ya with my second amendment shawtgun. [/redneck American voice]
"Rednecks" are a hell of a lot more likely to look out for each other than urbanites and the suburbanites who flee them. Seriously, go to Houston, Detroit, or LA and see how much of a "sense of community" there is. Don't forget your second-amendent shotgun; you'll need it more there than you will in Kennesaw, Georgia.
If you go to a Waffle House in the middle of the night, and casually start talking about this with one of the guys you think of as "rednecks", they probably won't support AT&T. There's a reason that political ads use the "family" angle.
Ah, the paradox that is the US.
Personally, I have never met an American I didn't like. I don't know where these trolls like the "fuck you" poster above come from, but the mentality behind his comment seems to pervade American big business.
To keep this on topic, a $20k invoice for the transmission of a few megs of data is ridiculous. The per-megabyte charge for text messages is equally ridiculous. If the data and cellular networks were run as a utility* instead of for maximum extraction of cash, these services would be very inexpensive. We rail against the RIAA for clinging to a scarcity business model when bits are plentiful and cheap; why not rail likewise at the business model used for charging for the fiber and airwaves they are routed over?
I think that's enough. I'm sure you could easily argue back but this is my rant about why this boost is not the saving grace to JavaScript.
Darn right. Virtually everyone one of your complaints is either based on personal taste (classes, strict typing, etc), missing bits of framework (threading, logging), or the inability to differentiate the DOM from JS the language (load order issues, dialog complaints, etc). About the only legitimate complaints I was able to identify are:
* lack of modules
* lack of namespaces
And both of these are well-known issues that were *supposed* to be addressed in JS4 (and hopefully will be addressed in the future).
Spoken like someone who has not programmed in enough languages to understand the GP's points.
For myself, the "Postel's Law" item has been the cause of a lot of grief, tied in a dead heat with the lack of strict typing. Grrrr....
Afterall, Firefox developers probably aren't the most 1337 C/C++ coders out there, but they are probably amongst the best JavaScript ones.
Whoa! Not so fast!
The Javascript interpreter in Firefox is written in C, and related stuff (XPConnect, etc.) is written in C++. You should go read it some time; this stuff was definitely NOT written by mere mortals.
You can browse the source at the Mozilla Developer Center; no link, so only the truly interested will go there. Look in mozilla/js/src.
In the 90's, the AS/400 went from a 32-bit CISC processor to a 64-bit RISC processor.
If this were Intel, we would have had to go through the code looking for bustage (like we did when Windows' wParam went from 16 to 32 bits). This being an AS/400, we didn't even have to recompile! Just copy everything to the new system; on first execution, programs are converted to 64-bit opcodes.
ALL AS/400 (iSeries, System i) programs have been 64-bit since the mid-90s; no programmer intervention required.
Some people actually get paid for writing open source software.
I have the good fortune to be on the team building the Flock Browser. I get paid, you get to use it for free.
Also: It doesn't work for everyone, but sharing the load of software creation can be a motive. We both need software that does A and B; you build A at your expense, I'll build B at mine (and programmers get paid to do this); then we share the result. And now that it's built, let's share it with others, too.
So, there are lots of bugs in Linux! Good thing I'm using Windows.
Congrats on your +5 Funny; now, let me explain why it's funny.
I am currently an active user of four different operating systems. In chronological order of first use, they are:
OS/400 (IBM midrange)
Windows
Linux
BSD (to be specific, OpenBSD)
Operating systems (like everything else) can be divided into two groups. I put OS/400 and OpenBSD together into one group, and Windows and Linux together into the other. What OS/400 and OpenBSD have in common:
They are reliable
They are well documented
They do not crash
They emphasize correctness over glitz and features
They do not have fanboys on Slashdot (well, except maybe me:))
So to me, choosing Windows over Linux is the same as choosing Linux over Windows, and therefore funny.:)
(To be fair, Linux and Windows are desktop operating systems targeted at the general public, and therefore have different motivations behind their design decisions. Myself, I use Ubuntu and Windows 2000, which incidentally has not crashed in years of daily use.)
ClearCase: IMHO, CC is not necessary unless you've got a project with a very large team and an extremely large code base (I'm thinking 1 million SLOC and up...)
Last year a team of some 35 of us actively worked on a project based on Mozilla. The Mozilla codebase is spread through more than 3500 directories, and $DEITY only knows how many (large) files. If each directory contained an average of 1000 SLOC, that's 3.5 million SLOC. Subversion handled this with no problems whatsoever.
Subversion gets 2 thumbs up from me (and thanks, Rick, for being the subversion expert!).
You can store the boot record of only one operating system in a single MBR, so a problem becomes apparent when you require multiple operating systems.
Not quite true, because the program in the MBR is not necessarily a part of any specific operating system.
Remember those four primary partitions? EACH one of those can contain a different operating system, and the MBR will boot whichever one of those four is marked as active.
DOS FDISK can be used to mark a partition active, allowing you to boot a different operating system on the next boot. From that other operating system you would need to be able to do a similar manipulation to boot into DOS again.
Of course, this is a PITA compared to making a selection at boot time...
Think about it... how else would you handle something as simple as a PHP or Perl script accessing the local database?
It gets even more interesting for shared web hosting.
ALL of the scripts for the various virtual hosts must be readable by the user that the web server runs as. This means that any one of the sites could install a cgi script that reads all the other sites' scripts to look for passwords. Any database passwords stored in any script, for any site, cannot be hidden from other virtual hosts on the same server.
My workaround for this is to set a password in a special environment variable "SERVERTOKEN" for each virtual host. Each virtual host only has access to the value of this variable for their own virtual host. Then, make sure that only root can read the Apache config.
If security is important to you, this demonstration should show that browsers that are redistributions of the official Mozilla releases are never going to give you security updates as quickly as Mozilla will itself for its supported products.
The above statement is: True.
Ummmm... have you considered the possibility that the Netscape developers have fixed stuff in Mozilla code that the Mozilla foundation is (so far) unaware of?
I believe AOL has committed to returning their base Mozilla code fixes back to the Mozilla Foundation (sorry, no link).
Theo may have a reputation for being difficult, but I have seen no evidence of that.
What I see is an intelligent, dedicated person who does not suffer fools gladly. And unfortunately, he runs into more morons than he should have to put up with. Those morons then tag him as being "difficult".
Next time you see someone slam Theo, please consider which of the two has been a more valuable contributor, and judge accordingly.
I'm going to go out on a limb and speculate that it would have existed, in a different form.
Remember SNA? When TCP/IP was young, SNA was better. There is no reason the web couldn't run on SNA. But it would be a really different web; your ISP would (auto-)generate device configurations so you could connect. But it would still provide the same basic functionality to those with access to it.
TCP/IP prevailed over SNA because it was unencumbered and readily available, not on technical merit.* Ditto Ethernet over Token Ring. The web we have prevailed over all its stillborn competitors because it was unencumbered.
(* I make no judgement of technical merit, I merely point out that it was not the principal factor.)
I also have run my own "hobby" mail server for about a dozen years, and host a half-dozen domains that receive mail. My tool chain is Postfix/Dovecot/Amavis/ClamAV/SpamAssassin/Squrirrelmail on OpenBSD, and I also do my own DNS (with two secondaries in Europe).
Every couple of years, I need to do a technology refresh, but other than that the system runs itself. Yes, the power fails at my house, but the UPS under NUT lets it all come down gracefully and come back up unattended..
Thanks to the great care I took in setting it all up, this stuff is so reliable that I can afford to leave it alone for months at a stretch. It can be done.
...I can't adjust the comment level slider on Slashdot on my brand new HTC Incredible 2.
Find out here: http://federal.votecompass.ca/
Seriously, go answer the questions, and see where the various parties agree/disagree with you. You may be surprised.
Some commentary on the topic from OpenBSD:
OpenBSD 3.5: "CARP License" and "Redundancy must be free"
When has Microsoft ever forced someone to upgrade their browser?
This really happened, in about 1996.
I'm too lazy to recall the details, but my computer was unusable until I allowed the upgrade to complete. Multiple reboots, cancels, retries, etc.; I even pulled the power cord during the process at one point, to no avail. My work depended on using the currently installed version, so it mattered.
It was the thing that pushed me over the edge with Microsoft. I have recently eased off (I'm typing this on a Windows media center PC), but I STILL have a Microsoft-free server room.
(Actually, it's also Linux-free; go OpenBSD. And there's an AS/400 in there too.)
I want to log in and instantly know how much money I have, while still being able to drill down into individual accounts to access the transaction history.
CIBC offers this in Canada.
I want to be able to transfer money between my accounts quickly and easily, without fees or limits.
This too.
I want to be able to pay bills on line,
This too.
have checks cut and then mailed to me, I want to deposit checks by scanning them at home and I want to generate disposable credit card numbers for online purchases.
No luck on this stuff. The disposable credit card numbers would be nice.
A few years ago I ran a service business with a monthly fee.
I was able to generate a transaction file (in the service's operational software) to send to my credit union to debit this fee from my customers' accounts and credit mine, but the file had to be manually uploaded to the credit union's secure web site.
My billing was completely automated except for that one manual intervention. It would have been really nice to automate that step as well, via upload to an internet-accessible endpoint.
Some "staggering" would make sense due to timezone differences, but this is measured in hours rather than days, weeks, months (even years).
There is a companion "Live Timing" internet feed, where you can see the same lap/sector time info for all cars that the teams in the pit lane do. To benefit from that, you need to be watching in real time.
You can keep your games, the library has the books I don't buy, and I buy my music.
However, money can't buy the BBC Formula 1 television coverage over here in Canada, and the TSN excerpts are abysmal.
North American Formula 1 fans NEED torrents to get what the people of Great Britain get as a matter of course.
And to you wonderful people who record the BBC coverage and upload the torrents, thank you, thank you, THANK YOU!
I was programming the IBM System/34 in 1981.
If my program produced incorrect output, or failed to compile, the first thing I did was check my code for errors. Why? Because it was always my own coding error that caused the problem.
If there were any errors in the implementation of either the hardware or the software of that System/34, I never found any of them. I didn't find my first platform bug (an issue in SEU on an AS/400, if I recall correctly) until about 1988 or 1989.
I'm not coding for those platforms any more. Today when I experience incorrect output from my programs, I immediately suspect the platform implementation. And often, it is the platform implementation, not my source code. That was to me utterly unthinkable on any mainstream platform before about 1985.
(Actually, in my experience there is an exception to this miserable situation. OpenBSD is like a 1980's IBM System/38: everything is documented; the documentation is findable, complete, correct, and matches the behaviour of the documented system; and, with very,very few exceptions, everything works exactly as intended. That's why I use it, and that's why my name is on the donations page.)
"Rednecks" are a hell of a lot more likely to look out for each other than urbanites and the suburbanites who flee them. Seriously, go to Houston, Detroit, or LA and see how much of a "sense of community" there is. Don't forget your second-amendent shotgun; you'll need it more there than you will in Kennesaw, Georgia.
If you go to a Waffle House in the middle of the night, and casually start talking about this with one of the guys you think of as "rednecks", they probably won't support AT&T. There's a reason that political ads use the "family" angle.
Ah, the paradox that is the US.
Personally, I have never met an American I didn't like. I don't know where these trolls like the "fuck you" poster above come from, but the mentality behind his comment seems to pervade American big business.
To keep this on topic, a $20k invoice for the transmission of a few megs of data is ridiculous. The per-megabyte charge for text messages is equally ridiculous. If the data and cellular networks were run as a utility* instead of for maximum extraction of cash, these services would be very inexpensive. We rail against the RIAA for clinging to a scarcity business model when bits are plentiful and cheap; why not rail likewise at the business model used for charging for the fiber and airwaves they are routed over?
* Not a utility like Enron, please.
I think that's enough. I'm sure you could easily argue back but this is my rant about why this boost is not the saving grace to JavaScript.
Darn right. Virtually everyone one of your complaints is either based on personal taste (classes, strict typing, etc), missing bits of framework (threading, logging), or the inability to differentiate the DOM from JS the language (load order issues, dialog complaints, etc). About the only legitimate complaints I was able to identify are:
* lack of modules
* lack of namespaces
And both of these are well-known issues that were *supposed* to be addressed in JS4 (and hopefully will be addressed in the future).
Spoken like someone who has not programmed in enough languages to understand the GP's points.
For myself, the "Postel's Law" item has been the cause of a lot of grief, tied in a dead heat with the lack of strict typing. Grrrr....
Afterall, Firefox developers probably aren't the most 1337 C/C++ coders out there, but they are probably amongst the best JavaScript ones.
Whoa! Not so fast!
The Javascript interpreter in Firefox is written in C, and related stuff (XPConnect, etc.) is written in C++. You should go read it some time; this stuff was definitely NOT written by mere mortals.
You can browse the source at the Mozilla Developer Center; no link, so only the truly interested will go there. Look in mozilla/js/src.
In the 90's, the AS/400 went from a 32-bit CISC processor to a 64-bit RISC processor.
If this were Intel, we would have had to go through the code looking for bustage (like we did when Windows' wParam went from 16 to 32 bits). This being an AS/400, we didn't even have to recompile! Just copy everything to the new system; on first execution, programs are converted to 64-bit opcodes.
ALL AS/400 (iSeries, System i) programs have been 64-bit since the mid-90s; no programmer intervention required.
I have the good fortune to be on the team building the Flock Browser. I get paid, you get to use it for free.
Also: It doesn't work for everyone, but sharing the load of software creation can be a motive. We both need software that does A and B; you build A at your expense, I'll build B at mine (and programmers get paid to do this); then we share the result. And now that it's built, let's share it with others, too.
Works for me... let them learn somehere else, then come and do their best work on OpenBSD.
Congrats on your +5 Funny; now, let me explain why it's funny.
I am currently an active user of four different operating systems. In chronological order of first use, they are:
Operating systems (like everything else) can be divided into two groups. I put OS/400 and OpenBSD together into one group, and Windows and Linux together into the other. What OS/400 and OpenBSD have in common:
So to me, choosing Windows over Linux is the same as choosing Linux over Windows, and therefore funny. :)
(To be fair, Linux and Windows are desktop operating systems targeted at the general public, and therefore have different motivations behind their design decisions. Myself, I use Ubuntu and Windows 2000, which incidentally has not crashed in years of daily use.)
Last year a team of some 35 of us actively worked on a project based on Mozilla. The Mozilla codebase is spread through more than 3500 directories, and $DEITY only knows how many (large) files. If each directory contained an average of 1000 SLOC, that's 3.5 million SLOC. Subversion handled this with no problems whatsoever.
Subversion gets 2 thumbs up from me (and thanks, Rick, for being the subversion expert!).
From the article:
Not quite true, because the program in the MBR is not necessarily a part of any specific operating system.
Remember those four primary partitions? EACH one of those can contain a different operating system, and the MBR will boot whichever one of those four is marked as active.
DOS FDISK can be used to mark a partition active, allowing you to boot a different operating system on the next boot. From that other operating system you would need to be able to do a similar manipulation to boot into DOS again.
Of course, this is a PITA compared to making a selection at boot time...
It gets even more interesting for shared web hosting.
ALL of the scripts for the various virtual hosts must be readable by the user that the web server runs as. This means that any one of the sites could install a cgi script that reads all the other sites' scripts to look for passwords. Any database passwords stored in any script, for any site, cannot be hidden from other virtual hosts on the same server.
My workaround for this is to set a password in a special environment variable "SERVERTOKEN" for each virtual host. Each virtual host only has access to the value of this variable for their own virtual host. Then, make sure that only root can read the Apache config.
That would be: Enter/Record Advance, to the right of the spacebar.
Ummmm... have you considered the possibility that the Netscape developers have fixed stuff in Mozilla code that the Mozilla foundation is (so far) unaware of?
I believe AOL has committed to returning their base Mozilla code fixes back to the Mozilla Foundation (sorry, no link).
Theo may have a reputation for being difficult, but I have seen no evidence of that.
What I see is an intelligent, dedicated person who does not suffer fools gladly. And unfortunately, he runs into more morons than he should have to put up with. Those morons then tag him as being "difficult".
Next time you see someone slam Theo, please consider which of the two has been a more valuable contributor, and judge accordingly.