... the first lawyer successfully patents a legal argument, or perhaps a clever sequence of filing inter-related lawsuits, as a business process, and then starts charging other lawyers for using it.
Remember, the legal system in general thrives on adding complexity to other people's lives. When the complexity starts removing money from their pockets, things will change.
The scariest part of Deepness for me was his idea of Focus - a biotechnology for inducing hacker trance artificially and indefinitely in humans. Focus was the basis of the power of the bad guys in the novel - their automated systems had super-human reasoning abilities because they were based on networks of Focused humans and computers.
We had better hope that AI (and hence the Singularity) is indeed possible, because if it isn't, Focus is almost certainly possible, and with it tyrrany on a scale we can barely imagine.
This is part history of AI hacking culture, part history of the AI bubble and how Lucid soared and crashed, and part Gabriel's take on patterns (he thinks they're mostly being used as crib notes to teach beginners how to get around limitations in lowest-common-denominator OO langauges).
The first edtion acknowledged that there was more than one OO language/style in the universe, with code examples in Smalltalk, CLOS, etc. The later editions went to pure C++, and lost a lot in the translation.
Adobe did a bad thing, and after a few whacks with the clue stick, it may now be realizing just how bad what it did really was.
So, go ahead and hold the protests, but hold them for the people who are now mainly responsible for the problem - the DCMA-sponsoring companies and their legislator lackeys. Why is there no protest site in Washington, DC?
The first real workstation, the Xerox Star, had a wonderful feature called TeleRAID. If your computer was misbeahving, you could call an internal support number at Xerox. The guy at the other end would tell you to press three magic keys (sorry, not CTL-ALT-DEL) which would start a very low-level program running in your Ethernet controller.
This program would bring your machine to a screeching halt, and then wait for a simple protocol across the Ethernet which boiled down to FETCH-BYTES/STORE-BYTES. The guy at the other end could examine the entrails of your machine (using a debugger on steroids), and fix it remotely.
There is no reason something like this couldn't be done today, by building it into a modem card with a hard-wired toll-free number. Problem is, the only people who could do it would be OS vendors, like Microsoft, Apple, or any of the Linux distros.
Once there is a published standard tractible representation for regulations like this, there should be Government sites that publish all regulations in that form.
After all, if we have to follow the rules, the rules should be published in a form that is as unambiguous as possible, and the closer to directly executable the better. Open-source government, anyone?
Of course, all the people who currently make their living interpreting regulations would have to start charging less for their services, as some of their work would now be done in a centralized fashion.
Furthermore, storing or distributing any files in a proprietary file format should be forbidden for all government offices. They should only be allowed to use a given file format if full specs for the format are publically and freely available and are unencumbered in any way by patents or other IP law.
There is already a legal requirement that most executive branch communications (memos, white papers, etc.) have to be filed with the National Archives. To date that has meant paper or microfilm - the archivists don't trust the long-term stability/readability of new-fangled stuff like CD-ROMs. This has led to absurd stuff like people printing out their email and handing the bales of paper over.
The situation is compounded by the use of proprietary software with its ever-changing formats (MS Word being the most prominent offender). The National Archives could give proprietary formats a poke in the eye, reduce costs, and improve service if they would choose an archival digital format (CD-ROMs might be acceptable, given appropriate testing), and state that they will accept digital submissions in formats that are published and blessed by standards bodies.
If you want to really piss off the detractors of computer-produced art, just say:
"OK, I understand it now. Since the art-snob world can't make any middleman money off of reselling work in my infinitely-reproducible medium, what I do is clearly not art. Thanks for clarifying the relationship between art and money for me."
There might be a legitimate reason for keeping SETI@Home (or any random application) off of a major organization's computers. Go look at this issue of Risks digest. The problem described here is not a security issue, but a feature of the SETI software that can cause a few copies of it to wedge a net connection if it can't reliably get to its server.
I didn't see mentioned anywhere in the decision that similar stuff has been done with phone numbers, and has had no legal trouble there. The specific case (see here was MCI grabbing 1-800-OPERATER and using it to grab business away from AT&T's 1-800-OPERATOR. Rather than suing MCI, AT&T dumped 1-800-OPERATOR and moved to 1-800-CALL-ATT.
See here. If the content now belongs to a state institution, you might be able to make them release it by asking to see it under FOIA. IANAL, but there are references on the page above to Utah locals who are lawyers and who know the local FOIA.
Once you get the stuff legally viewable again, you can host it somewhere other than University-owned equipment.
Also, your university no doubt has some boiler-plate in its mission statement about freedom of intellectual inquiry or something similar. Look it up and be ready to quote it to the media if/when they talk to you.
He's used to having less privacy than normal. In his case, he gets compensation for it - he's got the power and perks of a giga$ CEO. His office staff controls his calendar, but they also handle his travel arrangements, meal reservations, golf dates, etc.
I don't have those privileges, and the ones he mentions as examples (your PDA can send you tailored ads - bleah) aren't enough to make me want to give up what little privacy I have left, thanks.
i'm thinking of an OS where there is no compiler, something more like forth going on. something where, if you wanted, you could click right down to the basics.
Lisp Machines have the characteristics you seek. Imagine a system where instead of core dumps, you get debugger windows, with full access to the stack and source. Imagine a system with full incremental compilation, always available. Imagine all of this fifteen years ago. Lisp machines did not take over the world because:
They were CISC, and RISC outran them.
They were caught in the AI Winter downdraft.
LispOS was harder to port than Un*x.
Mass parenthephobia.
They were The Right Thing (see section 2.1) and were killed off by the New Jerseyites.
Choose any or all of the above.
Don't miss www.biolisp.org, either
on
Bioinformatics
·
· Score: 2
Graham noticed the activity on Slashdot and put more detailed papers up on his web site, most notably this, a pure-text file describing some of the guts of Viaweb/Yahoo Store, and why Lisp was the right thing for it.
Today, as Yahoo Store, this software continues to dominate its market. It's one of the more profitable pieces of Yahoo, and the stores built with it are the foundation of Yahoo Shopping. I left Yahoo in 1999, so I don't know exactly how many users they have now, but the last I heard there were about 14,000.
People sometimes ask me if Yahoo Store still uses Lisp. Yes, all the Lisp code is still there. Yahoo has server-side software written in all the languages Eric Raymond recommends to hackers, except Java.
It's clear to me that he left out the word "Store" in the last sencence. The whole article talks only about Yahoo Store, mentioning the rest of Yahoo only when comparing profitability, not implementation.
The main thing I don't like about it is the bizarre syntax. All those parenthesis are hard to keep straight and even.
That's what C-M-q in emacs is for. You do use a programmer's editor to write your code, don't you? Both emacs and vi have Lisp formatting support built-in - vi got its support back in the early BSD days, because John Foderaro (now at Franz Inc.) asked for it.
Having said that, though, I'd like to hear a lisp zealot's view of how maintainable lisp code is.
Syntactically/visually, Lisp code is no harder to maintain than C once you've worked in it awhile. After the editor indents stuff correctly, you don't even see the parentheses any more, just the logical structure.
What he said was that Yahoo Store didn't contain any Java. Both what he said and what you said could be true. Do you have knowledge of the Yahoo store code base?
... since on-line store building is no longer rocket science. After Graham showed how it ought to be done, on-line store building became a solved problem, and hence boring. Thus, it needed to be redone in languages more suited to use and maintenance by less brilliant developers. Let's face it, 99% of IT work has to be doable by the average programmer.
I would argue that everything should be done in Lisp... the first time.
1. Macros. Like Graham, I can't explain why Lisp macros are the greatest thing since sliced bread in this small space. Suffice it to say macros make it possible for Lisp to absorb nearly any semantic innovation in any other language, without losing any of its current character. Lisp was invented before structured programing - we implemented macros for IF, WHILE, and LOOP, and went on. Lisp was where a lot of the early research for object-oriented programming was done, because it's so easy to prototype new languages inside it.
2. A real specification. Like most of the new languages du jour, Python is defined by a portable implementation, and as such it will be a long time before sufficient effort can be applied to make it as efficient as any of the commercial Lisps that compile to native code, on-the-fly, cross-platform, cross-OS, cross-whatever. Both Common Lisp and Scheme have real specifications, vetted by international authorities (ANSI and IEEE, respectively), so implementors have a non-moving target when they need to get down to the metal for the last factor of two (or ten) in performance.
Did you miss the footnote that addresses this issue?
3. All languages are equally powerful in the sense of being Turing equivalent, but that's not the sense of the word programmers care about. (No one wants to program a Turing machine.) The kind of power programmers
care about may not be formally definable, but one way to explain it would be to say that it refers to features you could only get in the less powerful language by writing an interpreter for the more powerful language
in it. If language A has an operator for removing spaces from strings and
language B doesn't, that probably doesn't make A more powerful, because
you can probably write a subroutine to do it in B. But if A supports, say, recursion, and B doesn't, that's not likely to be something you can fix by writing library functions.
Graham may be opinionated, and you may not like his opinions, but he's not ignorant.
Getting out to non-Lisp libraries is doable, but harder than just linking stuff (the fact that we call them "foreign function interfaces" should tell you something).
And it's also correct that if Lisp makes you N times more productive, but there are 100*N programmers whose work you can steal working in another language, you will probably still lose.
The conclusion is pretty clear. If you're combining existing tools to make new stuff, stick with their languages. If you're doing something *really* different, go with Lisp.
... the first lawyer successfully patents a legal argument, or perhaps a clever sequence of filing inter-related lawsuits, as a business process, and then starts charging other lawyers for using it.
Remember, the legal system in general thrives on adding complexity to other people's lives. When the complexity starts removing money from their pockets, things will change.
The scariest part of Deepness for me was his idea of Focus - a biotechnology for inducing hacker trance artificially and indefinitely in humans. Focus was the basis of the power of the bad guys in the novel - their automated systems had super-human reasoning abilities because they were based on networks of Focused humans and computers.
We had better hope that AI (and hence the Singularity) is indeed possible, because if it isn't, Focus is almost certainly possible, and with it tyrrany on a scale we can barely imagine.
This is part history of AI hacking culture, part history of the AI bubble and how Lucid soared and crashed, and part Gabriel's take on patterns (he thinks they're mostly being used as crib notes to teach beginners how to get around limitations in lowest-common-denominator OO langauges).
For more info visit his web site, and particularly the part on Worse is Better
The first edtion acknowledged that there was more than one OO language/style in the universe, with code examples in Smalltalk, CLOS, etc. The later editions went to pure C++, and lost a lot in the translation.
Adobe did a bad thing, and after a few whacks with the clue stick, it may now be realizing just how bad what it did really was.
So, go ahead and hold the protests, but hold them for the people who are now mainly responsible for the problem - the DCMA-sponsoring companies and their legislator lackeys. Why is there no protest site in Washington, DC?
The semantic content of XML is equivalent to S-expressions, the core data structure of Lisp, which was invented by John McCarthy in 1959.
To a Lisp hacker, XML is S-expressions in drag.
The first real workstation, the Xerox Star, had a wonderful feature called TeleRAID. If your computer was misbeahving, you could call an internal support number at Xerox. The guy at the other end would tell you to press three magic keys (sorry, not CTL-ALT-DEL) which would start a very low-level program running in your Ethernet controller.
This program would bring your machine to a screeching halt, and then wait for a simple protocol across the Ethernet which boiled down to FETCH-BYTES/STORE-BYTES. The guy at the other end could examine the entrails of your machine (using a debugger on steroids), and fix it remotely.
There is no reason something like this couldn't be done today, by building it into a modem card with a hard-wired toll-free number. Problem is, the only people who could do it would be OS vendors, like Microsoft, Apple, or any of the Linux distros.
Hmmm...
Once there is a published standard tractible representation for regulations like this, there should be Government sites that publish all regulations in that form.
After all, if we have to follow the rules, the rules should be published in a form that is as unambiguous as possible, and the closer to directly executable the better. Open-source government, anyone?
Of course, all the people who currently make their living interpreting regulations would have to start charging less for their services, as some of their work would now be done in a centralized fashion.
The situation is compounded by the use of proprietary software with its ever-changing formats (MS Word being the most prominent offender). The National Archives could give proprietary formats a poke in the eye, reduce costs, and improve service if they would choose an archival digital format (CD-ROMs might be acceptable, given appropriate testing), and state that they will accept digital submissions in formats that are published and blessed by standards bodies.
There might be a legitimate reason for keeping SETI@Home (or any random application) off of a major organization's computers. Go look at this issue of Risks digest. The problem described here is not a security issue, but a feature of the SETI software that can cause a few copies of it to wedge a net connection if it can't reliably get to its server.
I didn't see mentioned anywhere in the decision that similar stuff has been done with phone numbers, and has had no legal trouble there. The specific case (see here was MCI grabbing 1-800-OPERATER and using it to grab business away from AT&T's 1-800-OPERATOR. Rather than suing MCI, AT&T dumped 1-800-OPERATOR and moved to 1-800-CALL-ATT.
See here. If the content now belongs to a state institution, you might be able to make them release it by asking to see it under FOIA. IANAL, but there are references on the page above to Utah locals who are lawyers and who know the local FOIA.
Once you get the stuff legally viewable again, you can host it somewhere other than University-owned equipment.
Also, your university no doubt has some boiler-plate in its mission statement about freedom of intellectual inquiry or something similar. Look it up and be ready to quote it to the media if/when they talk to you.
He's used to having less privacy than normal. In his case, he gets compensation for it - he's got the power and perks of a giga$ CEO. His office staff controls his calendar, but they also handle his travel arrangements, meal reservations, golf dates, etc.
I don't have those privileges, and the ones he mentions as examples (your PDA can send you tailored ads - bleah) aren't enough to make me want to give up what little privacy I have left, thanks.
They were CISC, and RISC outran them.
They were caught in the AI Winter downdraft.
LispOS was harder to port than Un*x.
Mass parenthephobia.
They were The Right Thing (see section 2.1) and were killed off by the New Jerseyites.
Choose any or all of the above.
... just to chime in. That's www.biolisp.org
Graham noticed the activity on Slashdot and put more detailed papers up on his web site, most notably this, a pure-text file describing some of the guts of Viaweb/Yahoo Store, and why Lisp was the right thing for it.
What he said was that Yahoo Store didn't contain any Java. Both what he said and what you said could be true. Do you have knowledge of the Yahoo store code base?
... since on-line store building is no longer rocket science. After Graham showed how it ought to be done, on-line store building became a solved problem, and hence boring. Thus, it needed to be redone in languages more suited to use and maintenance by less brilliant developers. Let's face it, 99% of IT work has to be doable by the average programmer.
... the first time.
I would argue that everything should be done in Lisp
1. Macros. Like Graham, I can't explain why Lisp macros are the greatest thing since sliced bread in this small space. Suffice it to say macros make it possible for Lisp to absorb nearly any semantic innovation in any other language, without losing any of its current character. Lisp was invented before structured programing - we implemented macros for IF, WHILE, and LOOP, and went on. Lisp was where a lot of the early research for object-oriented programming was done, because it's so easy to prototype new languages inside it.
2. A real specification. Like most of the new languages du jour, Python is defined by a portable implementation, and as such it will be a long time before sufficient effort can be applied to make it as efficient as any of the commercial Lisps that compile to native code, on-the-fly, cross-platform, cross-OS, cross-whatever. Both Common Lisp and Scheme have real specifications, vetted by international authorities (ANSI and IEEE, respectively), so implementors have a non-moving target when they need to get down to the metal for the last factor of two (or ten) in performance.
Getting out to non-Lisp libraries is doable, but harder than just linking stuff (the fact that we call them "foreign function interfaces" should tell you something).
And it's also correct that if Lisp makes you N times more productive, but there are 100*N programmers whose work you can steal working in another language, you will probably still lose.
The conclusion is pretty clear. If you're combining existing tools to make new stuff, stick with their languages. If you're doing something *really* different, go with Lisp.