I actually know the son of the entrepreneur accused here of stealing the domain name from Niue, and the last time I talked with the son (a couple of years ago now) he was working for his father on managing the.nu domain.
I may be a bit partial, and I don't know the entrepreneur himself, but his son is in no way "shady". As I understand it, they bought the domain name from Niue, in the same way that other people bought the domain name.tv from another small country, with the intent of developing it to make a profit for themselves. This cost them some significant amount of time, money, and effort, and now that Niue sees that there is a profit in it, apparently they want to renegotiate their deal.
It is not clear to me, however, that they have the right to do that. There would be no profit here without the time, money, and effort spent by the aforementioned entrepreneur, so what is supposed to entitle the Niue government to a cut that is addition to whatever deal they originally negotiated?
I see these claims of imperialism and pillaging of local resources going around here, but it is not like anyone is strip mining their island, or anything. This is just a domain name, for crying out out, and not even a domain name that has an obvious meaning.
The Nuie government is whining that because their domain name has been "stolen" from them, their own people cannot participate in the Internet. I find this claim a bit disingenuous, however. Certainly it is possible, is it not, for them to be assigned a new domain name. Perhaps the new domain name won't be as catchy for the purposes of turning a profit, but, on the other hand, would certainly do the job of allowing their populace Internet access.
I got a book called Strange Foods on how to prepare "bush meats", bats, rats, and butterflies; The Lorax by Dr. Seuss; New & Used Blab!, a very strange comic book; a book on medical illustrations; Dance Dance Revolution Ultramix Game and Controller, so I can be a complete geek at home, rather tahn in public; and a wind-up eyeball.
The problem with this type of system is that you will always know the source of the (in this case) file.
And just how would you do that with MUTE? You'd have to get a search warrant for your upstream node, perform forensics on that computer to determine its upstream node, get a warrant for that that node, etc., until you got to the source, and you'd have to do all this before the routes changed.
This is not quite correct. "Willfull blindness" is not a defense. So if your relative gave you the toy, and you asked, "What's inside of it?" and he said, "You don't want to know", and you took the toy anyway saying, "Alrighty then", and it could be proved that this is what happened, then you could be found guilty.
If I allow my computer to serve as a waystation for packets, arguably for the same of overall network efficiency, why would I have any responsibility for those packets?
A court might deem you responsible if they deem that you are "willfully blind". From the Aimster decision:
A retailer of slinky dresses is not guilty of aiding and abetting prostitution even if he knows that some of his customers are prostitutes -- he may even know which ones are. [...] The extent to which his activities and those of similar sellers actually promote prostitution is likely to be slight relative to the social costs of imposing a risk of prosecution on him. But the owner of a massage parlor who employs women who are capable of giving massages, but in fact as he knows sell only sex and never massages to their customers, is an aider and abettor of prostitution (as well as being guilty of pimping or operating a brothel). [...] The slinky-dress case corresponds to
Sony, and, like Sony, is not inconsistent with imposing liability on the seller of a product or service that, as in the massage-parlor case, is capable of noninfringing uses but in fact is used only to infringe. To the recording industry, a single known infringing use brands the facilitator as a contributory infringer. To the Aimsters of this world, a single noninfringing use provides complete immunity from liability. Neither is correct.
I take umbrage to the idea that having a high upload bandwidth indicates piracy! I use a lot of upload bandwidth, and it is only because I am using the Internet to backup the valuable mp3, XviD, and.rar data on my computer so that in case of disk failure, I don't lose everything.
Fortunately, I have a group of friends who are so kind as to provide me disk space on their computers to store these backups, and likewise I return the favor by providing them with disk space on mine.
There has never been a nation in all of history that has been run using laissez-faire capitalism, and I feel pretty confident in saying that if there ever were one, it would not be a pretty sight.
Perhaps we need both gods and devils, and likewise, both socialists and capitalists to keep the world a happy place.
MIT undergraduates are notoriously flakey about completing any kind of project that is not class-related, since their course work takes up 200% of any free time they might have.
And having a class whose goal would be to complete this programming task would probably not be a good idea: classes at MIT usually concentrate on the fundamentals -- not the specifics of particular hairy development tools that will be here today and gone tomorrow.
Alas, in civil cases, as opposed to criminal cases, the plaintiff doesn't have to prove guilt "beyond a reasonable doubt". They only have to have the "preponderance of the evidence", which means that if the evidence is 51% with the plaintiff and 49% with the defendant, then the jury is suppose to rule with the plaintiff.
From: Douglas Alan To: media@cagw.org Subject: Newspeak
I am a citizen who is greatly opposed to government waste, yet your recent press release stating that Massachusetts is setting up a monopoly by insisting on open-source software for future purchases makes me extremely irate. Your words are one of the worst examples of Newspeak I have seen in recent years.
First of all, *any* company can provide an open-source solution, including Microsoft, should they so chose. That's one of the whole points of open-source software -- it allows competition on a level playing field and thus thoroughly resists monopoly. Either you are just not aware of what the word "monopoly" means or are being thoroughly disingenuous.
Furthermore, it appears that you would like to see the hard-earned tax dollars of the Massachusetts people get shoveled into the pockets of large corporations. Every dollar that goes to proprietary solutions sold by out-of-state vendors is a dollar that the people of Massachusetts will never see again. On the other hand, every dollar invested in an open-source solution goes to enhance software that the people of Massachusetts will have in perpetuity.
In addition, your claim that open-source software ends up being more expensive is absurd. I work for a university where we need to pinch every penny. We would be utterly unable to do what we do if we used primarily commercial software -- we would never be able to afford it. I have been a software engineer and computer network administrator for twenty years now, and I can assert with expertise and confidence that proprietary software has always caused us much more trouble and expense than open-source software.
And, in the long run, open-source software will become cheaper and cheaper to deploy and maintain, while those locked into proprietary software and data formats will be at the mercy of their suppliers, who will, as always, milk them for as much as they can.
I'm not sure what your ulterior motives are, but they are clearly not to fight pork in government. If it were, you would wholeheartedly embrace open-source software as a remedy for pork. Sadly, you chose to be one of those nefarious organizations who pretends to fight something while secretly working for it. It makes me wonder where you get your funding from. Could much of it be from proprietary software vendors who have a lot to lose if their pork dries up?
Sincerely yours, Douglas Alan Software Engineer MIT Center for Space Research
Some study recently showed (and I think there was a slashdot article about it) that people who fast forward through commercials remember them just as must as those who watch TV in realtime. If true, it means that there will be no end to commercials.
Does anyone else remember the Blipverts from Max Headroom?
Component DVD Recorders are not drastically more expensive than component VCD Recorders. Panasonic makes DVD Recorders that sell for under $400. You can record 1 hour of very high quality video on a disk or 6 hours of crappy quality. The happy medium is 2 hours on a disc. The blank media costs about 75 cents per disc. The quality of VCD's really sucks in comparison to any DVD recording mode except the 6 hour one.
I understand what you are talking about, but you make little sense. You criticize the TiVo by saying that it doesn't have the ability to change the channel on the cable box. You are incorrect about this. It certainly does have this ability.
Then, suddenly, you change your argument to that the TiVo doesn't allow you to watch one channel while it is recording another channel. So? What you are asking for is impossible with a single cable box. That's not the fault of TiVo. You can solve this problem easily, however, by getting an additional cable box.
To copy stuff from a TiVo to DVD just get a Panasonic DVD Recorder, such as the DMR-E50. You can find them for $400, including shipping. Sure, you have to go through an analog step. BFD.
Sony CD Players have been able to play CD-R's, and some even CD-RW's, for quite some time, so I don't think they have been going out of their way to prevent you from playing anything you have burned yourself.
DVD players have traditionally not played CD-R's, because the lasers in them are not compatible with CD-R's. (Strangely, they typically can play CD-RW's.) In order to allow them to play CD-R's, they needed to add a second laser, which was more expensive. If Sony DVD players didn't play CD-R's, it was probably, like for most DVD players, just a cost saving measure.
|>oug
Re:of course it pollutes.
on
This is IT?
·
· Score: 1
> And that electricity is coming from where,fairies?
We know how to produce electricity without pollution: Windmills can now produce electricity for 4 cents per killowatt hour. There's enough wind in Texas alone to handle all our electrical needs.
If we continue to produce vehicles that burn gasoline, then we will never get rid of this pollution, but if we switch to electric and hydrogen-powered vehicles, then we are a big step closer.
What Unix should really do is have executables be directories, rather
than be individual files. All the auxiliary files, man files, help
files, and dynamic libraries would live in this directory. Then if
you want to move an executable to a different place, you'd only have
to use "mv", rather than rebuild the software package from source. To
remove a package, you'd only need "rm -r". Package management tools
would no longer be necessary at all. (You might want some dependency
management tools, however, to tell you, for instance, that if you
remove package A, that package B will not be able to work.)
This, of course, would require a complete rearrangement of Unix, so
it's not likely to happen. To do it really right would require kernel
support to support executable directories, but it could be finessed by
having "bin" directories contain only symbolic links to the real
executables. An executable *can* figure out where it really lives in
order to find auxiliary files that are located in the same directory
as the executable, even in the face of running through a symbolic link
(Python does this, for instance), but it's a fair amount of effort so
very few programs actually do this. This capability could, of course,
be provided by a library, however, if the Unix community were to wish
to encourage developers to make all Unix software to work this way.
I've administered networks with hundreds of Unix computers on them, and I've done a good job at it. It is you who are clueless, not Mosfet, who is on the mark. First of all, Unix shells cache path entries. Furthermore, you apparently haven't heard of symlinks.
Every single program should have its own directory. If you have software installed on NFS servers, it's the only way to go. I've managed networks with hundreds of Unix workstations on them. It is you who hasn't thought through things very well.
Package management tools don't work when you want to install (or update) a program on an NFS server that will be instantly seen by hundreds of workstations. The model of having one directory per program does work quite well for such an environment. Unfortunately, doing things this way usually requires rebuilding each such software package from source, because most developers and the designers of Unix didn't carefully plan for the needs of administrators of large networks of Unix computers.
Of course, Microsoft does even far worse in this regard.
Clearly you don't understand. Having the movie run backwards forces you to perceive the world the same way that the main character does -- he doesn't know what happened immediately before the current scene, and neither do you. It's important to the mystery that you don't know what happened previously. If you know things that the main character used to know, but has now forgotten, there would be no mystery. The movie is a tour de force for being able to fracture time as it does and still end up being completely coherent and a wonderful mystery.
The disorder sufferred by the main character is actually a real disorder, and is fairly accurately described in the film. This movie gives you a real feeling for what it might be like to have a disorder such as this. Time becomes fractured and your existance is a series of unconnected vignettes that might as well be backwards as forwards, since you've lots all sense of time over the long hall.
In doing this, the film is not only a complete mindfuck, which is always an entertaining thing, but it also illuminating on some pretty deep philosophical issues.
If you don't like to be mindfucked and you don't like to think philosophy, stay home. If you like either of these things, you will LOVE this movie. It's the best movie of the next three years.
>> It is very difficult to make an efficient and portable
>> non-reference-counting garbage collector.
> I'd say, that the performance of Python is so "bad" (it's not native
> compiled and VM based), that a reference counting memory management
> can't make it much worse.
Before claiming that the performance of Python is "bad", you have to
understand its niche. Its primary niche is as a scripting language.
As such, it has to be very portable and small. It has to start up
quickly. It can't have a separate compilation stage. Lisp failed in
this niche because all of the implementations were either too bloated,
weren't portable, started up too slowly, or didn't have the built-in
facilities to make scripting easy to do. As far as scripting
languages go, Python is faster than any other I've seen in common use,
other than Perl.
Back in the day, all the Lisp folk at MIT decided that to popularize
Lisp they would make special hardware that would run Lisp really
quick. I told them that they would never popularize Lisp using this
strategy -- that if they wanted to spread the word, they had to make a
small, fast, useful Lisp that would run well on typical hardware and
would have built-in facilities to easily get to the OS. Of course
they didn't listen to me. If they had, perhaps Lisp would now be a
mainstream language, and I would be very happy. A bit more recently,
MIT Scheme and the Scheme Shell tried to provide a small portable Lisp
for the masses, but the last time I looked, both started up slowly,
weren't object-oriented, and were still pretty bloated.
Guido, when he invented Python, got all these things right. Part of
getting these things right was in making the appropriate trade-offs.
Python will run on Palm Pilot. It will run on Windows CE palmtops.
It runs on nearly every platform known to man, and is easy to port to
any new platform that might come along. This is one of the reasons
why it has succeeded. Part of accomplishing this was going with a GC
technology that was known to work well, and could satisfy the
requirements for being small and portable. Unfortunately, Lisp
implementations were hobbled in achieving this goal in part by
requiring a more complicated, less portable garbage collector.
Python is not a language that was intended for all programming tasks.
It was designed to fill several niches where ease of programming is
more important than efficiency: scripting, RAD prototyping, GUI
development system, gluing components. In all of these niches,
efficiency is not terribly important, as long as the language doesn't
consume many resources and add annoying pauses. For scripting, GUI,
and glue, most of the time is spent doing other things -- not
executing the user code, so the user code does not need to run
terribly quickly. For RAD prototyping, Python was designed so that
Python modules can be easily replaced with modules implemented in
other languages. In this manner, bottlenecks can be determined
through profiling, and then the bottlenecks can be reimplemented in a
more efficient language. More efficient languages (like C or C++, for
instance) are more difficult and slower to program in, so the
prototyping stage can be very useful. Often, only speed-critical
sections of the code will need to be replaced, since not much time
will be spent in other modules, and the total development time will be
significantly less. Also, in many cases the problem and the solution
is not fully understood until a prototype is developed, and
consequently implementing a prototype in a RAD language is a very
useful and time-saving project.
Python is also perhaps not ideally suited for very large programming
projects, where a statically typed language is very useful in
automatically and quickly detecting certain sorts of common bugs.
> Reference counting has advantages. But it also has severe
> drawbacks. For a discussion of these issues see the book "Garbage
> Collection, Algorithms for Automatic Dynamic Memory Management" from
> Richard Jones and Rafael Lins.
> See also:
> http://www.xanalys.com/software_tools/mm/glossary/ r.html#reference.counting
Thanks for the pointers.
>> GC'ed languages should have ref-counted garbage collectors as their
>> main garbage collectors
> I hope not. Lisp and Smalltalk systems nowadays have much more
> sophisticated GCs.
Perhaps, but by not using a ref-counted garbage collector, you have
given up the ability to have useful destructors. In my mind,
expressive power is more important than anything else -- especially in
a RAD or scripting language, and destructors are very expressive.
> The Lisp I'm using on the Mac has a Incremental Generational
> Ephemeral;-) GC plus a Mark and Sweep GC. The Ephemeral GC goes
> after short lived objects in RAM (and uses the MMU to find changed
> pages) and runs almost unnoticably.
I actually know the son of the entrepreneur accused here of stealing the domain name from Niue, and the last time I talked with the son (a couple of years ago now) he was working for his father on managing the .nu domain.
.tv from another small country, with the intent of developing it to make a profit for themselves. This cost them some significant amount of time, money, and effort, and now that Niue sees that there is a profit in it, apparently they want to renegotiate their deal.
I may be a bit partial, and I don't know the entrepreneur himself, but his son is in no way "shady". As I understand it, they bought the domain name from Niue, in the same way that other people bought the domain name
It is not clear to me, however, that they have the right to do that. There would be no profit here without the time, money, and effort spent by the aforementioned entrepreneur, so what is supposed to entitle the Niue government to a cut that is addition to whatever deal they originally negotiated?
I see these claims of imperialism and pillaging of local resources going around here, but it is not like anyone is strip mining their island, or anything. This is just a domain name, for crying out out, and not even a domain name that has an obvious meaning.
The Nuie government is whining that because their domain name has been "stolen" from them, their own people cannot participate in the Internet. I find this claim a bit disingenuous, however. Certainly it is possible, is it not, for them to be assigned a new domain name. Perhaps the new domain name won't be as catchy for the purposes of turning a profit, but, on the other hand, would certainly do the job of allowing their populace Internet access.
I got a book called Strange Foods on how to prepare "bush meats", bats, rats, and butterflies; The Lorax by Dr. Seuss; New & Used Blab!, a very strange comic book; a book on medical illustrations; Dance Dance Revolution Ultramix Game and Controller, so I can be a complete geek at home, rather tahn in public; and a wind-up eyeball.
|>oug
The only way to get around it would be for the RIAA to run the node hosting the file AND watch the packets reach your machine.
Even that is not good enough, since MUTE uses vitual host ID's. They'd also have to verify that you didn't forward the packets to any other machine.
|>oug
The problem with this type of system is that you will always know the source of the (in this case) file.
And just how would you do that with MUTE? You'd have to get a search warrant for your upstream node, perform forensics on that computer to determine its upstream node, get a warrant for that that node, etc., until you got to the source, and you'd have to do all this before the routes changed.
|>oug
KNOWLEDGE IS REQUIRED!
This is not quite correct. "Willfull blindness" is not a defense. So if your relative gave you the toy, and you asked, "What's inside of it?" and he said, "You don't want to know", and you took the toy anyway saying, "Alrighty then", and it could be proved that this is what happened, then you could be found guilty.
|>oug
A court might deem you responsible if they deem that you are "willfully blind". From the Aimster decision:|>oug
I take umbrage to the idea that having a high upload bandwidth indicates piracy! I use a lot of upload bandwidth, and it is only because I am using the Internet to backup the valuable mp3, XviD, and .rar data on my computer so that in case of disk failure, I don't lose everything.
Fortunately, I have a group of friends who are so kind as to provide me disk space on their computers to store these backups, and likewise I return the favor by providing them with disk space on mine.
There has never been a nation in all of history that has been run using laissez-faire capitalism, and I feel pretty confident in saying that if there ever were one, it would not be a pretty sight.
Perhaps we need both gods and devils, and likewise, both socialists and capitalists to keep the world a happy place.
|>oug
MIT undergraduates are notoriously flakey about completing any kind of project that is not class-related, since their course work takes up 200% of any free time they might have.
And having a class whose goal would be to complete this programming task would probably not be a good idea: classes at MIT usually concentrate on the fundamentals -- not the specifics of particular hairy development tools that will be here today and gone tomorrow.
Graduate students at MIT are not hired to do production programming work, but rather to do research that pushes the boundaries of current knowledge.
Alas, in civil cases, as opposed to criminal cases, the plaintiff doesn't have to prove guilt "beyond a reasonable doubt". They only have to have the "preponderance of the evidence", which means that if the evidence is 51% with the plaintiff and 49% with the defendant, then the jury is suppose to rule with the plaintiff.
|>oug
I just sent the following email off to cagw.org:
From: Douglas Alan
To: media@cagw.org
Subject: Newspeak
I am a citizen who is greatly opposed to government waste, yet your
recent press release stating that Massachusetts is setting up a monopoly
by insisting on open-source software for future purchases makes me
extremely irate. Your words are one of the worst examples of Newspeak I
have seen in recent years.
First of all, *any* company can provide an open-source solution,
including Microsoft, should they so chose. That's one of the whole
points of open-source software -- it allows competition on a level
playing field and thus thoroughly resists monopoly. Either you are just
not aware of what the word "monopoly" means or are being thoroughly
disingenuous.
Furthermore, it appears that you would like to see the hard-earned tax
dollars of the Massachusetts people get shoveled into the pockets of
large corporations. Every dollar that goes to proprietary solutions
sold by out-of-state vendors is a dollar that the people of
Massachusetts will never see again. On the other hand, every dollar
invested in an open-source solution goes to enhance software that the
people of Massachusetts will have in perpetuity.
In addition, your claim that open-source software ends up being more
expensive is absurd. I work for a university where we need to pinch
every penny. We would be utterly unable to do what we do if we used
primarily commercial software -- we would never be able to afford it. I
have been a software engineer and computer network administrator for
twenty years now, and I can assert with expertise and confidence that
proprietary software has always caused us much more trouble and expense
than open-source software.
And, in the long run, open-source software will become cheaper and
cheaper to deploy and maintain, while those locked into proprietary
software and data formats will be at the mercy of their suppliers, who
will, as always, milk them for as much as they can.
I'm not sure what your ulterior motives are, but they are clearly not to
fight pork in government. If it were, you would wholeheartedly embrace
open-source software as a remedy for pork. Sadly, you chose to be one
of those nefarious organizations who pretends to fight something while
secretly working for it. It makes me wonder where you get your funding
from. Could much of it be from proprietary software vendors who have a
lot to lose if their pork dries up?
Sincerely yours,
Douglas Alan
Software Engineer
MIT Center for Space Research
Some study recently showed (and I think there was a slashdot article about it) that people who fast forward through commercials remember them just as must as those who watch TV in realtime. If true, it means that there will be no end to commercials.
Does anyone else remember the Blipverts from Max Headroom?
Component DVD Recorders are not drastically more expensive than component VCD Recorders. Panasonic makes DVD Recorders that sell for under $400. You can record 1 hour of very high quality video on a disk or 6 hours of crappy quality. The happy medium is 2 hours on a disc. The blank media costs about 75 cents per disc. The quality of VCD's really sucks in comparison to any DVD recording mode except the 6 hour one.
|>oug
DVD Recorders have already dropped to $400. I got a Panasonic DMR-E30 a few weeks ago from Sixth Avenue Electronics, for $400, including shipping.
I understand what you are talking about, but you make little sense. You criticize the TiVo by saying that it doesn't have the ability to change the channel on the cable box. You are incorrect about this. It certainly does have this ability.
Then, suddenly, you change your argument to that the TiVo doesn't allow you to watch one channel while it is recording another channel. So? What you are asking for is impossible with a single cable box. That's not the fault of TiVo. You can solve this problem easily, however, by getting an additional cable box.
|>oug
To copy stuff from a TiVo to DVD just get a Panasonic DVD Recorder, such as the DMR-E50. You can find them for $400, including shipping. Sure, you have to go through an analog step. BFD.
|>oug
Sony CD Players have been able to play CD-R's, and some even CD-RW's, for quite some time, so I don't think they have been going out of their way to prevent you from playing anything you have burned yourself.
DVD players have traditionally not played CD-R's, because the lasers in them are not compatible with CD-R's. (Strangely, they typically can play CD-RW's.) In order to allow them to play CD-R's, they needed to add a second laser, which was more expensive. If Sony DVD players didn't play CD-R's, it was probably, like for most DVD players, just a cost saving measure.
|>oug
> And that electricity is coming from where,fairies?
We know how to produce electricity without pollution: Windmills can now produce electricity for 4 cents per killowatt hour. There's enough wind in Texas alone to handle all our electrical needs.
If we continue to produce vehicles that burn gasoline, then we will never get rid of this pollution, but if we switch to electric and hydrogen-powered vehicles, then we are a big step closer.
What Unix should really do is have executables be directories, rather
than be individual files. All the auxiliary files, man files, help
files, and dynamic libraries would live in this directory. Then if
you want to move an executable to a different place, you'd only have
to use "mv", rather than rebuild the software package from source. To
remove a package, you'd only need "rm -r". Package management tools
would no longer be necessary at all. (You might want some dependency
management tools, however, to tell you, for instance, that if you
remove package A, that package B will not be able to work.)
This, of course, would require a complete rearrangement of Unix, so
it's not likely to happen. To do it really right would require kernel
support to support executable directories, but it could be finessed by
having "bin" directories contain only symbolic links to the real
executables. An executable *can* figure out where it really lives in
order to find auxiliary files that are located in the same directory
as the executable, even in the face of running through a symbolic link
(Python does this, for instance), but it's a fair amount of effort so
very few programs actually do this. This capability could, of course,
be provided by a library, however, if the Unix community were to wish
to encourage developers to make all Unix software to work this way.
|>oug
I've administered networks with hundreds of Unix computers on them, and I've done a good job at it. It is you who are clueless, not Mosfet, who is on the mark. First of all, Unix shells cache path entries. Furthermore, you apparently haven't heard of symlinks.
Every single program should have its own directory. If you have software installed on NFS servers, it's the only way to go. I've managed networks with hundreds of Unix workstations on them. It is you who hasn't thought through things very well.
Of course, Microsoft does even far worse in this regard.
|>oug
<nessus@mit.edu>
Clearly you don't understand. Having the movie run backwards forces you to perceive the world the same way that the main character does -- he doesn't know what happened immediately before the current scene, and neither do you. It's important to the mystery that you don't know what happened previously. If you know things that the main character used to know, but has now forgotten, there would be no mystery. The movie is a tour de force for being able to fracture time as it does and still end up being completely coherent and a wonderful mystery.
The disorder sufferred by the main character is actually a real disorder, and is fairly accurately described in the film. This movie gives you a real feeling for what it might be like to have a disorder such as this. Time becomes fractured and your existance is a series of unconnected vignettes that might as well be backwards as forwards, since you've lots all sense of time over the long hall.
In doing this, the film is not only a complete mindfuck, which is always an entertaining thing, but it also illuminating on some pretty deep philosophical issues.
If you don't like to be mindfucked and you don't like to think philosophy, stay home. If you like either of these things, you will LOVE this movie. It's the best movie of the next three years.
|>oug
>> It is very difficult to make an efficient and portable
/ r.html#reference.counting
;-) GC plus a Mark and Sweep GC. The Ephemeral GC goes
>> non-reference-counting garbage collector.
> I'd say, that the performance of Python is so "bad" (it's not native
> compiled and VM based), that a reference counting memory management
> can't make it much worse.
Before claiming that the performance of Python is "bad", you have to
understand its niche. Its primary niche is as a scripting language.
As such, it has to be very portable and small. It has to start up
quickly. It can't have a separate compilation stage. Lisp failed in
this niche because all of the implementations were either too bloated,
weren't portable, started up too slowly, or didn't have the built-in
facilities to make scripting easy to do. As far as scripting
languages go, Python is faster than any other I've seen in common use,
other than Perl.
Back in the day, all the Lisp folk at MIT decided that to popularize
Lisp they would make special hardware that would run Lisp really
quick. I told them that they would never popularize Lisp using this
strategy -- that if they wanted to spread the word, they had to make a
small, fast, useful Lisp that would run well on typical hardware and
would have built-in facilities to easily get to the OS. Of course
they didn't listen to me. If they had, perhaps Lisp would now be a
mainstream language, and I would be very happy. A bit more recently,
MIT Scheme and the Scheme Shell tried to provide a small portable Lisp
for the masses, but the last time I looked, both started up slowly,
weren't object-oriented, and were still pretty bloated.
Guido, when he invented Python, got all these things right. Part of
getting these things right was in making the appropriate trade-offs.
Python will run on Palm Pilot. It will run on Windows CE palmtops.
It runs on nearly every platform known to man, and is easy to port to
any new platform that might come along. This is one of the reasons
why it has succeeded. Part of accomplishing this was going with a GC
technology that was known to work well, and could satisfy the
requirements for being small and portable. Unfortunately, Lisp
implementations were hobbled in achieving this goal in part by
requiring a more complicated, less portable garbage collector.
Python is not a language that was intended for all programming tasks.
It was designed to fill several niches where ease of programming is
more important than efficiency: scripting, RAD prototyping, GUI
development system, gluing components. In all of these niches,
efficiency is not terribly important, as long as the language doesn't
consume many resources and add annoying pauses. For scripting, GUI,
and glue, most of the time is spent doing other things -- not
executing the user code, so the user code does not need to run
terribly quickly. For RAD prototyping, Python was designed so that
Python modules can be easily replaced with modules implemented in
other languages. In this manner, bottlenecks can be determined
through profiling, and then the bottlenecks can be reimplemented in a
more efficient language. More efficient languages (like C or C++, for
instance) are more difficult and slower to program in, so the
prototyping stage can be very useful. Often, only speed-critical
sections of the code will need to be replaced, since not much time
will be spent in other modules, and the total development time will be
significantly less. Also, in many cases the problem and the solution
is not fully understood until a prototype is developed, and
consequently implementing a prototype in a RAD language is a very
useful and time-saving project.
Python is also perhaps not ideally suited for very large programming
projects, where a statically typed language is very useful in
automatically and quickly detecting certain sorts of common bugs.
> Reference counting has advantages. But it also has severe
> drawbacks. For a discussion of these issues see the book "Garbage
> Collection, Algorithms for Automatic Dynamic Memory Management" from
> Richard Jones and Rafael Lins.
> See also:
> http://www.xanalys.com/software_tools/mm/glossary
Thanks for the pointers.
>> GC'ed languages should have ref-counted garbage collectors as their
>> main garbage collectors
> I hope not. Lisp and Smalltalk systems nowadays have much more
> sophisticated GCs.
Perhaps, but by not using a ref-counted garbage collector, you have
given up the ability to have useful destructors. In my mind,
expressive power is more important than anything else -- especially in
a RAD or scripting language, and destructors are very expressive.
> The Lisp I'm using on the Mac has a Incremental Generational
> Ephemeral
> after short lived objects in RAM (and uses the MMU to find changed
> pages) and runs almost unnoticably.
The Python GC runs completely unnoticably.
|>oug