is still an expression but it replaces a wasted call to printf and a search for the end of a string with a macro that usually just copies a character and bumps a pointer within a (FILE*).
Re:I was looking for a C book...
on
C
·
· Score: 1
Most languages these days (Java, Perl, Python, Eiffel, Scheme, ML) use references instead of pointers. A reference is always null or bound to a valid and compatible object, and objects are preserved so long as any references exist. Casting and arithmetic can produce a pointer to a dead object, an object of an unexpected type, into the guts of an object, or even into storage reserved for the runtime (like the stack or heap), leaving your program facing unrecoverable, unpredictable errors. Even C++ has matured enough to encourage STL iterators instead of pointers (which have been described as "the GOTOs of data").
I don't know of any system on which malloc is a direct syscall. OS memory management tends to be slow and inefficient (being tied into virtual memory commitment and resource limits), so any decent standard library implementation gets large chunks of memory using the appropriate syscall (Unix sbrk, Win32 GlobalAlloc, or whatever) and doles out smaller chunks for use by malloc and::operator new (and then coalesces them in free and::operator delete).
write on a file descriptor never allocates userland memory. fwrite does (only if it's the first I/O on that stdio stream) unless you disable buffering using setvbuf, or you can set aside a few KB at startup if you don't want to deal with short writes.
Laserdiscs should have been long-lived, but there have been serious problem with the way the layers are glued together (and if you don't get them spaced pretty precisely, stock hardware will be unable to read a reassembled disc). Allegedly a few people have had problems with CDs delaminating too, but that's not (yet!) anywhere near as prevalent as "laser rot" among laserdisc owners. One wonders how DVDs will hold up.
And of course CD-R and CD-RW, being created chemically rather than mechanically, are much less resilient.
5.25" PC drives use the same controllers as 3.5" PC drives; it's just a matter of how many tracks the BIOS believes the drive can access (and finding a cable with edge connectors as well as pins).
My Pioneer player (US NTSC) says "LaserDisc". I don't think anyone (except maybe that Zima shill) talks about Light Amplification by Ztimulated Emizzion of Radiation.
The GPL is only a license to do things copyright law forbids. You can make fair use of the code without complying with the GPL.
Everyone else had their options limited to "don't derive from Linux code" or "let others derive from your code the same way you're allowed to derive from Linux code". The moment he started accepting GPL'd contributions, he lost the right to unilaterally change his mind, and he'll have to rip out everyone else's code to get that right back. Note that anyone else could do the same by ripping Linus' code out of their fork--he really has no special legal standing (except the trademark, which doesn't affect how code may be licensed).
But he does own the entire kernel. He is the only one that has any say in the kernel's use and distribution. Only he had the ability to GPL the work or not. Not you, not I, not Stallman.
So many people have contributed so much to Linux that Linus only holds the copyright to a portion of the overall codebase--the rest he can only redistribute under the terms of the GPL. If he tried to ship a proprietary Linux kernel binary, he'd have to request a special license to do so from every contributor or remove their code lest he violate hundreds of copyright holders' right to the code in "his" kernel.
HTTP URLs are case-sensitive everywhere except for the scheme name and domain name. That means a browser has to assume URLs that mention "foo.HTML" and "foo.html" refer to the different resources, even if some server filesystems can't distinguish the two. The Right Thing to do is to send a redirect from the wrong URL to the right URL, which code like mod_speling can help with.
The campaign hired an "e-mail marketing vendor" to do the deed. Relay-rape and forging headers is probably just their SOP. Hopefully the campaign will sue them over the additional damage to the candidate's reputation.
Dead tree and voice calls are inherently limited by the sender's resources--there will never be a day when every organization in existence decided they want to send a flyer to every person in the world simultaneously. If unsolicited bulk email is legitimized, expect at least thousands of messages every day, constantly tailored so that they can't be mechanically identified and filtered out. And by the way, most of the people you actually want to correspond with will have long since abandoned email.
Yeah, I despise any "publisher" who won't meet demand and won't let anyone else meet demand. Since the value of information grows with the number of copies and the cost effectively doesn't, "out of print" represents our civilization wilfully impoverishing itself.
FWIW, there are two copies of Yellow Eyes on eBay right now, and I suppose I'd sell mine if those don't work out.
Sadly, fair use is a defense against infringement but not a right. If vendors make fair use impossible to exercise, all we can do is persuade everyone to take their business to vendors that don't (or somehow accumulate more money than the content cartels and buy ourselves a law).
Nobody's obliged to continue pressing DVDs, but it seems to me if a company sells DVD players and then starts pressing DVDs their existing players can't handle, they've violated the warranty of merchantability.
Free Software can't win so long as we give a 100% subsidy to proprietary competitors. If millions of people are using the GNU System, I can make a good living making work-for-hire improvements that groups of people decide they need. If millions of people are using a proprietary system, they're all at the mercy of its vendor for any customization.
The GPL limits distributing without source, not "commercially". You can charge whatever you like for a GPL'd binary (as long as source is included or available at cost).
FTP in Block or Compressed (run-length encoded) mode can reuse the same data connection for several transfers in either direction. The problem is almost everything only uses Stup^H^Hream mode, which signals EOF by closing the connection (and you can't tell if you received the entire body, just like HTTP/1.0).
Allegedly Outlook 2002 is a WebDAV client (WebDAV is HTTP plus locking and named properties). They're doing away with the proprietary Exchange protocol in favor of "Web Folders" (or "Office Server Extensions" or whatever they're calling WebDAV this week).
So it burns you and you dare not pull your hand away. Did anyone else think of Dune rather than Never Say Never Again?
I agree that with my risk for repetitive strain injury, my hands are (almost) the last thing I want extra wear and tear on....
... oh, you probably meant the hand thing.
(0 == n % 2 && putchar('_'))
is still an expression but it replaces a wasted call to printf and a search for the end of a string with a macro that usually just copies a character and bumps a pointer within a (FILE*).
Most languages these days (Java, Perl, Python, Eiffel, Scheme, ML) use references instead of pointers. A reference is always null or bound to a valid and compatible object, and objects are preserved so long as any references exist. Casting and arithmetic can produce a pointer to a dead object, an object of an unexpected type, into the guts of an object, or even into storage reserved for the runtime (like the stack or heap), leaving your program facing unrecoverable, unpredictable errors. Even C++ has matured enough to encourage STL iterators instead of pointers (which have been described as "the GOTOs of data").
I don't know of any system on which malloc is a direct syscall. OS memory management tends to be slow and inefficient (being tied into virtual memory commitment and resource limits), so any decent standard library implementation gets large chunks of memory using the appropriate syscall (Unix sbrk, Win32 GlobalAlloc, or whatever) and doles out smaller chunks for use by malloc and ::operator new (and then coalesces them in free and ::operator delete).
write on a file descriptor never allocates userland memory. fwrite does (only if it's the first I/O on that stdio stream) unless you disable buffering using setvbuf, or you can set aside a few KB at startup if you don't want to deal with short writes.
Celluloid is an awful storage format. Studio prints have needed serious restoration work after just a few decades.
Vinyl seems reasonably inert (though pretty vulnerable to changes in temperature) but degrades rapidly with use and its information density is low.
And of course CD-R and CD-RW, being created chemically rather than mechanically, are much less resilient.
5.25" PC drives use the same controllers as 3.5" PC drives; it's just a matter of how many tracks the BIOS believes the drive can access (and finding a cable with edge connectors as well as pins).
Better than the etched nickel the Rosetta Project is planning to use?
Yes, obviously EBCDIC on punch cards will be usable for millenia.
My Pioneer player (US NTSC) says "LaserDisc". I don't think anyone (except maybe that Zima shill) talks about Light Amplification by Ztimulated Emizzion of Radiation.
The GPL is only a license to do things copyright law forbids. You can make fair use of the code without complying with the GPL.
Everyone else had their options limited to "don't derive from Linux code" or "let others derive from your code the same way you're allowed to derive from Linux code". The moment he started accepting GPL'd contributions, he lost the right to unilaterally change his mind, and he'll have to rip out everyone else's code to get that right back. Note that anyone else could do the same by ripping Linus' code out of their fork--he really has no special legal standing (except the trademark, which doesn't affect how code may be licensed).
So many people have contributed so much to Linux that Linus only holds the copyright to a portion of the overall codebase--the rest he can only redistribute under the terms of the GPL. If he tried to ship a proprietary Linux kernel binary, he'd have to request a special license to do so from every contributor or remove their code lest he violate hundreds of copyright holders' right to the code in "his" kernel.
HTTP URLs are case-sensitive everywhere except for the scheme name and domain name. That means a browser has to assume URLs that mention "foo.HTML" and "foo.html" refer to the different resources, even if some server filesystems can't distinguish the two. The Right Thing to do is to send a redirect from the wrong URL to the right URL, which code like mod_speling can help with.
The campaign hired an "e-mail marketing vendor" to do the deed. Relay-rape and forging headers is probably just their SOP. Hopefully the campaign will sue them over the additional damage to the candidate's reputation.
Dead tree and voice calls are inherently limited by the sender's resources--there will never be a day when every organization in existence decided they want to send a flyer to every person in the world simultaneously. If unsolicited bulk email is legitimized, expect at least thousands of messages every day, constantly tailored so that they can't be mechanically identified and filtered out. And by the way, most of the people you actually want to correspond with will have long since abandoned email.
FWIW, there are two copies of Yellow Eyes on eBay right now, and I suppose I'd sell mine if those don't work out.
Sadly, fair use is a defense against infringement but not a right. If vendors make fair use impossible to exercise, all we can do is persuade everyone to take their business to vendors that don't (or somehow accumulate more money than the content cartels and buy ourselves a law).
Nobody's obliged to continue pressing DVDs, but it seems to me if a company sells DVD players and then starts pressing DVDs their existing players can't handle, they've violated the warranty of merchantability.
ISTR reading NetBoy around 1992, though it's been nearly moribund for years.
If you display a file on the screen and someone deletes the file, it also disappears from the screen.
And when I am an Evil Overlord, any data file of crucial importance will be padded to 1.45MB in size.
Free Software can't win so long as we give a 100% subsidy to proprietary competitors. If millions of people are using the GNU System, I can make a good living making work-for-hire improvements that groups of people decide they need. If millions of people are using a proprietary system, they're all at the mercy of its vendor for any customization.
The GPL limits distributing without source, not "commercially". You can charge whatever you like for a GPL'd binary (as long as source is included or available at cost).
FTP in Block or Compressed (run-length encoded) mode can reuse the same data connection for several transfers in either direction. The problem is almost everything only uses Stup^H^Hream mode, which signals EOF by closing the connection (and you can't tell if you received the entire body, just like HTTP/1.0).
Allegedly Outlook 2002 is a WebDAV client (WebDAV is HTTP plus locking and named properties). They're doing away with the proprietary Exchange protocol in favor of "Web Folders" (or "Office Server Extensions" or whatever they're calling WebDAV this week).