That's true in the default configuration, but it's easy to make it better.
...if you write a program with it, who will use it? Virtually nobody has the runtime system installed on their machine
The "runtime system" you need is actually just the VM, which is usually a single executable file. I think this is one of Smalltalks strengths. It does not depend on having a huge collection of class libraries (with the proper version numbers) installed on an end user's system.
It's slow...remember how fast CDRW drives increased in their respective speeds? Give the DVD-R drives a few months, and they will be writing at 8x or better.
The Pioneer DVR-AO3 (street price ~$650) already writes DVD-R at 2X the DVD data rate (2.7 MB/s). This is equivalent to about a 15X CD writer. I would not expect a factor of 4 speed increase (60X CDR or 8X DVD-R) in the next few months.
By the way, blank DVD-R media is down to $8, and DVD-RW media is $16 (see www.meritline.com).
I don't see the need for DVD+RW when DVD-RW exists and has been shipping for months. Is there any real advantage?
Maybe most people write their own. I did when the local "authorities" insisted that I must install software to scan for Windows viruses in order to hook up a Linux computer:
#cat wrightAntiVirus
find $1 $2 $3 -iname \*.exe -or -iname \*.doc -or -iname \*.xls -ok/bin/rm -f () \;
The free cross-platform Squeak Smalltalk environment (http://www.squeak.org) has a built-in Klatt TTS synthesizer.
Try executing Speaker manWithHead say: 'Put whatever you want said here' anywhere in Squeak and a Southpark-like animated head will appear and talk at you.
...it looks like TJ saw a distinction between the idea and the *expression* of an idea, which is copyrightable in his mind. I think the original poster may have not used the quote 100% correctly... TJ would not have sanctioned ripping off your book...
I'm not so sure about that. Here's a little more context; you decide:
If nature has made any one thing less susceptible than all others of exclusive property, it is the action of the thinking power called an idea, which an individual may exclusively possess as long as he keeps it to himself; but the moment it is divulged, it forces itself into the possession of everyone, and the receiver cannot dispossess himself of it. Its peculiar character, too, is that no one possesses the less, because every other possesses the whole of it. He who receives an idea from me, receives instruction himself without lessening mine; as he who lights his taper at mine, receives light without darkening me. That ideas should freely spread from one to another over the globe, for the moral and mutual instruction of man, and improvement of his condition, seems to have been peculiarly and benevolently designed by nature, when she made them, like fire, expansible over all space, without lessening their density at any point, and like the air in which we breathe, move, and have our physical being, incapable of confinement or exclusive appropriation. Inventions then cannot, in nature, be a subject of property
--Thomas Jefferson
The first space tourist was, IMO, John Glenn, the most recent time he went up.
Glenn was not the first Congressman to ride the Shuttle. I beleive there were two others (who did not even pretend to be doing research). There was also the Saudi prince.
The recent cancellation (oh, they say it's just on hold, but it's cancelled) of the X-38 derived CRV...
It's actually the recent cancellation of the habitation module that reduces crew size from 7 to 3, but the end result is the same.
In Goldin's April congressional testimony he was asked how NASA could do any science on the space station if the crew was reduced to 3 and it took 2.5 people full time to just maintain the thing. His response was: "That is the challenge before us".
Goldin gets a paycheck from NASA, but he works at the pleasure of the president. He does not look out for NASA's or the public's best interest. In his own words, "My job is to promote the policies of the administration, not defend them". I'm not sure that there is any "NASA Leadership" with the vision to do what is right.
For all of Bush's rhetoric, his budget has already slashed funding for alternative energy research.
Exactly. NASA used to do a lot of alternative energy research. In the early 80s, the NASA Glenn Research Center (then called Lewis) was doing research on the "rectennas" need to receive microwave energy from space power systems, as well as photovoltaic cells, wind power, Stirling engines, high efficiency gas turbine engines, continuously variable transmissions, and advanced battery and fuel cell research. Reagan and Old Bush canceled almost all of that.
Today, NASA is fighting to keep their microgravity researchers from jumping ship since Bush II canned half the space station and there won't be enough people on board to do any science. NASA's administrator does whatever the White House says, so you won't see him proposing any alternative energy research. During administrator Goldin's recent congressional testimony he repeatedly turned down offers to restore some funding to cancelled research programs, saying that even if NASA were given the money, he "would stay within the President's budget".
I'm pretty sure NeXT had the scroll bars on the left, for this very reason.
As did Smalltalk, where the scroll bars could also "flop out" only when the window was active (so that they didn't take up any space when it was inactive).
This is still an option in Squeak. You can see some examples of it in the Squeak screenshot gallery at: http://minnow.cc.gatech.edu/squeak/683
I think Donald Becker was actually working for a NASA contractor instead of directly for NASA (as a "civil servant"). It does not seem like it should matter, but it often does to NASA and may make a difference from a legal standpoint.
If all NASA and NSA code is public domain, it could still be used in the Linux kernel (and anywhere else as well), but it would not be covered by the GPL.
What are the implications of the law that says "Works by the U. S. Government are not eligible for U. S. copyright protection."?
Does this mean that all software written by Government agencies is public domain?
Does this mean that the NSA cannot release Linux modifications under the terms of the GPL?
Does this mean that Microsoft's apparent worries about Government sponsored GPL code are unnecessary?
... and Physics and Math. At NASA, most of the good programmers seem to have Electrical Engineering or Physics degrees. For scientific programming, it is important to understand the science. CS majors are less likely to have the background and interest, and are often not very hardware oriented. It may also help to get people with experience rather than entry-level types.
The GPL also constitutes copyright abuse -- the misuse of copyright for an end not specifically contemplated by the Constitution.
If that is the definition of "copyright abuse", then it looks like most IP law is abusive.
The end specifically contemplated by the US Constitution for copyright is "to promote the progress of science and the useful arts", not "to guarantee a high standard of living for writers, even if they are plagiarizing other people's work".
Throwing out all the law that fails to meet the constitutionally stated purpose of copyright would be a great idea, but I don't think the GPL would fail.
KDE and QT can do AA fonts etc too, it's not in the official QT yet, not the official KDE but it looks like it should make it in to Qt 2.3ish and KDE2.2ish.
AA is enabled in the QT and KDE included in the Red Hat 7.1 beta.
Anyway, I've seen many similar screenshots and it looks great.
>is it possible to use anti-aliasing for only large fonts (say, 14pt+)
>and really tiny fonts...
This works for me. Add the following lines to/usr/X11R6/lib/X11/XftConfig :
# don't anti-alias these sizes (like Windows)
match any family == "Arial" any size > 9 any size < 15 edit antialias = false;
match any family == "Verdana" any size > 9 any size < 15 edit antialias = false;
match any family == "Tahoma" any size > 9 any size < 15 edit antialias = false;
Yes, but you're confusing language design principles with basic OO concepts...
Smalltalkers don't consider "static" to be a basic OO concept. It appears to be an implementation artifact of the languages used in your OO literature.
...Smalltalk offers a mechanism for implementing factory methods...
Of course. A "factory method" in Smalltalk is implemented exactly like any other method. Why should it be otherwise?
Smalltalk is OO, but works very well without the "static" concept. Why is it necessary in Java? Does it make something possible that could not be done in Smalltalk? Does whatever it adds offset the additional complexity of the language?
My point is, a simpler (but equally powerful) language would be better for teaching. Java has a lot of seemingly superfluous cruft ("public static final...") that makes it easy for student to get lost in implementation details and miss the point. There are languages (like Smalltalk and Python) that were designed with this in mind.
...Thus, a "static" method isn't really that "static", but static to the instance of the class.
So what does "static" mean, in Java? Is "static to the instance of the class" an example of something students should understand for an AP Computer Science exam, or a bizarre side effect of a too complicated language?
...I maintain that the difference between methods belonging to a class object (instead of an instance of that class) and static methods is only an implementation/vocabulary detail.
What you dismiss an implementation detail is one of the two basic design principles of the Smalltalk language:
- everything is an object
- objects communicate by sending messages
This is what make Smalltalk simple and consistent.
It's not unclear to say that Smalltalk has static methods and variables that don't belong to a particular object. It's false, and misrepresents the entire design of the language. Because Smalltalk is consistent, it doesn't need "static" in its vocabulary.
>There are static methods and variables [in Java] which do not belong to a particular object, either.
Smalltalk has those, too: they're called class or factory methods.
No. Everything is an object in Smalltalk, including classes. Class methods belong to the class objects. In addition, global variables belong to the Dictionary object called "Smalltalk". There is no "static" in Smalltalk.
Smalltalk is simple and consistant. This makes it good for teaching, among other things. Java is complex and arbitrary (but not as bad as C++, hardly a ringing endorsement).
However, Python might be even better as an early learning language, because the learning curve seems more gradual than Smalltalk. Smalltalk's openess encourages rumaginging around in the source code, examining how things are implemented, and tweaking the system. This is great power, once you get used to it, but can be overwhelming for someone starting out.
The real point he was getting at is that user-friendly systems often discourage people from exploring the depths of their computers, in the same way that modern high school boys don't tinker with cars the way boys did in the 50s. (note: "boys" is in the original article). If the interface is easy and the guts are not user-serviceable, then fewer people will become hackers (in the positive sense of the word).
This is a problem with MacOS, Windows, and most Wimp GUIs, but NOT with the original Parc GUI that he complains about. The Parc GUI came with full source, code browsers, compiler, etc., and encouraged people to tinker. Everything was user-serviceable.
The "caveman interface" was only the surface representation. The real language (Smalltalk) was there when you were ready for it. I agree with him that seeing and copying only the look and feel was a "terribly socially retrograde thing to do". But it doesn't have to be that way.
I'm looking for a high-level language, regardless of its syntax that:
(1) understands seemlessly C/C++ header files and the APIs that it exposes. No SWIGgin! (But also, no IDL or stuff like that, just direct invocation!)
Sounds like any language that supports FFI (Foreign Function Interface).
(2) grabs its language run-time (virtual machine) (whichever version that you indicate), native methods (.obj files), and your application, uncrufts it (removes every class or method not used) and nicely links it into one, single clean executable (optionally compressed with, for example, UPX).
Sounds like Smalltalk. Squeak is a free cross-platform Smalltalk that supports FFI:
http://www.squeak.org
"Wholly absent from the debate seems to be a coherent vision of what the future should be, how corporations can survive in the digital age and still make money from their efforts"
Here's a vision: pay people (or even corporations, if necessary) to create new stuff, instead of paying them to duplicate or distribute existing stuff.
In the "digital age" the marginal cost of duplication and distribution approaches zero. It's a Bad Business Plan (tm) to think that there's money to be made that way.
>And what _was_ XEROX up to when Jobs & Co. came to visit?
When I visited PARC in the early eighties,...
The Xerox PARC GUI lives on today as part of the free Squeak Smalltalk environment.
You can get a some idea of what things looked like back then (including seeing Smalltalk-72 in action) from the screenshots at: http://minnow.cc.gatech.edu/squeak/683
...Its gui is even uglier than java.
...if you write a program with it, who will use it? Virtually nobody has the runtime system installed on their machine
That's true in the default configuration, but it's easy to make it better.
The "runtime system" you need is actually just the VM, which is usually a single executable file. I think this is one of Smalltalks strengths. It does not depend on having a huge collection of class libraries (with the proper version numbers) installed on an end user's system.
It's slow...remember how fast CDRW drives increased in their respective speeds? Give the DVD-R drives a few months, and they will be writing at 8x or better.
The Pioneer DVR-AO3 (street price ~$650) already writes DVD-R at 2X the DVD data rate (2.7 MB/s). This is equivalent to about a 15X CD writer. I would not expect a factor of 4 speed increase (60X CDR or 8X DVD-R) in the next few months.
By the way, blank DVD-R media is down to $8, and DVD-RW media is $16 (see www.meritline.com).
I don't see the need for DVD+RW when DVD-RW exists and has been shipping for months. Is there any real advantage?
Maybe most people write their own. I did when the local "authorities" insisted that I must install software to scan for Windows viruses in order to hook up a Linux computer:
/bin/rm -f () \;
#cat wrightAntiVirus
find $1 $2 $3 -iname \*.exe -or -iname \*.doc -or -iname \*.xls -ok
The free cross-platform Squeak Smalltalk environment (http://www.squeak.org) has a built-in Klatt TTS synthesizer.
Try executing Speaker manWithHead say: 'Put whatever you want said here' anywhere in Squeak and a Southpark-like animated head will appear and talk at you.
Out of curisoity, does anyone know if the ISS has an "offical" language?
I've listened on the voice loops. The official language seems to be "acronym".
...it looks like TJ saw a distinction between the idea and the *expression* of an idea, which is copyrightable in his mind. I think the original poster may have not used the quote 100% correctly... TJ would not have sanctioned ripping off your book...
I'm not so sure about that. Here's a little more context; you decide:
If nature has made any one thing less susceptible than all others of exclusive property, it is the action of the thinking power called an idea, which an individual may exclusively possess as long as he keeps it to himself; but the moment it is divulged, it forces itself into the possession of everyone, and the receiver cannot dispossess himself of it. Its peculiar character, too, is that no one possesses the less, because every other possesses the whole of it. He who receives an idea from me, receives instruction himself without lessening mine; as he who lights his taper at mine, receives light without darkening me. That ideas should freely spread from one to another over the globe, for the moral and mutual instruction of man, and improvement of his condition, seems to have been peculiarly and benevolently designed by nature, when she made them, like fire, expansible over all space, without lessening their density at any point, and like the air in which we breathe, move, and have our physical being, incapable of confinement or exclusive appropriation. Inventions then cannot, in nature, be a subject of property
--Thomas Jefferson
The first space tourist was, IMO, John Glenn, the most recent time he went up.
Glenn was not the first Congressman to ride the Shuttle. I beleive there were two others (who did not even pretend to be doing research). There was also the Saudi prince.
The recent cancellation (oh, they say it's just on hold, but it's cancelled) of the X-38 derived CRV...
It's actually the recent cancellation of the habitation module that reduces crew size from 7 to 3, but the end result is the same.
In Goldin's April congressional testimony he was asked how NASA could do any science on the space station if the crew was reduced to 3 and it took 2.5 people full time to just maintain the thing. His response was: "That is the challenge before us".
Goldin gets a paycheck from NASA, but he works at the pleasure of the president. He does not look out for NASA's or the public's best interest. In his own words, "My job is to promote the policies of the administration, not defend them". I'm not sure that there is any "NASA Leadership" with the vision to do what is right.
For all of Bush's rhetoric, his budget has already slashed funding for alternative energy research.
Exactly. NASA used to do a lot of alternative energy research. In the early 80s, the NASA Glenn Research Center (then called Lewis) was doing research on the "rectennas" need to receive microwave energy from space power systems, as well as photovoltaic cells, wind power, Stirling engines, high efficiency gas turbine engines, continuously variable transmissions, and advanced battery and fuel cell research. Reagan and Old Bush canceled almost all of that.
Today, NASA is fighting to keep their microgravity researchers from jumping ship since Bush II canned half the space station and there won't be enough people on board to do any science. NASA's administrator does whatever the White House says, so you won't see him proposing any alternative energy research. During administrator Goldin's recent congressional testimony he repeatedly turned down offers to restore some funding to cancelled research programs, saying that even if NASA were given the money, he "would stay within the President's budget".
I'm pretty sure NeXT had the scroll bars on the left, for this very reason.
As did Smalltalk, where the scroll bars could also "flop out" only when the window was active (so that they didn't take up any space when it was inactive).
This is still an option in Squeak. You can see some examples of it in the Squeak screenshot gallery at: http://minnow.cc.gatech.edu/squeak/683
I think Donald Becker was actually working for a NASA contractor instead of directly for NASA (as a "civil servant"). It does not seem like it should matter, but it often does to NASA and may make a difference from a legal standpoint.
If all NASA and NSA code is public domain, it could still be used in the Linux kernel (and anywhere else as well), but it would not be covered by the GPL.
What are the implications of the law that says "Works by the U. S. Government are not eligible for U. S. copyright protection."?
Does this mean that all software written by Government agencies is public domain?
Does this mean that the NSA cannot release Linux modifications under the terms of the GPL?
Does this mean that Microsoft's apparent worries about Government sponsored GPL code are unnecessary?
... and Physics and Math. At NASA, most of the good programmers seem to have Electrical Engineering or Physics degrees. For scientific programming, it is important to understand the science. CS majors are less likely to have the background and interest, and are often not very hardware oriented. It may also help to get people with experience rather than entry-level types.
The GPL also constitutes copyright abuse -- the misuse of copyright for an end not specifically contemplated by the Constitution.
If that is the definition of "copyright abuse", then it looks like most IP law is abusive.
The end specifically contemplated by the US Constitution for copyright is "to promote the progress of science and the useful arts", not "to guarantee a high standard of living for writers, even if they are plagiarizing other people's work".
Throwing out all the law that fails to meet the constitutionally stated purpose of copyright would be a great idea, but I don't think the GPL would fail.
AA is enabled in the QT and KDE included in the Red Hat 7.1 beta.
Anyway, I've seen many similar screenshots and it looks great.
Yes it does. Congratulations all around.
>is it possible to use anti-aliasing for only large fonts (say, 14pt+)
/usr/X11R6/lib/X11/XftConfig :
>and really tiny fonts...
This works for me. Add the following lines to
# don't anti-alias these sizes (like Windows)
match any family == "Arial" any size > 9 any size < 15 edit antialias = false;
match any family == "Verdana" any size > 9 any size < 15 edit antialias = false;
match any family == "Tahoma" any size > 9 any size < 15 edit antialias = false;
Yes, but you're confusing language design principles with basic OO concepts...
...Smalltalk offers a mechanism for implementing factory methods...
...") that makes it easy for student to get lost in implementation details and miss the point. There are languages (like Smalltalk and Python) that were designed with this in mind.
Smalltalkers don't consider "static" to be a basic OO concept. It appears to be an implementation artifact of the languages used in your OO literature.
Of course. A "factory method" in Smalltalk is implemented exactly like any other method. Why should it be otherwise?
Smalltalk is OO, but works very well without the "static" concept. Why is it necessary in Java? Does it make something possible that could not be done in Smalltalk? Does whatever it adds offset the additional complexity of the language?
My point is, a simpler (but equally powerful) language would be better for teaching. Java has a lot of seemingly superfluous cruft ("public static final
...Thus, a "static" method isn't really that "static", but static to the instance of the class.
So what does "static" mean, in Java? Is "static to the instance of the class" an example of something students should understand for an AP Computer Science exam, or a bizarre side effect of a too complicated language?
...I maintain that the difference between methods belonging to a class object (instead of an instance of that class) and static methods is only an implementation/vocabulary detail.
What you dismiss an implementation detail is one of the two basic design principles of the Smalltalk language:
- everything is an object
- objects communicate by sending messages
This is what make Smalltalk simple and consistent.
It's not unclear to say that Smalltalk has static methods and variables that don't belong to a particular object. It's false, and misrepresents the entire design of the language. Because Smalltalk is consistent, it doesn't need "static" in its vocabulary.
>There are static methods and variables [in Java] which do not belong to a particular object, either.
Smalltalk has those, too: they're called class or factory methods.
No. Everything is an object in Smalltalk, including classes. Class methods belong to the class objects. In addition, global variables belong to the Dictionary object called "Smalltalk". There is no "static" in Smalltalk.
Smalltalk is simple and consistant. This makes it good for teaching, among other things. Java is complex and arbitrary (but not as bad as C++, hardly a ringing endorsement).
However, Python might be even better as an early learning language, because the learning curve seems more gradual than Smalltalk. Smalltalk's openess encourages rumaginging around in the source code, examining how things are implemented, and tweaking the system. This is great power, once you get used to it, but can be overwhelming for someone starting out.
The real point he was getting at is that user-friendly systems often discourage people from exploring the depths of their computers, in the same way that modern high school boys don't tinker with cars the way boys did in the 50s. (note: "boys" is in the original article). If the interface is easy and the guts are not user-serviceable, then fewer people will become hackers (in the positive sense of the word).
This is a problem with MacOS, Windows, and most Wimp GUIs, but NOT with the original Parc GUI that he complains about. The Parc GUI came with full source, code browsers, compiler, etc., and encouraged people to tinker. Everything was user-serviceable.
The "caveman interface" was only the surface representation. The real language (Smalltalk) was there when you were ready for it. I agree with him that seeing and copying only the look and feel was a "terribly socially retrograde thing to do". But it doesn't have to be that way.
I'm looking for a high-level language, regardless of its syntax that:
(1) understands seemlessly C/C++ header files and the APIs that it exposes. No SWIGgin! (But also, no IDL or stuff like that, just direct invocation!)
Sounds like any language that supports FFI (Foreign Function Interface).
(2) grabs its language run-time (virtual machine) (whichever version that you indicate), native methods (.obj files), and your application, uncrufts it (removes every class or method not used) and nicely links it into one, single clean executable (optionally compressed with, for example, UPX).
Sounds like Smalltalk. Squeak is a free cross-platform Smalltalk that supports FFI:
http://www.squeak.org
"Wholly absent from the debate seems to be a coherent vision of what the future should be, how corporations can survive in the digital age and still make money from their efforts"
Here's a vision: pay people (or even corporations, if necessary) to create new stuff, instead of paying them to duplicate or distribute existing stuff.
In the "digital age" the marginal cost of duplication and distribution approaches zero. It's a Bad Business Plan (tm) to think that there's money to be made that way.
When I visited PARC in the early eighties,...
The Xerox PARC GUI lives on today as part of the free Squeak Smalltalk environment.
You can get a some idea of what things looked like back then (including seeing Smalltalk-72 in action) from the screenshots at: http://minnow.cc.gatech.edu/squeak/683