Someone who illicitly breaks into computer systems is a "cracker", not a "hacker". (Haven't we spent the last twenty years trying to explain that to the suits? If Slashdot can't get it right....)
Someone who sells stolen property is a "fence", not a "reseller".
The easier it is to make money as a real-estate con artist, the harder it is to make money as a legitimate salesman. (For example, it becomes harder for the legitimate people to build trust with their customers, because the crooks damage the reputation of the whole market.) This reduces the liquidity of the market, which is a nuisance for anyone trying to buy or sell property.
I don't have much sympathy for the people who bought these slums sight-unseen, but like drunk drivers, their stupidity harms people other than themselves.
I finally got the urge to buy a camera when my first child was born (about three and a half years ago), and I decided to go with a film rather than a digital camera for one reason. On an SLR, there's about a 1/60 second delay between pushing the button and hearing the shutter open. On the digital cameras, except for the obscenely expensive ones, the delay was noticeably longer. I figured that once I had a toddler zooming around the house, I would really need a camera that responded quickly.
Has this aspect of digital photo technology gotten any better?
One of the main design goals of C++, from the very beginning, is that "you don't pay for what you don't use"--in other words, if you write a C++ program that doesn't use the language's OO or generic-programming features, it should be just as fast as the equivalent C program. I'm not sure how you could extend C++ to include all of your desired features (particularly GC) without throwing out that goal.
(I think "you don't pay for what you don't use" is a fundamental design flaw of the language, but if you dismiss it, you're no longer arguing about how to extend C++; you're arguing about what language to replace C++ with.)
Also, Seigenthaler has no way of knowing who read the libelous version of his biography before it was corrected. He can't go to all of those people and say "hey, you were misinformed".
The sad fact is, the pedagogical technique is absolute shit at the university level. Absolute shit, even in some of the supposedly "great" American schools. The comparison to the secondary level, with its few remaining standards and shattered, vague but lingering sense of professionalism, is stark.
Better yet, compare it to primary education. Hundreds of person-years have been spent trying to figure out the best way to teach children to read, and then teaching the primary-school teachers how to apply that research. There's a lot of BS mixed up with the good research, and plenty of incompetence in the teaching profession, but illiteracy is a lot rarer now than it was 100 years ago, so the ed-school professors must be doing something right.
By contrast, there's very little research done on the best way to teach calculus to undergraduates, and even less effort to make sure that TAs and professors apply this research in their own classes.
Most of Kern's article does boil down to "I was a boy genius in high school and then I had to work like everyone else in college, woe is me", but even a stopped clock is right twice a day.
Google is a company that has built a single very large, custom computer. It's running their own cluster operating system. They make their big computer even bigger and faster each month, while lowering the cost of CPU cycles. It's looking more like a general purpose platform than a cluster optimized for a single application.
While competitors are targeting the individual applications Google has deployed, Google is building a massive, general purpose computing platform for web-scale programming.
Wikipedia does have a page for featured articles: "This page highlights Wikipedia articles we think are particularly well-written and complete." (The Alexander Hamilton page is not one of them.)
It would be interesting to take some random sample of the articles on this page, give them to subject-matter experts for evaluation, and see how well they do against corresponding paid-encyclopedia articles.
If your teachers had been really doing their jobs, they would have referred you to the Gibbard-Satterthwaite theorem, which holds that any time three or more candidates are running in an election, there is no fair way to run an election that chooses among them.
The American election system, where you have primaries that narrow down a field into two major-party candidates, has certain drawbacks. However, parlimentary systems with many many parties have other drawbacks. Look at Italy or Israel, where a few small parties, because they are willing to form coalitions with whatever major party gives in to their demands, can wield power far out of proportion to their numbers.
Regarding the American educational system, no argument.
When I was unemployed, I had monster.com and dice.com send me a daily email with every new job posting that contained "Perl" or "Java". For those ten months, I saw virtually no Perl jobs, and almost every Java-related job required J2EE experience.
So I took a basic class in J2EE, and said to myself, "No wonder there are so many openings for J2EE programmers: it takes a team of five J2EE programmers a month to put together what a good Perl hacker can make in a week." The hoops you have to jump through to get things to work in J2EE--most of which seem to involve working around Java's static typing and its object model--are absurd.
I've been re-employed for almost a year, thank God, and the group I work with is writing a J2EE-based ERP application. I have seen nothing so far to refute my original impression of J2EE.
Come on, this has been tried before (DivX-hardware player) it just does not work.
Also, remember Digital Audio Tape? At the time it was introduced, it was technically superior to regular audiotapes (higher sound quality) and CDs (since it could be copied, and CD-Rs weren't on the market yet). The RIAA howled about how this was going to destroy their business, etc., etc. A law was passed. DAT recorders were rigged so they couldn't make second-generation copies.
The terrorists we are currently dealing with are not from a diverse population. With very few exceptions, they are
male Muslim extremists mostly between the ages of 17 and 40.
And how does that help? Muslims can belong to any ethnic group, and Al-Qaeda recruits all over the world. Consider "American Taliban" John Walker Lindh (a white boy from Marin County) or "shoe bomber" Richard Reid (a British subject with a Jamaican father). And even among folks from the Middle East, how many Anglo security guards could reliably distinguish a Saudi from a Hispanic?
Even if the profile screens out nine out of ten terrorists, the tenth one knows he is unlikely to get caught, so he can smuggle the bombs on the plane while the other nine stay on the ground and forge checks or whatever. That's the central insight of the "Carnival Booth" paper.
The temperature of the outside of the lava blob is not as relevant as you might think. Once the lava that touches the food has hardened into rock, it insulates the food from the rest of the blob. The hole that lets steam get out is also letting cooler air in, which would accelerate the hardening process. The outer layer of lava, whose temperature you are measuring with the pyrometer, is radiating most of its heat into the surrounding air, not into your food.
I can accept a dual-licensing scheme with a click-wrap, e.g.:
By default, the Program is licensed to you under the Quux License; if you distribute a modified version of the Program, you may only distribute your modifications as patches to the original Program's source code, and you must grant us a license to use, modify, and distribute your patches. For the complete terms of the Quux License,
click here.
If you want permission to distribute modifications to this program in any other form, you must explicitly consent to the Foobar Licensing Agreement, in which you indemnify us from any lawsuits arising from your use or distribution of the Program. For the complete terms of the Foobar Licensing Agreement, click here. If you consent to this agreement, click here.
If you distribute copies of this program without explicitly consenting to the Foobar Licensing Agreement, then either you have accepted the Quux License or you have violated our copyright.
If the Quux License meets the Open Source Definition, I have no objection to putting a click-wrap up to let the user choose between Quux and Foobar. But if the user's choice is between accepting the click-wrap license and accepting some non-open-source license -- or no license at all, i.e., "all rights reserved" -- then I don't like it at all.
Some folks on the lightweight-languages list have pointed out that malloc/free are not instantaneous, either, so if a program needs to allocate and deallocate lots of memory, using a GC can be more efficient than using malloc/free -- it all depends on the subtleties of the algorithm you use and the way your GC or malloc library is tuned.
In any case, a GC doesn't always save you from memory leaks. Contemplate the difference between live and reachable objects. A live object is one that the program will actually use at some point in the future. A reachable object is one that the program could use. GCs reclaim un-reachable objects, not un-live ones.
If they admitted that anonymous file-sharing was really not such a convenient way for people to violate their copyrights, then their whole case for twisting the copyright laws in their favor would fall apart.
The Orthodox, as far as I know, agree that when you write a Hebrew name of God on a piece of paper, you're not allowed to erase it, throw it away, etc. So it's common to use euphemisms instead of the real names, except when you're writing something like a Bible.
But they disagree on whether or not this same restriction applies to English words that refer to God. There's a famous story about Rabbi Joseph B. Soleveitchik (ztz"l), "The Rav", one of the most influential Orthodox rabbis of the 20th century: He visited a classroom in the school he was running, and observed that one of the teachers had written "G-d" on the blackboard. The Rav, in front of the students, wrote "GOD GOD GOD GOD GOD" all over the blackboard, and then erased it.
Also, even for the Hebrew names, if you're displaying the name on a computer screen, I don't think this rule applies. I think there are some people who would say that it doesn't even apply when you're using a printing press rather than holding a pen and writing.
But there are some who use "G-d" instead, either because they follow a stricter opinion or because that's what everyone else in their community does. Heck, there are some people who put dashes in the middle of English transliterations of Hebrew euphemisms for names of God. Go figure.
And, just to be totally random, have you found that your Talmudic studies have made you, as a person interfacing with other people, more easy to use, powerful, and fault-tolerant?
I think my own (extremely limited) experience with Talmud study helped me in my programming work, because...
One of the cardinal (ahem) rules of Talmud study is you have to pay attention to the exact meaning of every word. A good study partner won't let you say, "Well, I think this sentence means X, so let's move on" -- the partner will say, "How do you know? How does this prefix on this word here fit your interpretation?" Since the Talmud is written in a fifteen-hundred-year-old language, without vowels or punctuation, the beginning/intermediate student (like me) has to make a lot of effort to just get the plain meaning of the text.
Now, as it turns out, this skill is very helpful when you're reading someone else's code, particularly code written in the "Real Programmers can write FORTRAN in any language" style -- because the computer will pay attention to every (uncommented, non-dead-code) word in the program, and if you gloss over the meaning of some line that the computer interprets differently, you're in for a world o' hurt. I wrote a little more on this subject here.
(N.B.: I'm not Joel, he just posted an email from me.)
I think it works the other way, too: among geeks with some knowledge of formal logic and logical terminology, some Talmudic discussions become much easier. Sometimes it's a helluva lot more concise to translate a Talmudic sentence into algebra or pseudocode than into English.
OK, here's my question for Moshe: Can you recommend a "Geek's Guide to Talmud Study?" (If not, can you write one?:-)
In order for your golem to work, the Hebrew word emes (truth) has to be written on its forehead. Unfortunately, ever since EMES-DOS was bought by You-Know-Who, Golem licenses have been too expensive for the average hacker....
Someone with Net access who is fluent in Arabic needs to come up with some really good Internet hoaxes that will thoroughly and publically embarrass whoever falls for them. If enough such hoaxes are propagated, fallen for, and then publically exposed, more people in the Arabic-speaking world will learn not to trust everything they see on the Net.
...which means you need to consider what kinds of users your program will have, and have a different section for each kind.
Restatement of the GPL, Section 1
We give you permission to use the Program for any purpose, to share copies of the Program with anyone else in your organization, and to reverse-engineer the Program. If this is all you are doing with the Program, the rest of this license does not apply to you. [The average user can stop reading here.]
If you want to give away or sell copies of the Program to someone outside your organization, you may only do so under certain conditions, which are listed in section 2. [Anyone who wants to redistribute the program needs to read this part.]
If you want to modify the Program, use parts of the Program in your own software, or otherwise create what copyright law considers a "derivative work" from the Program, and this derivative work is only distributed within your organization, you are free to do so. [This is for companies who need to run a modified version of the program internally but have no interest in distributing it.]
If you want to give away or sell copies of this derivative work to anyone outside of your organization, you may only do so under certain conditions, which are listed in section 3. [This is the group of people who are most affected by the GPL's terms, but these days only a minority of the people who use GPL'ed code are actually redistributing modified versions of it, so most customers shouldn't have to wade through it.]
You do not have to accept this License, since you have not signed it. However, if you do not accept it, then all the normal restrictions imposed by copyright law apply: you may continue to use the Program, but you may not give copies of the Program, or copies of any work derived from the program, to anyone else. [A subtle and futile attempt to prevent people whining about how the GPL "takes away our freedom".]
[Now someone just has to fill in sections 2 and 3...]
My wife wrote an 800-page Ph.D. dissertation with Microsoft Word. By the time she realized what a mistake this was, converting the whole thing to LaTeX would have been just as painful as finishing it in Word, so she pressed on with it, but the experience convinced her to ditch Word in favor of Linux.
Unfortunately, her experience with StarOffice convinced her to ditch Linux and get a new Windows machine.
In order to keep satisfying its investors, and to keep using its stock options as currency, the price of MS stock has to keep increasing.
In order for that price to go up, investors have to believe that MS profits will continue to grow.
In order to keep growing its profits, MS must have lots of current profits that can be reinvested in developing future products (or future versions of current products).
If pressure from low hardware prices makes MS profits go down -- because MS cuts its prices or because more consumers buy cheap OS-free computers -- then this cause-and-effect chain runs in the other direction.
I am reminded of Fred Pohl's advice for writers trying to negotiate a contract with the publisher:
"The way to write a contract is to assume that you and the nice man sitting across the table will drop dead tomorrow, and your heirs will hate one another's guts."
Someone who illicitly breaks into computer systems is a "cracker", not a "hacker". (Haven't we spent the last twenty years trying to explain that to the suits? If Slashdot can't get it right....)
Someone who sells stolen property is a "fence", not a "reseller".
The easier it is to make money as a real-estate con artist, the harder it is to make money as a legitimate salesman. (For example, it becomes harder for the legitimate people to build trust with their customers, because the crooks damage the reputation of the whole market.) This reduces the liquidity of the market, which is a nuisance for anyone trying to buy or sell property.
I don't have much sympathy for the people who bought these slums sight-unseen, but like drunk drivers, their stupidity harms people other than themselves.
I finally got the urge to buy a camera when my first child was born (about three and a half years ago), and I decided to go with a film rather than a digital camera for one reason. On an SLR, there's about a 1/60 second delay between pushing the button and hearing the shutter open. On the digital cameras, except for the obscenely expensive ones, the delay was noticeably longer. I figured that once I had a toddler zooming around the house, I would really need a camera that responded quickly.
Has this aspect of digital photo technology gotten any better?
One of the main design goals of C++, from the very beginning, is that "you don't pay for what you don't use"--in other words, if you write a C++ program that doesn't use the language's OO or generic-programming features, it should be just as fast as the equivalent C program. I'm not sure how you could extend C++ to include all of your desired features (particularly GC) without throwing out that goal.
(I think "you don't pay for what you don't use" is a fundamental design flaw of the language, but if you dismiss it, you're no longer arguing about how to extend C++; you're arguing about what language to replace C++ with.)
Also, Seigenthaler has no way of knowing who read the libelous version of his biography before it was corrected. He can't go to all of those people and say "hey, you were misinformed".
Better yet, compare it to primary education. Hundreds of person-years have been spent trying to figure out the best way to teach children to read, and then teaching the primary-school teachers how to apply that research. There's a lot of BS mixed up with the good research, and plenty of incompetence in the teaching profession, but illiteracy is a lot rarer now than it was 100 years ago, so the ed-school professors must be doing something right.
By contrast, there's very little research done on the best way to teach calculus to undergraduates, and even less effort to make sure that TAs and professors apply this research in their own classes.
Most of Kern's article does boil down to "I was a boy genius in high school and then I had to work like everyone else in college, woe is me", but even a stopped clock is right twice a day.
It would be interesting to take some random sample of the articles on this page, give them to subject-matter experts for evaluation, and see how well they do against corresponding paid-encyclopedia articles.
The American election system, where you have primaries that narrow down a field into two major-party candidates, has certain drawbacks. However, parlimentary systems with many many parties have other drawbacks. Look at Italy or Israel, where a few small parties, because they are willing to form coalitions with whatever major party gives in to their demands, can wield power far out of proportion to their numbers.
Regarding the American educational system, no argument.
When I was unemployed, I had monster.com and dice.com send me a daily email with every new job posting that contained "Perl" or "Java". For those ten months, I saw virtually no Perl jobs, and almost every Java-related job required J2EE experience.
So I took a basic class in J2EE, and said to myself, "No wonder there are so many openings for J2EE programmers: it takes a team of five J2EE programmers a month to put together what a good Perl hacker can make in a week." The hoops you have to jump through to get things to work in J2EE--most of which seem to involve working around Java's static typing and its object model--are absurd.
I've been re-employed for almost a year, thank God, and the group I work with is writing a J2EE-based ERP application. I have seen nothing so far to refute my original impression of J2EE.
But it still beats being unemployed.
Lazy teachers use "whole language is better than phonics" as an excuse for not knowing when a phonics-based lesson is appropriate.
Result: Nobody bought DAT recorders.
Even if the profile screens out nine out of ten terrorists, the tenth one knows he is unlikely to get caught, so he can smuggle the bombs on the plane while the other nine stay on the ground and forge checks or whatever. That's the central insight of the "Carnival Booth" paper.
The temperature of the outside of the lava blob is not as relevant as you might think. Once the lava that touches the food has hardened into rock, it insulates the food from the rest of the blob. The hole that lets steam get out is also letting cooler air in, which would accelerate the hardening process. The outer layer of lava, whose temperature you are measuring with the pyrometer, is radiating most of its heat into the surrounding air, not into your food.
In any case, a GC doesn't always save you from memory leaks. Contemplate the difference between live and reachable objects. A live object is one that the program will actually use at some point in the future. A reachable object is one that the program could use. GCs reclaim un-reachable objects, not un-live ones.
If they admitted that anonymous file-sharing was really not such a convenient way for people to violate their copyrights, then their whole case for twisting the copyright laws in their favor would fall apart.
But they disagree on whether or not this same restriction applies to English words that refer to God. There's a famous story about Rabbi Joseph B. Soleveitchik (ztz"l), "The Rav", one of the most influential Orthodox rabbis of the 20th century: He visited a classroom in the school he was running, and observed that one of the teachers had written "G-d" on the blackboard. The Rav, in front of the students, wrote "GOD GOD GOD GOD GOD" all over the blackboard, and then erased it.
Also, even for the Hebrew names, if you're displaying the name on a computer screen, I don't think this rule applies. I think there are some people who would say that it doesn't even apply when you're using a printing press rather than holding a pen and writing.
But there are some who use "G-d" instead, either because they follow a stricter opinion or because that's what everyone else in their community does. Heck, there are some people who put dashes in the middle of English transliterations of Hebrew euphemisms for names of God. Go figure.
(Disclaimer: I am not a rabbi.)
One of the cardinal (ahem) rules of Talmud study is you have to pay attention to the exact meaning of every word. A good study partner won't let you say, "Well, I think this sentence means X, so let's move on" -- the partner will say, "How do you know? How does this prefix on this word here fit your interpretation?" Since the Talmud is written in a fifteen-hundred-year-old language, without vowels or punctuation, the beginning/intermediate student (like me) has to make a lot of effort to just get the plain meaning of the text.
Now, as it turns out, this skill is very helpful when you're reading someone else's code, particularly code written in the "Real Programmers can write FORTRAN in any language" style -- because the computer will pay attention to every (uncommented, non-dead-code) word in the program, and if you gloss over the meaning of some line that the computer interprets differently, you're in for a world o' hurt. I wrote a little more on this subject here. (N.B.: I'm not Joel, he just posted an email from me.)
I think it works the other way, too: among geeks with some knowledge of formal logic and logical terminology, some Talmudic discussions become much easier. Sometimes it's a helluva lot more concise to translate a Talmudic sentence into algebra or pseudocode than into English.
OK, here's my question for Moshe: Can you recommend a "Geek's Guide to Talmud Study?" (If not, can you write one? :-)
In order for your golem to work, the Hebrew word emes (truth) has to be written on its forehead. Unfortunately, ever since EMES-DOS was bought by You-Know-Who, Golem licenses have been too expensive for the average hacker....
Someone with Net access who is fluent in Arabic needs to come up with some really good Internet hoaxes that will thoroughly and publically embarrass whoever falls for them. If enough such hoaxes are propagated, fallen for, and then publically exposed, more people in the Arabic-speaking world will learn not to trust everything they see on the Net.
Unfortunately, her experience with StarOffice convinced her to ditch Linux and get a new Windows machine.
- In order to keep satisfying its investors, and to keep using its stock options as currency, the price of MS stock has to keep increasing.
- In order for that price to go up, investors have to believe that MS profits will continue to grow.
- In order to keep growing its profits, MS must have lots of current profits that can be reinvested in developing future products (or future versions of current products).
If pressure from low hardware prices makes MS profits go down -- because MS cuts its prices or because more consumers buy cheap OS-free computers -- then this cause-and-effect chain runs in the other direction."The way to write a contract is to assume that you and the nice man sitting across the table will drop dead tomorrow, and your heirs will hate one another's guts."