I suspect that the reason is because since the tool was developed in house, there is no guarantee that anyone on the outside will be able to pick up where you left off if the client decides to dump you.
Not an issue if the OP releases his tools as Open Source.
An early Office 95 license said something to the effect "This can only be used on officially licenced Windows OSes"
Well, if you remember its name was really "Microsoft Office for Windows 95". One could argue that this makes it illegal to use on Win98, NT, Win2K, etc...
One would have to go to the trouble of getting a free libc like glibc or the BSD libc to run on the non-free OS
The application's author could argue that you were still violating the license because the "free" library is still making syscalls to the non-free OS for I/O and such.
The recording itself is still copyrighted, and I'm sure that any of the music labels would get just as pissed off if your traded classical albums. The only freedom that you have by listening to classical is that you can make your own recordings and not have to pay any licensing fees to the author.
MIDI, anyone?
I'm serious. MIDI may be written off as a joke by most people, but consider:
Keyboard instruments (piano, organ, harpsichord, etc) are the only acoustic instruments that the average wavetable sound card does a decent job of emulating.
Classical (which for the purposes of record-company genres can also be said to include Baroque and Romanticism) has a significant amount of good music written entirely for the above-mentioned instruments.
Just an FYI, renegade was based of a copy of the Forum BBS code if I remember correctly. Along with Telegard. I'm pretty sure that was in Pascal because I saw the Forum source once. Oblivion, Cheese and host of other crappy systems were based of WWIV source code, which was in C.
I seem to recall that WWIV was originally written in Pascal, and later was completely re-written in C.
From looking at Alabama - the only state with which I am personally familiar - I see that some boards are listed as being in both the 334 and 205 area codes.
Ie., the same BBS shown as operating in two different places, during the same years!
This is because what is now 334 was once part of 205. The split took place in (IIRC) 1994, so any BBS that operated in the old southern part of 205 before that time will show up (confusingly) in the 205 list. Any BBS that operated continuously through the change will show up in both lists.
For example, when 334 was split off from 205, Pep's Data System in Mobile changed phone numbers from 205-626-7447 to
334-626-7447. But because 205-626-xxxx is now re-assigned to the Birmingham area, the list shows Pep's as being in both Mobile and Birmingham.
Considering how many new areas codes were created in the recent past (it was not until the early 90s that area codes were allowed to to have a digit other than 0 or 1 in the second position)
, I seriously doubt that Alabama is the only state in the list that has this kind of duplication.
C++, Java, etc are also extremely popular. I think OO has been around long enough now for there to be little excuse for people not to know anything about it. They're even teaching it to the Physics students at my old university, fer chris' sake!:-)
Of course, just because they're teaching Java doesn't neccessarily mean they're teaching OO. Java may force you to use the OO-buzzword "class" at least once in every program, but it is quite possible to write Java that ignores most of the principles of OO design.
Seriously, I've solved a lot more problems in my career by searching the 'Net than by calling any phone numbers. And I bet most/. readers have similar experiences. The geek community already supports itself better than any helpdesk could hope to achieve.
Of course, we don't represent the typical case here, either. The ordinary home user wants real, live, effective human support. I'm just not sure how they're going to get it. I don't see the industry changing its tech support ways any time soon.
Sure sounds like they only want RFQ's where the company actually says that they have a site license
Why would a customer need say this in the first place? If they want to order 1000 naked computers, why do they need to explain to their reasons to the vendor?
I've worked at places that bought Win98 machines to lessen the shaft by $100 for our NT site licence
I worked at a company that did this. The PCs actually came with a Win95 CD and license certificate, which was neglected in favor of NT.
I was never sure exactly what we were supposed to do with the Win95 stuff... legally they could only be used with the PC they came with, but there was nothing to physically prevent anyone from using them elsewhere.
Presumably the company had already paid for them, so it seemed a shame to let them go to waste. OTOH the PC they were tied to was being used for NT, so they couldn't be used either. Lots of employees simply took them home...
I occasionally switch to mousing with my left hand, just to try to save wear and tear on my right.
It is of course trivial to reverse the assignments of the mouse buttons, but I find myself wishing that Windows had a way to reverse the entire GUI. Put the scrollbars on the left sides of the windows. That sort of thing.
Adding a cast provides consistency, clarity, good style and correctness.
How much does it really add? Is
char *pointer = malloc(SOME_SIZE);
really any harder to read than
char *pointer = (char*) malloc(SOME_SIZE);
? It could be argued that the former is easier to read, since it is cleaner.
And if you do it often enough for it to be a major problem, I suggest actually paying attention to what you're doing.
I'm not suggesting it happens often. I was just pointing out a potential drawback to casting the return value of malloc, in addition to the fact that it accomplishes nothing.
I think that saying 'programming according to the language standard reduces portability' is a ridiculous statement.
The standard says that the casts are unneccessary.
int* pi = (int*)malloc(sizeof(int));
If you have included stdlib.h, this code is correct, with or without the cast.
If you have not included the header, the cast won't save you.
Btw, I just looked in my copy of K&R2 and noticed that they cast the return value of malloc. Their influence over what is considered good C style is (rightfully, IMO) powerful. Then again, K&R also allow their hello world program to fall out of main() without returning a value...
I suspect that most uses of casting malloc's return value are really just holdovers from pre-ANSI compilers and pre-ANSI lint utilities.
Malloc is a library function which returns a (void *). That is an illegal pointer to dereference, modify or use in any meaningful way. You have to cast it to use it.
Actually, in ANSI C there are very good reasons
not to cast the return value of malloc.
In ANSI C you are always allowed to assign void* to another pointer type. In fact, that is what void* is for. Adding a cast buys nothing.
Moreover, adding a cast can disguise the fact that you've forgotten to #include stdlib.h. If you forget to include this header (which has the prototype for malloc), then the compiler will assume that malloc returns an int. Normally, this would fail to compile when you try to assign it to a pointer. But if you have included the cast, your program will compile and silently mix integers and pointers. This will work on a machine where pointers really do have the same physical representation as ints, but will fail elsewhere. Thus, not only is the cast not needed, it actually makes your program more prone to portability bugs.
I think you are confusing Digital Research (the CP/M people) with Digital Equipment Corporation.
Also, please explain how MS-DOS is/was a "stolen" version of CP/M. A blatant ripoff, yes. But was any code stolen?
And more importantly, learn it by disassembling parts of your own code, and try to improve on it.
Also writing simple string routines in assembler is good.
Knowing what the compiler makes out of it will make you a better HLL programmer.
Consider this fun little excercise:
I once went through this process as a way to kill boredom because my then-employer didn't give me enough to do!
Not an issue if the OP releases his tools as Open Source.
He did not say why sudo won't work. Maybe he just doesn'r understand what sudo is capable of.
Uhm, Outlook Express?
composer sucked
FrontPage Express?
Well, if you remember its name was really "Microsoft Office for Windows 95". One could argue that this makes it illegal to use on Win98, NT, Win2K, etc...
The application's author could argue that you were still violating the license because the "free" library is still making syscalls to the non-free OS for I/O and such.
Metaphorically speaking, an operating system is a "language" in that same sense that music, or art, or love are poetically referred to as "languages".
MIDI, anyone?
I'm serious. MIDI may be written off as a joke by most people, but consider:
It is called X because it was the sequel to a system called W.
It is not the same system as the mother-of-all-GUIs developed at Xerox PARC, nor was it named after it.
"Younger" in computer experience, not biological existence.
The general public believes in all kinds of fairy tales.
I seem to recall that WWIV was originally written in Pascal, and later was completely re-written in C.
Ie., the same BBS shown as operating in two different places, during the same years!
This is because what is now 334 was once part of 205. The split took place in (IIRC) 1994, so any BBS that operated in the old southern part of 205 before that time will show up (confusingly) in the 205 list. Any BBS that operated continuously through the change will show up in both lists.
For example, when 334 was split off from 205, Pep's Data System in Mobile changed phone numbers from 205-626-7447 to 334-626-7447. But because 205-626-xxxx is now re-assigned to the Birmingham area, the list shows Pep's as being in both Mobile and Birmingham.
Considering how many new areas codes were created in the recent past (it was not until the early 90s that area codes were allowed to to have a digit other than 0 or 1 in the second position) , I seriously doubt that Alabama is the only state in the list that has this kind of duplication.
Of course, just because they're teaching Java doesn't neccessarily mean they're teaching OO. Java may force you to use the OO-buzzword "class" at least once in every program, but it is quite possible to write Java that ignores most of the principles of OO design.
Seriously, I've solved a lot more problems in my career by searching the 'Net than by calling any phone numbers. And I bet most /. readers have similar experiences. The geek community already supports itself better than any helpdesk could hope to achieve.
Of course, we don't represent the typical case here, either. The ordinary home user wants real, live, effective human support. I'm just not sure how they're going to get it. I don't see the industry changing its tech support ways any time soon.
My point was that the only reason a customer would bring it up at all is if the vendor asks. Which the vendor now has an incentive to do.
Why would a customer need say this in the first place? If they want to order 1000 naked computers, why do they need to explain to their reasons to the vendor?
I worked at a company that did this. The PCs actually came with a Win95 CD and license certificate, which was neglected in favor of NT.
I was never sure exactly what we were supposed to do with the Win95 stuff... legally they could only be used with the PC they came with, but there was nothing to physically prevent anyone from using them elsewhere.
Presumably the company had already paid for them, so it seemed a shame to let them go to waste. OTOH the PC they were tied to was being used for NT, so they couldn't be used either. Lots of employees simply took them home...
Also, Sprint's local assets were never part of the old Bell System. Therefore, by definition they are not a "Baby Bell"
It is of course trivial to reverse the assignments of the mouse buttons, but I find myself wishing that Windows had a way to reverse the entire GUI. Put the scrollbars on the left sides of the windows. That sort of thing.
How much does it really add? Is
really any harder to read than ? It could be argued that the former is easier to read, since it is cleaner.And if you do it often enough for it to be a major problem, I suggest actually paying attention to what you're doing.
I'm not suggesting it happens often. I was just pointing out a potential drawback to casting the return value of malloc, in addition to the fact that it accomplishes nothing.
I think that saying 'programming according to the language standard reduces portability' is a ridiculous statement.
The standard says that the casts are unneccessary.
int* pi = (int*)malloc(sizeof(int));
If you have included stdlib.h, this code is correct, with or without the cast.
If you have not included the header, the cast won't save you.
Btw, I just looked in my copy of K&R2 and noticed that they cast the return value of malloc. Their influence over what is considered good C style is (rightfully, IMO) powerful. Then again, K&R also allow their hello world program to fall out of main() without returning a value...
I suspect that most uses of casting malloc's return value are really just holdovers from pre-ANSI compilers and pre-ANSI lint utilities.
Actually, in ANSI C there are very good reasons not to cast the return value of malloc.
In ANSI C you are always allowed to assign void* to another pointer type. In fact, that is what void* is for. Adding a cast buys nothing.
Moreover, adding a cast can disguise the fact that you've forgotten to #include stdlib.h. If you forget to include this header (which has the prototype for malloc), then the compiler will assume that malloc returns an int. Normally, this would fail to compile when you try to assign it to a pointer. But if you have included the cast, your program will compile and silently mix integers and pointers. This will work on a machine where pointers really do have the same physical representation as ints, but will fail elsewhere. Thus, not only is the cast not needed, it actually makes your program more prone to portability bugs.
I am surprised that FTP hasn't been completely abandoned by now, considering the hoops that firewalls have to jump through just to support it.
Of course, the same can be said of the USPS.