Your "questioning one's faith" seems to be nothing more than an attempt to inspect and extinguish all doubts than a genuine "questioning". I can't really give references or solid proof, but it's my feeling that the process of going through these periods of "doubts" is merely to indoctrinate oneself even more, and to remove any traces of "objective" reasoning facilities one might have had.
It's the intent that matters. The GP was talking about a questioning of one's fundamental beliefs, with no predisposed outcome or answer, whereas the "questioning" that you mention seems to me (I might be uninformed or biased, correct me if I'm wrong) premised on the truth of the religion, that such a doubt is generally seen as undesirable and a hurdle to overcome, and that the "true" answer should lie in "God", and to come up with any other answer is generally "sinful".
I'm not saying that it's wrong, but in case you wonder why people are concerned with indoctrination in upbringing.
In fact if we inspect the properties of this Christian god, could probably come up with a rigid proof that either it doesn't exist, or that our minds cannot logically comprehend its existence.
But then even if such a proof existed people will keep believing anyways. Such is called Faith.
... if people making such postings would first try a microkernel-based operating system and then make postings like "I tried an OS based on a microkernel and I observed X, Y, and Z first hand." Has a lot more credibility.
The easiest way to try one is to go download MINIX 3 and try it. (emphasis mine)
Actually, you can cut the Internet from yourself. I mean, this is not another Soviet Russia joke. Unless the whole world agrees to cut Russia from the Internet, you'll probably get hosts from other countries willing to route Russian packets and you'll end up getting them anyway.
The GPL is yet another license document. It's not law. If the law says that the copyright owner can revoke the GPL, then nothing within the GPL can bind him. (Whether the "if" part is true is the real question.)
If I declare that "I will give you a million dollars for nothing, and I will not retract this promise", the second part does nothing if I do not honor the promise later.
Though not surprisingly too many slashdotters are taking the words of the GPL and FSF as law....
If I remember correctly promissory estoppel is mainly used when somebody detrimentally acts on a promise that falls short of an "actual" contract (due to technicality reasons). Since you assume the GPL is a contract, I'm guessing there are other rules to apply?
Actually your estoppel arguments seem to be more applicable if the GPL is not a contract as the FSF has asserted.
Anyhow, if *I* were to try to revoke a GPL license (which I own all the covered code), I'd start by trying to suing a small re-distributor that probably started doing the redistribution AFTER my revocation and had such notice thereof. (Preferably the poor guy(s) that got their copy directly from "me") If my claims succeed in court, then the lawyers of big businesses will probably see the potential legal mess and take steps to avoid using the software (at least under GPL). Original purpose achieved (although one might not want to paint oneself as a jerk in this manner).
I'd mod you up if I had mod points though:-/ Where are they when I most needed them...
We DO know that not everybody agrees on what the law is (otherwise why would the good and knowledgeable guys from, say Stanford Law Center, appear in court and argue for hours...) We DO know that FSF has its own agenda which it pushes almost with zeal. We DO know that FSF sometimes tests the legal limits a bit for their purposes. We then can come to a conclusion that what FSF says might not be the full side of the story.
In particular I do not see any clear rules precluding a revocation of the GPL per se. The hurdles I can see are detrimental reliance by users/re-distributors and the problem of "giving (the revocation) notice" to the world. It's a scalability/feasibility question, but not a legally fatal problem. Unrelatedly there are a few common interpretations of the GPL by the FSF that I do not agree with (but those I wouldn't go into).
The built in perl hashes, regexes, and string manipulation routines are all implemented in heavily optimized C. Does it really surprise you that a program delegating much of the "hard work" to these C functions are faster than those programs with the same functions written by a college student?
Try implementing hash tables in Perl with primitive arrays and see it crawl. No offense to the top student, he chose the right tool for the job, and was rewarded accordingly.
Early students are happy to be told "trust us on this now, we'll explain later when you know more." Then I guess I'm in the minority. I tried learning Java myself a few years (around 2002-03) ago, got sick with all the obscure stuff I had to configure (classpath? javac/java?), then the horrendously verbose boilerplate. I knew nothing about OOP at that time, and every single bit of the language seems to descend from a distant planet. Needless to say, I didn't go through on that try. Well a year or two later I learned it when working in an internship, where the features of the language made a bit more sense. I could imagine if I had little to none programming background and trying out a Java course where half of the source code is voodoo and we are taught to "trust us on this now, we'll explain later when you know more", I think I'd switch majors if I weren't too keen on CS... So yes, on the "safer in terms of students not switching majors" measure Java probably fails miserably for me...
why not use something like Python, Pascal or Scheme? Pascal is "old" (basically a fashion issue), while Scheme gets a bit cryptic (the LISP family's heavy use of parenthesis doesn't help either). But I do have the same question with python. It seems perfectly suited to be a teaching language, and powerful and flexible enough to perform well on most tasks. My only gripe with the language is that it doesn't do any type checking until runtime (but that's a feature...). I really haven't heard of any institutions teaching python, so what's holding it up?
Java the language is harder, but doing "interesting" stuff in it is easier. C the language is easier, but doing "interesting" stuff in it is harder.
In C, I'm only given the bare bones. There are no data structures that most high level languages take for granted (resizable arrays, hastables/dictionaries, etc), and the "C string" is merely a collection of broken functions that not even everybody agrees on their use. (eg. see strcat, strncat, strlcat, and some glibc guy telling people to use memcpy instead...) So basically the programmer has to implement every data structure before he can do anything remotely "interesting".
In contrast, Java basically has libraries and APIs for everything. Data structures are built into the core libraries, and creating a GUI is as simple as firing up an IDE and dragging things around and adding a few event hooks. You get automatic garbage collection as opposed to manual memory management, friendly NullPointerExceptions as opposed to segmentation faults...
The extra features of Java makes it harder to understand at a basic level, but easier for beginners to skip the basic stuff and do "interesting" things.
Most webapps don't require sophistication. However, that's for custom built webapps which only requirement is that it "usually works correctly". When you stress the requirements a little, or complicate the matters a bit, the problem can quickly degenerate into massively complex problems that only those with training on "basic" stuff could solve.
I don't think the "former experiences are no longer relevant", it's just irrelevant to those without the training:) Employ a bunch of codemonkeys to build a project, try to extend it, stress it, and you get a pile of race conditions, scalability problems, architectural design flaws, and an unmaintainable mess. If PHBs are in charge, it won't occur to them that they should have hired a team with better clue than "PHP experts". Perhaps they'll try to fire some people, start cutting costs by giving you a 14-inch monitor, forcing employees to work longer hours, outsourcing the work, or whatever they (thought they) learnt in business school.
The advantage to java is that it's safer to make errors there. Screw up with a reference, and you get a nice stacktrace. In C/C++, your program just dies (you can get a debugger on there, sure, but 1st year students are rarely taught debugging skills). "Safer"? Unless the student is going to write any mission critical programs (during the course), there's no "unsafe" errors. Sure you'll get quite a few SEGV (I ran into these more often than not when learning C), but it provides a more rigid foundation than the "safer" Java which sometimes hides away problems that one might otherwise be able to spot with C/C++. Printing a stacktrace with a debugger isn't really that hard. And it's a bit shorter than your average Java stacktrace, which is a plus. (And if "debugging skills" are not taught in the first year... when should it be???)
That said, Java's good for getting someone into the proper habits of programming. Let them cut their teeth there - make their typos, basic logic mistakes, etc in a safer sandbox. Teach them how to print out debug statements early to understand what's going on, and to identify what mistakes they often make. When they know how to properly type in a loop construct and declare/invoke a function, then let them play with pointers. I think Java actually makes it hard to do these things. Print out debug statements? When I first saw Java code I almost screamed at "System.out.println"... wtf? Besides, from what I know most Java programming courses provide a "friendly" GUI Framework, which has its own obscure classes and methods of doing I/O. Compare that with printf/cout, and you get what I mean.
Besides, the problem with Java is that it has a very rigid (i.e. inflexible) programming paradigm. There are many programs which are not best modeled by OOP, and this includes the procedural iterative programs that a student will most probably begin with. I've always wondered how instructors were able to explain away "public static void main(String args[]) {... }". Some magic incantation?
I agree that C/C++ is too heavy on pointers and SEGV happy, but at least you can hide away those problems if you choose the right subset of C++ to teach.
What python libraries are you talking about? The core language is enough to play with for an introductory course, and most libraries do have adequate information (at least those that I use usually satisfies me).
I'll grant you that finding the docs in the first place can get a bit tedious at times... google doesn't seem to return good search results for python for some reason... or maybe it's the way the python docs are organized.
what does an object method look like in memory versus a static method? Exactly the same? Basically a static method with the "this" argument passed in.
More specifically, though I don't know anything about compilers, or operating systems, I'd think that a "method" would look different for compiled (to machine code) programs, programs under a VM and interpreted programs. I don't know how cautious the MS interviewers are (they might be reluctant to talk too much on unfamiliar topics to a random interviewee), but given the vagueness of your question I wouldn't be attempting to answer it if I'm not a pseudo-anonymous random guy on slashdot...
It is my gut feeling that if we want "intelligent" robots, they must be imbued with some kind of "feeling". Either real or just apparently real (that's another philosophical question for another day)
When we really think about it, we don't really recognize intelligence unless the systems are sufficiently close to what we feel emotionally. In a functional sense, all systems that we wish to evaluate for intelligence take some "input" and produce some "output". Obviously we don't classify as "intelligence" any complex system that we don't understand. The weather is hard enough to predict, but we don't call it intelligent. There must be something that chimes with our thoughts and reasoning, something that's complex, but subtly resonating with our own senses and emotions. I really can't put it, and it's almost 6am here (and I haven't slept yet), but to say that an "intelligent" machine doesn't have any apparent feeling seems to me a (almost) logical impossibility.
[Disclaimer: I am only a casual tinker of debs, so my information may not be all that accurate.]
When it comes to Debs, I have no idea how to build Debs. Ubuntu and Debian lack the SSH/Kerberos mass deply ability and are even HARDER to recompile than RPMs. The Debian way to "mass deploy" packages is probably using the apt-get system. You simply add your own package repository to your "sources list", and use apt-get to install/upgrade the packages. They do provide gpg signing, if you want security.
Other posters have mentioned some possible ways of building from source. For me, at least if the source package is from Debian official, it's a matter of `apt-get source PACKAGE`, then `cd DIR; fakeroot debian/build binary`. If you have the prerequisite development packages install the package should build cleanly and you'll have the newly compiled binary packages ready for installation.
[By the way..... claiming that building debs from source is "harder" because you "don't know how to build Debs" is not terribly convincing...]
Indeed. The answer might be here somewhere (if there are sufficient replies), but the signal to noise ratio would be so pathetic that nobody would call it a "clarification":)
Given these recent outrageous and blatant violations by registrars, and the indifference of ICANN, this should be a perfect time to resurrect the idea of an alternate system of root DNS servers.
If nothing is done to address the problems, the.com,.net domain name space would probably be filled up with spam junk (if they are not saturated with crap already). Given the increasing importance of the Internet infrastructure these days, it's outrageous to think that the basic infrastructure of the Internet is held hostage by a small group of greedy corporate bastards. Remember the last time Verisign tried to redirect all non-existent.com/.net requests to their own portal site? They are willing to screw up anything as long as they can get away with it (and money).
I understand that the worst TLDs in question are.com and.net, but they set the example. How long would it be for country TLDs to follow the corporate footsteps of Verisign, Network Solutions and co?
I think it should be most apt to start meaningful discussion here on Slashdot, where there are enough people who have the expertise and skills --- and interest and passion, to pull this one off.
I have looked around a bit regarding projects such as AlterNIC, OpenNIC, OpenRSC, etc. But all those projects are dead or at the very least in deep hibernation. I have a feeling that the projects aren't really meant to be serious, rather they are hobbyist projects/social experiments that even the founders couldn't care less about.
Does nobody care at all?
That being said, I personally don't have any concrete proposals. But given the enthusiastic response of Slashdot readers (there are 600+ comments here), I believe we can gather enough personnel and expertise to give the old idea a new try. Interested parties might want to post a reply here, or in my Journal.
Any takers?
[Oh and moderators, you might actually want to mod this one up...]
Your "questioning one's faith" seems to be nothing more than an attempt to inspect and extinguish all doubts than a genuine "questioning". I can't really give references or solid proof, but it's my feeling that the process of going through these periods of "doubts" is merely to indoctrinate oneself even more, and to remove any traces of "objective" reasoning facilities one might have had.
It's the intent that matters. The GP was talking about a questioning of one's fundamental beliefs, with no predisposed outcome or answer, whereas the "questioning" that you mention seems to me (I might be uninformed or biased, correct me if I'm wrong) premised on the truth of the religion, that such a doubt is generally seen as undesirable and a hurdle to overcome, and that the "true" answer should lie in "God", and to come up with any other answer is generally "sinful".
I'm not saying that it's wrong, but in case you wonder why people are concerned with indoctrination in upbringing.
In fact if we inspect the properties of this Christian god, could probably come up with a rigid proof that either it doesn't exist, or that our minds cannot logically comprehend its existence.
But then even if such a proof existed people will keep believing anyways. Such is called Faith.
... if people making such postings would first try a microkernel-based operating system and then make postings like "I tried an OS based on a microkernel and I observed X, Y, and Z first hand." Has a lot more credibility.The easiest way to try one is to go download MINIX 3 and try it. (emphasis mine)
Reminds me of something that happened around last year.
It's basically the exactly same thing happening. "Fun".
Actually, you can cut the Internet from yourself.
I mean, this is not another Soviet Russia joke.
Unless the whole world agrees to cut Russia from the Internet, you'll probably get hosts from other countries willing to route Russian packets and you'll end up getting them anyway.
The GPL is yet another license document. It's not law. If the law says that the copyright owner can revoke the GPL, then nothing within the GPL can bind him. (Whether the "if" part is true is the real question.)
If I declare that "I will give you a million dollars for nothing, and I will not retract this promise", the second part does nothing if I do not honor the promise later.
Though not surprisingly too many slashdotters are taking the words of the GPL and FSF as law....
If I remember correctly promissory estoppel is mainly used when somebody detrimentally acts on a promise that falls short of an "actual" contract (due to technicality reasons). Since you assume the GPL is a contract, I'm guessing there are other rules to apply?
:-/ Where are they when I most needed them...
Actually your estoppel arguments seem to be more applicable if the GPL is not a contract as the FSF has asserted.
Anyhow, if *I* were to try to revoke a GPL license (which I own all the covered code), I'd start by trying to suing a small re-distributor that probably started doing the redistribution AFTER my revocation and had such notice thereof. (Preferably the poor guy(s) that got their copy directly from "me") If my claims succeed in court, then the lawyers of big businesses will probably see the potential legal mess and take steps to avoid using the software (at least under GPL). Original purpose achieved (although one might not want to paint oneself as a jerk in this manner).
I'd mod you up if I had mod points though
It's not a nitpick, what says the licensor cannot revoke a term in his license? The text you quoted from the GPL is just another term of the license.
AFAIK, generally, unless the GPL is a contract, there's nothing that prevents somebody from revoking a term in a bare license...
So while this term in the GPL is helpful, it's far from conclusive...
Genuine enquiry: any further references on your claims? (particularly sections in USCL and Berne which I am not familiar with)
We DO know that not everybody agrees on what the law is (otherwise why would the good and knowledgeable guys from, say Stanford Law Center, appear in court and argue for hours...)
We DO know that FSF has its own agenda which it pushes almost with zeal.
We DO know that FSF sometimes tests the legal limits a bit for their purposes.
We then can come to a conclusion that what FSF says might not be the full side of the story.
In particular I do not see any clear rules precluding a revocation of the GPL per se. The hurdles I can see are detrimental reliance by users/re-distributors and the problem of "giving (the revocation) notice" to the world. It's a scalability/feasibility question, but not a legally fatal problem. Unrelatedly there are a few common interpretations of the GPL by the FSF that I do not agree with (but those I wouldn't go into).
I am not a lawyer.
Perl is written in C.
The built in perl hashes, regexes, and string manipulation routines are all implemented in heavily optimized C. Does it really surprise you that a program delegating much of the "hard work" to these C functions are faster than those programs with the same functions written by a college student?
Try implementing hash tables in Perl with primitive arrays and see it crawl. No offense to the top student, he chose the right tool for the job, and was rewarded accordingly.
Java the language is harder, but doing "interesting" stuff in it is easier.
C the language is easier, but doing "interesting" stuff in it is harder.
In C, I'm only given the bare bones. There are no data structures that most high level languages take for granted (resizable arrays, hastables/dictionaries, etc), and the "C string" is merely a collection of broken functions that not even everybody agrees on their use. (eg. see strcat, strncat, strlcat, and some glibc guy telling people to use memcpy instead...) So basically the programmer has to implement every data structure before he can do anything remotely "interesting".
In contrast, Java basically has libraries and APIs for everything. Data structures are built into the core libraries, and creating a GUI is as simple as firing up an IDE and dragging things around and adding a few event hooks. You get automatic garbage collection as opposed to manual memory management, friendly NullPointerExceptions as opposed to segmentation faults...
The extra features of Java makes it harder to understand at a basic level, but easier for beginners to skip the basic stuff and do "interesting" things.
Most webapps don't require sophistication. However, that's for custom built webapps which only requirement is that it "usually works correctly". When you stress the requirements a little, or complicate the matters a bit, the problem can quickly degenerate into massively complex problems that only those with training on "basic" stuff could solve.
:) Employ a bunch of codemonkeys to build a project, try to extend it, stress it, and you get a pile of race conditions, scalability problems, architectural design flaws, and an unmaintainable mess. If PHBs are in charge, it won't occur to them that they should have hired a team with better clue than "PHP experts". Perhaps they'll try to fire some people, start cutting costs by giving you a 14-inch monitor, forcing employees to work longer hours, outsourcing the work, or whatever they (thought they) learnt in business school.
I don't think the "former experiences are no longer relevant", it's just irrelevant to those without the training
Besides, the problem with Java is that it has a very rigid (i.e. inflexible) programming paradigm. There are many programs which are not best modeled by OOP, and this includes the procedural iterative programs that a student will most probably begin with. I've always wondered how instructors were able to explain away "public static void main(String args[]) {
I agree that C/C++ is too heavy on pointers and SEGV happy, but at least you can hide away those problems if you choose the right subset of C++ to teach.
What python libraries are you talking about? The core language is enough to play with for an introductory course, and most libraries do have adequate information (at least those that I use usually satisfies me).
I'll grant you that finding the docs in the first place can get a bit tedious at times... google doesn't seem to return good search results for python for some reason... or maybe it's the way the python docs are organized.
More specifically, though I don't know anything about compilers, or operating systems, I'd think that a "method" would look different for compiled (to machine code) programs, programs under a VM and interpreted programs. I don't know how cautious the MS interviewers are (they might be reluctant to talk too much on unfamiliar topics to a random interviewee), but given the vagueness of your question I wouldn't be attempting to answer it if I'm not a pseudo-anonymous random guy on slashdot...
It is my gut feeling that if we want "intelligent" robots, they must be imbued with some kind of "feeling". Either real or just apparently real (that's another philosophical question for another day)
When we really think about it, we don't really recognize intelligence unless the systems are sufficiently close to what we feel emotionally. In a functional sense, all systems that we wish to evaluate for intelligence take some "input" and produce some "output". Obviously we don't classify as "intelligence" any complex system that we don't understand. The weather is hard enough to predict, but we don't call it intelligent. There must be something that chimes with our thoughts and reasoning, something that's complex, but subtly resonating with our own senses and emotions. I really can't put it, and it's almost 6am here (and I haven't slept yet), but to say that an "intelligent" machine doesn't have any apparent feeling seems to me a (almost) logical impossibility.
Paying for the poor guy's health care means that the risk of him spreading infectious diseases to you and your family goes down.
how about:
for host in LIST: do
ssh $host apt-get install PACKAGE
done
Or maybe having a cron job check your custom repository for updates and automatically install stuff?
Other posters have mentioned some possible ways of building from source. For me, at least if the source package is from Debian official, it's a matter of `apt-get source PACKAGE`, then `cd DIR; fakeroot debian/build binary`. If you have the prerequisite development packages install the package should build cleanly and you'll have the newly compiled binary packages ready for installation.
[By the way..... claiming that building debs from source is "harder" because you "don't know how to build Debs" is not terribly convincing...]
Indeed. The answer might be here somewhere (if there are sufficient replies), but the signal to noise ratio would be so pathetic that nobody would call it a "clarification" :)
Correct journal link is here for you lazies.
Given these recent outrageous and blatant violations by registrars, and the indifference of ICANN, this should be a perfect time to resurrect the idea of an alternate system of root DNS servers.
.com, .net domain name space would probably be filled up with spam junk (if they are not saturated with crap already). Given the increasing importance of the Internet infrastructure these days, it's outrageous to think that the basic infrastructure of the Internet is held hostage by a small group of greedy corporate bastards. Remember the last time Verisign tried to redirect all non-existent .com/.net requests to their own portal site? They are willing to screw up anything as long as they can get away with it (and money).
.com and .net, but they set the example. How long would it be for country TLDs to follow the corporate footsteps of Verisign, Network Solutions and co?
If nothing is done to address the problems, the
I understand that the worst TLDs in question are
I think it should be most apt to start meaningful discussion here on Slashdot, where there are enough people who have the expertise and skills --- and interest and passion, to pull this one off.
I have looked around a bit regarding projects such as AlterNIC, OpenNIC, OpenRSC, etc. But all those projects are dead or at the very least in deep hibernation. I have a feeling that the projects aren't really meant to be serious, rather they are hobbyist projects/social experiments that even the founders couldn't care less about.
Does nobody care at all?
That being said, I personally don't have any concrete proposals. But given the enthusiastic response of Slashdot readers (there are 600+ comments here), I believe we can gather enough personnel and expertise to give the old idea a new try. Interested parties might want to post a reply here, or in my Journal.
Any takers?
[Oh and moderators, you might actually want to mod this one up...]