Normally such EULA's have the provision that if any subsection of the license agreement is voided, the voiding only applies to that subsection, not to the whole agreement. In other words, if item F is prohibited / illegal in Tennessee, you can read the license as items A-E and G-M, with item F implicitly stuck out because it is illegal in your state.
Be Seeing You,
Jeffrey.
Fellow Virginians: Let's use the Law to stop spam!
on
Taking On A Spammer
·
· Score: 1
In Virginia, we passed a bill last year making Spam a crime wherein the victim is entitled to financial compensation on the order of $10 per Spam up to $25,000 per day for an individual and at least $25,000 per day or $10 per Spam whichever the greater for any violated ISP involved.
So, why don't we set up an Anti-Spam Legal fund for suing spammers in Virginia? Anyone opting into the fund agrees to let the fund prosecute the case on their behalf and in return all proceeds go back into the fund. Whatever surplus the fund recieves can go into Anti-Spam education, lobbying for Anti-Spam laws in other states / nationally, support for MAPS, ORBS and other Anti-Spam mail blockers, and perhaps some other related Open Source projects or the FSF.
The problem is the legal work would have to start out pro bono as initially revenue into this fund would be quite small as people learn about it and opt in. Also, most Spammers may be difficult to take to court in Virginia though the interstate commerce laws should apply to anyone in the United States at least. OTOH, were it to develop, reputation of the consequences of Spamming in Virginia would become pretty well reputed and make this state even more of a Spam-Free Commonwealth.:) Even if by this recognition the funds value trickles back to none, it will have served its purpose.
And since AOL is located in Virginia, wouldn't any account on their server constitute an Individual Presence in the state of Virginia -- namely the e-mail address -- thus allowing any user to sue any Spammer who spams the supposed cash cow of AOL users...?
Of course, the one other problem with this is that it invites the Pro-Business, Pro-Free Speech at-any-cost Supreme Court to strike the law down...:(
I was going to say the same thing, but you beat me to it friend.
Folks, mod this guy up another for me!
More detail: Python is an object-oriented language built as such from the ground up, un like C++ which is none the less derived from C and has less syntactical conformity (and I say this where my only difference with the above statement is that I perfer C++ slightly over Python, though Python is a close second.) Not only that, but Python is a great numeric language with native Ultra-Long integer type and a complex number module build in. With the LLNL PyNum Numeric Extensions. Couldn't find a good implementation of the Gamma function over the set of Complex numbers, but I guess your youngins' ern't inta that yet.:)
Another possility if you wanna get retro is do what I and doubtless you did: teach them on the C64! That is, get one of the variety of C64 emulators on the net and let them programme their hearts out in Basic. The great thing about the C64 is that because it uses PET/ASCII with all those graphics character in the characters with the MSB high so it's pretty easy to use graphics without having to use MoveTo, LineTo and the DC (if you do go the Windows route -- though so far all I've suggested exists in Linux-port form and I don't recommend teaching X-Motif just yet!:) The point is, it's much more WYSIWYG and really easy to come up with some cool stuff. For instance, I wrote a character editor for the C64 which was quite a fun project. The advantage is that the entire operating system is Basic so you have to be a programmer from the beginning just to use it.:) Disadvantage: it's a Proceedural, not on OOP language.
The other thing I would strongly recomend is Logo. Logo is graphics and geometry application in which the user controls a 'turtle' by simple geometric commands. This is a great tool for learning the [most] basic principals of Graphics which I'm sure your kids will be most interested in because of their love for games. They can use it to draw their own pictures using basic proceedural programming techniques such as loops and recursion.
Anyway, Python DOES have a pretty good graphics library and with TCL/TK you could even teach them a bit about interface design and with PIL you've got Graphics so that's just about everything. Anyway, at least I would choose one or more of those three options and make sure in time they should try to learn them all.
One last note I should make is it's you be very helpful to their overall understanding of programming and logic if they could learn at least one rule-based language down the road, such as Scheme (thank you Professor Romanik!:).
Now there's a thought! A professorship in C.S. would rock and I could spend all my days getting research grants for GNU projects and go to lectures on new Sort Algorithms for Quantum Computers! Woo Hoo!
Next time I will try to post more jokes: Why did the camel cross the road? Because the snake was slithering up his leg! See, THAT'S why I don't use more levity -- aren't you glad I didn't try.:)
Well, to preface my bias, I've no great love for Perl and am a Python-head tried and true.
Now, what you choose SHOULD be based on your server. Although in this case I'm of the Linux mind, I do see MS IIS or whatever as a valid if somewhat more buggy variant on the web-server landscape. Apache is still the best server out there if you want real POWER over you system. So, the first question you have to ask yourself is what platform you will be using. In the Win32 world, you have a lot more choice than most realise because there is not only ASP, as simple Microsoft Scripting language (though I personally abhor it) and the Microsoft Internet Classes for both MFC and COM. One thing you have to watch out for though is depending on the client browser's platform. Relying too much on Win32 could completely alienate Macintosh users, never mind *NIX. However, there exist Win32 ports for both Python and Perl so whichever you choose you should be safe in developing for the target server platform. I personally give extra points to Mark Hammond's WinPython UI. Also note that Zope has been ported to Win32 in case you decide to go the Python-Zope route. More on Zope later.
The beauty of CGI is that it only runs on one or a small number of machines so you have complete knowledge of the architecture on which your CGI will run. Such is not the case for UNIX Shell Script [sh, bash, or *csh], and except for the smallest of Web applications, Perl is typically just as good. Such is not the case with JavaScript or VB Script or even the state of the Java VM of whoever is your client. One thing I will say though is if you're sure you'll have a small client base, you can safely rely on your clients all running the latest version by forcing them to get it from Sun periodically. However, if the client base is large, this is prohibitive. Not only will you get more complaints from people regarding the frequent updates, but also you'll have a greater chance of introducing bugs because the users are not properly updating. The alternative is to stick with the AWT 1.0 distributed with most browsers and suffer all those nasty bugs with a lost of nasty kludges.
Anyway, so I've brought up Java, and now let me relate it to CGI. Basically, the question is, who plays better with Java: Python or Perl. I think given JPython alone Python can take that match, so if your client base is small, or you can suffer all the kludgy bugs of the nasty Java VM distributed with most web browsers, and you want to distribute some of the work over the clients using Java, Python is the way to go.
Next I want to discuss text processing. Text processing tends to be a big part of web development and thus having a good parser is a major benefit. In this contest, Perl wins hands-down. There is no better language for text parsing I know of, and not even Snowball can out-perform Perl in this respect. However, Python 1.6, now in Beta, is supposed to introduce UNICODE Regular Expression matching narrowing the gap between the two languages quite a bit.
Now for size, each language can serve a different need entirely. For small-scale applications, Perl is easy to hack and quickly get your programme out. However, once you know Python, you can code at comparable speed. The Python advantage comes out in the large-scale project. Since Python is a strictly-syntaxed language as opposed to the more free-form Perl, it is typically much easier to understand for the new programmer or developer. It is much easier to debug Python code than it is Perl. However, a skilled programmer in either discipline will code the same application in near comparable time, the training a Python coder to use Perl or a Perl coder to use Python is usually pretty easy to do, though the time to train in a small application may not make it worth it. As a rule of thumb, the larger the project, the more of an advantage you'll get out of Python. Also the more hands you need to develop a project, the easier it will be to co-operate with Python, as the code is easier for an outsider to understand.
Now both Python and Perl have a byte-code and many many libraries, so there is little advantage with either, though perhaps because of the longer life I think we can give reusability over to Perl. After all, more people have been developing Perl than any other CGI language over time. The same goes for third party support, such as connecting to a database. One advantage I think Python has though is the ease with which one can convert Python code to ANSI C++, my personal language of choice. With the Python / C++ combination, one can develop prototypes quite easily and quickly in Python, then slowly move each component over to C++ for speed. [Yes, you could move to ANSI C too, but why would you want to when good C++ code can be just as fast and is a lot easier to understand.] To be sure, you can do the same thing with Perl but the languages [Perl and C++] don't convert as well and the interface, as will most things Perl, is rather kludgy.
Now, there is one issue with web development that neither Python nor Perl do address well, and that is remote development. Typically to do remote development, you have to either SSH / Telnet to the server and do your work there, or more typically run a web server locally and synchronise files from time to time as needed for each version. However, with a tool like Zope, you can do all of your development remotely without having to use ftp or telnet. Plus, Zope is built from Python so you can extend it with packages and external methods written in Python quite easily. The downside to Zope is that for package development it is very tedious to use. The problem with Zope is that for every change you make to a package structure, you need to restart Zope for it to recognise the changes. This can be tedious in the extreme. Another possibility is Microsoft Visual InterDev, which relies heavily on Microsoft components and architectures. I don't recommend it for anything but the most Win32 of circumstances. There is also Web Objects, which can make development very simple but the price / performance ration is usually out of the range of all but the most corporate of servers. However, none of these give the true Web feel of a good CGI script and there is no substitute for the usefulness of Python or Perl.
In conclusion, I'd say you could use either language for just about any web application, but certainly for pre-existing libraries Perl is your best bet, and for long-term development you should go for Python. Whatever you choose, I wish you luck and hope that I can in even a small way have been some help.
P.S. I WOULD like to know what it was like working with Nation on 'Destiny of the Daleks', Williams on Season 17 and Reed for 'The Pirate Planet'. What were those chaps like in your opinion and 20/20 hindsight, and do you have ANY fond memories of that enslavement ^h^h^h^h tenure you had at the BBC and 'Doctor Who'?:)
'Doctor Who' ran near-continuously (except for an 18-month hiatus in 1968) for 26 seasons. Adams first wrote the 'Key to Time', Season 16 episode 'The Pirate Planet' under Producer Graham Williams and Script Editor Anthony Reed. Anthony Reed quit after Season 16 and only 8 stories and Adams was hired as script editor for season 17 under producer Williams. During that period Adams edited 6 stories of which he wrote co-wrote one with the producer ('City of Death') under the pseudonym of 'David Agnew' and wrote serial 'Shada' which was never completed in production due to a writers' strike. There were a lot of strikes in Britain during that period so this is not uncommon and at least they didn't end up with something lame like 'Shades of Grey' from Star Trek: The Next Generation. Williams and Adams then quit while they were behind and left the series to long-time line-editor John Nathon-Turner and Chris H. Bidmead (El Bid). Nathan-Turner remaind with the series until the bitter end.
The Adams Edited Stories from Season 17 are in order: 'Destiny of the Daleks' 'City of Death' 'Creature from the Pit' 'The Nightmare of Eden' 'Horns of Nimon' 'Shada' (Production never completed due to writers' strike)
'The Pirate Planet' was the second of six serials of season 16.
Great post, but as others have pointed out Adams contributed 3 stories, 2 as script editor: 'The Pirate Planet' ('Key to Time': Graham Williams and Anthony Reed as Script Editor and Producer), 'City of Death' (under the pseudonym of 'David Agnew' with producer Graham Williams) and the before mentioned Shada as William's last story as 'Doctor Who' producer, had it finished production. (Going out on 'Horns of the Nimon' was quite a shame for Williams instead.) Anyway, it is quite clear when you read 'Dirk Gently's Holographic Detective Agency' that the reason these three stories had not been novelised is because they already WERE novelised, just with the names changed and the scenes rearranged in Adams subsequent books. To novelise the 'Doctor Who' stories would mean repeating themes he's already covered twice and he no more wants that that to have his work cheapened by association with the likes of Terrence Dicks, his predecessor, who did much of the novelisations of the 'Doctor Who' series. BTW, Dicks rocks as an author too, so there!:)
As for the two Dalek stories you list, it is true they have yet to be novelised but this has nothing to do with Adams. By the time these stories were produced in the mid 1980s Adams was already world-famous for his Hitchhiker's Guide to the Galaxy series of books -- perhaps more famous even that 'Doctor Who' itself -- and certainly had no more interest in the series in which he got his start. In fact those stories were written by former script editor Eric Seward, who left the series on a somewhat more acrimonious note and thus out of spite has disallowed his stories from being novelised. This has very little to do with the Nation estate as the stories were sanctioned by Nation -- they had to be or they could not have been produced by the BBC.
Incidentally, since the BBC, not the author, owns the rights to ALL the 'Doctor Who' series videos, it is likely what ever of those 5 stories remain unreleased on video to this day WILL be in the eventuality of time. In fact, a polished off version of 'Shada' HAS already been released.
I couldn't have said it better myself. After all, the whole 'Fire' analogy is meant to provide 'Public Safety'. But who decides what is 'Safe' for the Public? The Supreme Court could equally rule that all code which implements some function 'foo' which the government finds objectionable could be a 'threat to public safety' and thus ruled illegal! It's a very fine line indeed.
I certainly can see your argument and I know it's hard to justify exactly interpreted languages against it. However it seems by your argument, any time you need some underlying subsystem to execute Source, or to compile it, then it is not dangerous. However, I could argue that a Binary file is equally not dangerous until you execute it. And certainly if you have a Windoze Binary.exe and take it over to an iMac or FreBSD box without an emulator, it's just as dangerous as a piece of lint. In fact, a good block of scripted python or perl is platform-inspecific, and therefore can cause a lot larger swath of damage than a BeOS-specific one. Also, let's not forget it's theoretically possible to build a full C / C++ interpreter -- a nightmare of a job which would serve practically no purpose what-so-ever -- but certainly possible. Equally, Python and Perl code can be compiled. Thus the line between the two is much more blurred than at first look. (I suppose that's a point for you, jd.:) Anyway, it's the execution of code, in an executable or natively interpretable format on an appropriate microprocessor with the correct device connections. (After all, you can hardly re-format the Hard Disk of Dumb Terminal.) Yes, Binary files can serve no other purpose than execution, but as long as they are not executed in the right place at the right time, they are perfectly harmless.
The problem isn't that one has the code or binary, but rather that the binary may be executed with unexpected consequences, i.e. it's gonna format your harddrive.:) This strikes me more as 'False Claims' than free speech. I mean, I may have free speech, but if I make a car that gets 1 km to the litre, and then sell it with a claim of 50 km per l, that's not free speech, that's a false claim ('False Advertising') and this punishable under consumer protection laws. Unfortunately UCITA seems (I haven't finished reading the full text) to take that very right to sue for false claims away from us if they are not discovered within 30 days! but theoretically and hopefully once the Supreme Court clears that up, consumers should have the same protection when software (binary, source or otherwise) is executed under false pretences, and the provider who wilfully knew of the deleterious effects is liable under the consumer protection laws. It shouldn't matter whether money was exchenged for the code -- as long as a service is provided under false pretences, the provider is liable, IMHO.
Please see my other post about 'Public Safety' for another way of viewing this issue.
I think there is a simple solution to Free Speech versus malicious code, and it falls under the same category as yelling 'Fire' in a crouded cinema. Do that and you'll be arrested for disturbing the peace and maybe even inciting a riot. The same thing goes for nefarious code: if you write a virus AND try to distribute it in an executable form (binary, platform specific or scripted) you are doing the same thing as yelling 'Fire' in the movie house. You are disturbing the public safety, and a liable. Free speech does not extend beyond the tip of your nose, so spake the honerable, late, Chief Justice Marshall, and so to your freedom of speech to write code cannot extend beyond its harmless propagation. As soon as it goes from 'speech' to malicious action, the author is liable under the law. Note, the definition of 'malicious' is what is going to tie up the court system for years to come. After all, if you buy MS Windows and it keeps locking up and your important data is consisantly being lost, was that 'bug' in the system 'malicious'? If the company knew about it before selling the product, did they commit willful misrepresentation? Unfortunately, the UCITA laws seem to protect the big Software Houses from these kind of common-sense consumer protections (UCITA allows a 30-day evaluation period, but it is quite possible a product could be used for over 30 days before a specific problem arrises) but at least in theory, that is how free speech in code should work, IMHO. Of course, I'm not Chief Justice William Renquist -- only he and his 8 colleagues can decide what this really means. (Or 2/3 of the Senate and 3/4 of the States...)
Be Seeing You,
Jeffrey.
P.S. Don't forget, in the U.S. Congress enacts laws, the President can veto, the congress can override with a 2/3 vote, the Supreme Court can rule as unconstitutional, the Senate and the States can amend the Consitution, the President can refuse to enforce the act / amendment and the congress can Impeach and Convict the President with the Chief Justice of the Supreme Court presiding. There is no clause in the Constitution for a National Referendum. Checks and Balances...
Actually, you just made my point for me!:) </p> <p>The law is <strong>less</strong> than 100 years old -- this case was startedt in THE SAME century of the law. Katz's slant is that this is some kind of old-world concept applied to new-world realiaty, metaphorically speaking. I disagree. I think the Sherman Anti-Trust is a <strong>product</strong> of our modern era and applies perfectly to the situation at hand because it has always been up-to-date. There are people alive today who were born before Sherman Anti-Trust even. And the effects of the break-up of Standard Oil are still felt today. Try driving around Northern Virginia and imagine all those Mobils and Exxons used to be the same company -- and now they will be again -- creating a near monopoly of petrol in the area. And you yourself have already mentioned the AT&T break-up of less than 20 years ago. Point being, what's the fuss? The law is there, it is a modern law, and it is being applied. Justice at work. </p>
Just to make things clear, which they aren't from the article, the Sherman Anti-Trust act, the chief law in question for this case, was passed during t eh William Howard Taft (R) administration, 'aught-8 to 12. Certainly before all the events that shaped the modern world (War of 1914-18, Market Crash, Television, Nazism, WWII, Cold War, Transistors, C, Microsoft AND Linux.
It <b>is</b> newer than the automobile, radio, photography, cinema, incandescent light, the telephone and telegraph, and certainly the modern thirst for oil, since that's what it was enacted to protect consumers against.
AFICT, Todd is correct! I am a Virginian and was all ready to write my Senator. But I tried to do some research as to why this bill is so bad. First off, Why is it so bad!? I mean, if it prevents OS Licences that's something I can use. If it locks consumers into a licence like current ones, that basically sound more like a slum-lord rental agreement (no guarantee of service, and you don't own it either, and if you [your computer] gets sick because of it, it ain't their problem) then that's an argument I can make. If all it does it prevent the "warez kiddies" from their little pirate cottage industry, as said elsewhere, then how can you be against that. Sure, some software may seem overpriced, but it is the right of the company to charge what they want for it, and it is your right not to install it. If you did without paying it, UCITA or not, you just broke the law. If all the UCITA does is make that law easier to enforce, it's not the UCITA that we need to fight, it's copyright law and licensing of software. If the free market is not working, keeping prices down through competition, it is not the fault of the UCITA, is it? That's why we have the Sherman Anti-Trust laws of the Taft administration, and why Microsoft is in court today.
In any case, if I'm to write my Senator, I have to at least read the text of the legislation I'm supposedly against, otherwise what can I possibly argue against? "I don't like it because it's bad for consumers." "Why is it bad?" "I don't know, but they said so on/. and they're pretty reputable over there." >Click< >Bzzzzz<. You're going to get nowhere with that attitude and thanks to another/. reader for pointing that out already. So what do I do, I search the entire 2000 legislative record for the bill in question. Nada! At best, the legislator made a legal definition of a "Computer Network", but nothing UCITA-related what so ever. The only thing there is the before-mentioned resolution to for a joint committee to study the UCITA, because as the comment above points out, the issue is indeed a very complicated one. Don't get mad at the legislature for passing a bill to open the committee, thank them for allowing this opportunity to discuss this issue publicly before legislation is passed! Now is the time to write the Committee lucid descriptions as to why this is harmful to consumers, and focus especially on the Senator chosen to represent the consumers' view in the discussions. The Virginia Legislature is not full of space cadets in the back pocket of big business, they do try to listen to what their constituents, all their constituents, have to say. It is a right we should not abuse with frivolous campaigns in which we are not aware of the facts. And that brings me back to my first point, as there is no way I can truthfully be against the UCITA unless I know why it is bad. You'd think at least one post with this information would have been moderated up to at least 3, but I could find no such post, alas! I'm sorry if this bothers anyone but this has to be IMHO and all I can ask is that people keep this in mind the next time a hot-button issue with a mysterious acronym comes up here.
Microsoft's Bill Gates resigned as CEO of Microsoft Corporation today leaving the position to long-time friend and recently appointed President, Steve Ballmer. Gates will remain as chairman and quasi-CTO. After the announcement, Gates clairified this dramatic move by making a public statement, "My old position really wan't giving me enough time to do the things I really love doing." Later when asked what he planned to do now that he was no longer CEO, Gates responded, "Well, I'm really looking forward finally spending some time home and hacking on some Linux Kernel Drivers."
It is nice to see a Physicist getting his due besides Mr. "He's the next Newton" Prof. Hawking -- though Prof. Hawking seems more than a might bit nicer than Newton -- and would someone PLEASE install a speech pack with a British Accent for that man!:) But I digress.
Anyway, with his background in mind (since Prof. Lederman probably hasn't much more ideas on the Cosmological Constant than the average reader of 'New Scientist'), here is the question I would pose in terms I hope even lay-people can understand:
Prof. Lederman,
One of the hottest theories in modern physics is the String or M Theory. One of the propositions of that theory is that our universe is actually composed of many "hidden" dimensions which are curled up onto a loop -- like the tassels of a fine-woven carpet along the "plane" or our entire universe, as you well know. Of course, there is much debate as to how small these dimensions (10 in most String Theories, 11 in M Theory, 26 in some older theories) may be in length. This is because the only dimensions we can directly perceive are the 3 of the spatial universe and our old, millennium-turning friend, Time. Of course we are pretty sure the spatial dimensions are looped back on the scale of 20 billion light-years or more. [That is, if you drew a straight line in any direction, give or take a few 100 sextillion (100 trilliard or 100 thousand trillion for our British friends out there) miles in length, it should eventually meet up with itself, the same way longitudinal lines meet up on the Earth. It is unclear if time has this property.] But what of these other dimensions. Originally it was though they were on the order of the Plank Length -- a length a few septillionths [quadrillionths] of the diameter of an atom, which is far beyond any atom smasher we have to even conceive today in producing an explosion with such energy [7.6723(57)e+15 TeV] that some of the particle thrown off in the explosion might make a dimensional shift noticeably into one of our curled-up dimensions. Now, some recent theories believe that maybe not all of these concealed dimensions are of the order of a Plank Length. Some even believe they may be on the order of as much as a millionth the width of an atom or just beyond the energies of current particle physics, or even longer!
That's the background, now the question: What do you think the probability of discovering extra dimensions curved in upon themselves at measurable lengths and energies in our lifetime is? What implications do you predict, if any, for our view of the universe if multiple dimensions are shown to be correctly predicted by hypothesis? Or do you feel they will forever be outside our range, well beyond our detection due to their high-energy conditions?
Thanks much for taking the time to answer and good luck with all your future research!
What do you do when you come out with a killer product in 1995 [or so] and call it SimCiry 2000? Introduce SimCity 3000 in 1999 [or so]! I should expect SC 4000 in a few years, but how that relates to modern urban arcitecture, I've no idea!:)
After that Tom Baker...
Followed by Jon Pertwee...
Then Patrick Troughton...
Cool, I can regenerate into an exact replica of William Hartnell!
Be Seeing You,
Jeffrey.
Normally such EULA's have the provision that if any subsection of the license agreement is voided, the voiding only applies to that subsection, not to the whole agreement. In other words, if item F is prohibited / illegal in Tennessee, you can read the license as items A-E and G-M, with item F implicitly stuck out because it is illegal in your state.
Be Seeing You,
Jeffrey.
In Virginia, we passed a bill last year making Spam a crime wherein the victim is entitled to financial compensation on the order of $10 per Spam up to $25,000 per day for an individual and at least $25,000 per day or $10 per Spam whichever the greater for any violated ISP involved.
:) Even if by this recognition the funds value trickles back to none, it will have served its purpose.
:(
So, why don't we set up an Anti-Spam Legal fund for suing spammers in Virginia? Anyone opting into the fund agrees to let the fund prosecute the case on their behalf and in return all proceeds go back into the fund. Whatever surplus the fund recieves can go into Anti-Spam education, lobbying for Anti-Spam laws in other states / nationally, support for MAPS, ORBS and other Anti-Spam mail blockers, and perhaps some other related Open Source projects or the FSF.
The problem is the legal work would have to start out pro bono as initially revenue into this fund would be quite small as people learn about it and opt in. Also, most Spammers may be difficult to take to court in Virginia though the interstate commerce laws should apply to anyone in the United States at least. OTOH, were it to develop, reputation of the consequences of Spamming in Virginia would become pretty well reputed and make this state even more of a Spam-Free Commonwealth.
And since AOL is located in Virginia, wouldn't any account on their server constitute an Individual Presence in the state of Virginia -- namely the e-mail address -- thus allowing any user to sue any Spammer who spams the supposed cash cow of AOL users...?
Of course, the one other problem with this is that it invites the Pro-Business, Pro-Free Speech at-any-cost Supreme Court to strike the law down...
I was going to say the same thing, but you beat me to it friend.
Folks, mod this guy up another for me!
More detail: Python is an object-oriented language built as such from the ground up, un like C++ which is none the less derived from C and has less syntactical conformity (and I say this where my only difference with the above statement is that I perfer C++ slightly over Python, though Python is a close second.) Not only that, but Python is a great numeric language with native Ultra-Long integer type and a complex number module build in. With the LLNL PyNum Numeric Extensions. Couldn't find a good implementation of the Gamma function over the set of Complex numbers, but I guess your youngins' ern't inta that yet. :)
Another possility if you wanna get retro is do what I and doubtless you did: teach them on the C64! That is, get one of the variety of C64 emulators on the net and let them programme their hearts out in Basic. The great thing about the C64 is that because it uses PET/ASCII with all those graphics character in the characters with the MSB high so it's pretty easy to use graphics without having to use MoveTo, LineTo and the DC (if you do go the Windows route -- though so far all I've suggested exists in Linux-port form and I don't recommend teaching X-Motif just yet! :) The point is, it's much more WYSIWYG and really easy to come up with some cool stuff. For instance, I wrote a character editor for the C64 which was quite a fun project. The advantage is that the entire operating system is Basic so you have to be a programmer from the beginning just to use it. :) Disadvantage: it's a Proceedural, not on OOP language.
A good list of available emulators can be found at http://commodore64.net/emulators/
The other thing I would strongly recomend is Logo. Logo is graphics and geometry application in which the user controls a 'turtle' by simple geometric commands. This is a great tool for learning the [most] basic principals of Graphics which I'm sure your kids will be most interested in because of their love for games. They can use it to draw their own pictures using basic proceedural programming techniques such as loops and recursion.
You can get an MS Windows version of Logo at: http://www.softronix.com/logo.html.
You could also download a Linux port of the Berkley Logo Software from this University of North Carolina at Chapel Hill software archive though you may need to check out Steve Bakers' Software Page if you have any problems with the port.
Anyway, Python DOES have a pretty good graphics library and with TCL/TK you could even teach them a bit about interface design and with PIL you've got Graphics so that's just about everything. Anyway, at least I would choose one or more of those three options and make sure in time they should try to learn them all.
One last note I should make is it's you be very helpful to their overall understanding of programming and logic if they could learn at least one rule-based language down the road, such as Scheme (thank you Professor Romanik! :).
Be Seeing You,
Jeffrey.
Now there's a thought! A professorship in C.S. would rock and I could spend all my days getting research grants for GNU projects and go to lectures on new Sort Algorithms for Quantum Computers! Woo Hoo!
:)
:)
Next time I will try to post more jokes: Why did the camel cross the road? Because the snake was slithering up his leg! See, THAT'S why I don't use more levity -- aren't you glad I didn't try.
Be Seeing You,
Mumble mumble mumble drone drone drone...
Well, to preface my bias, I've no great love for Perl and am a Python-head tried and true.
Now, what you choose SHOULD be based on your server. Although in this case I'm of the Linux mind, I do see MS IIS or whatever as a valid if somewhat more buggy variant on the web-server landscape. Apache is still the best server out there if you want real POWER over you system. So, the first question you have to ask yourself is what platform you will be using. In the Win32 world, you have a lot more choice than most realise because there is not only ASP, as simple Microsoft Scripting language (though I personally abhor it) and the Microsoft Internet Classes for both MFC and COM. One thing you have to watch out for though is depending on the client browser's platform. Relying too much on Win32 could completely alienate Macintosh users, never mind *NIX. However, there exist Win32 ports for both Python and Perl so whichever you choose you should be safe in developing for the target server platform. I personally give extra points to Mark Hammond's WinPython UI. Also note that Zope has been ported to Win32 in case you decide to go the Python-Zope route. More on Zope later.
The beauty of CGI is that it only runs on one or a small number of machines so you have complete knowledge of the architecture on which your CGI will run. Such is not the case for UNIX Shell Script [sh, bash, or *csh], and except for the smallest of Web applications, Perl is typically just as good. Such is not the case with JavaScript or VB Script or even the state of the Java VM of whoever is your client. One thing I will say though is if you're sure you'll have a small client base, you can safely rely on your clients all running the latest version by forcing them to get it from Sun periodically. However, if the client base is large, this is prohibitive. Not only will you get more complaints from people regarding the frequent updates, but also you'll have a greater chance of introducing bugs because the users are not properly updating. The alternative is to stick with the AWT 1.0 distributed with most browsers and suffer all those nasty bugs with a lost of nasty kludges.
Anyway, so I've brought up Java, and now let me relate it to CGI. Basically, the question is, who plays better with Java: Python or Perl. I think given JPython alone Python can take that match, so if your client base is small, or you can suffer all the kludgy bugs of the nasty Java VM distributed with most web browsers, and you want to distribute some of the work over the clients using Java, Python is the way to go.
Next I want to discuss text processing. Text processing tends to be a big part of web development and thus having a good parser is a major benefit. In this contest, Perl wins hands-down. There is no better language for text parsing I know of, and not even Snowball can out-perform Perl in this respect. However, Python 1.6, now in Beta, is supposed to introduce UNICODE Regular Expression matching narrowing the gap between the two languages quite a bit.
Now for size, each language can serve a different need entirely. For small-scale applications, Perl is easy to hack and quickly get your programme out. However, once you know Python, you can code at comparable speed. The Python advantage comes out in the large-scale project. Since Python is a strictly-syntaxed language as opposed to the more free-form Perl, it is typically much easier to understand for the new programmer or developer. It is much easier to debug Python code than it is Perl. However, a skilled programmer in either discipline will code the same application in near comparable time, the training a Python coder to use Perl or a Perl coder to use Python is usually pretty easy to do, though the time to train in a small application may not make it worth it. As a rule of thumb, the larger the project, the more of an advantage you'll get out of Python. Also the more hands you need to develop a project, the easier it will be to co-operate with Python, as the code is easier for an outsider to understand.
Now both Python and Perl have a byte-code and many many libraries, so there is little advantage with either, though perhaps because of the longer life I think we can give reusability over to Perl. After all, more people have been developing Perl than any other CGI language over time. The same goes for third party support, such as connecting to a database. One advantage I think Python has though is the ease with which one can convert Python code to ANSI C++, my personal language of choice. With the Python / C++ combination, one can develop prototypes quite easily and quickly in Python, then slowly move each component over to C++ for speed. [Yes, you could move to ANSI C too, but why would you want to when good C++ code can be just as fast and is a lot easier to understand.] To be sure, you can do the same thing with Perl but the languages [Perl and C++] don't convert as well and the interface, as will most things Perl, is rather kludgy.
Now, there is one issue with web development that neither Python nor Perl do address well, and that is remote development. Typically to do remote development, you have to either SSH / Telnet to the server and do your work there, or more typically run a web server locally and synchronise files from time to time as needed for each version. However, with a tool like Zope, you can do all of your development remotely without having to use ftp or telnet. Plus, Zope is built from Python so you can extend it with packages and external methods written in Python quite easily. The downside to Zope is that for package development it is very tedious to use. The problem with Zope is that for every change you make to a package structure, you need to restart Zope for it to recognise the changes. This can be tedious in the extreme. Another possibility is Microsoft Visual InterDev, which relies heavily on Microsoft components and architectures. I don't recommend it for anything but the most Win32 of circumstances. There is also Web Objects, which can make development very simple but the price / performance ration is usually out of the range of all but the most corporate of servers. However, none of these give the true Web feel of a good CGI script and there is no substitute for the usefulness of Python or Perl.
In conclusion, I'd say you could use either language for just about any web application, but certainly for pre-existing libraries Perl is your best bet, and for long-term development you should go for Python. Whatever you choose, I wish you luck and hope that I can in even a small way have been some help.
Be Seeing You,
Jeffrey.
1968 should read 1986...
P.S. I WOULD like to know what it was like working with Nation on 'Destiny of the Daleks', Williams on Season 17 and Reed for 'The Pirate Planet'. What were those chaps like in your opinion and 20/20 hindsight, and do you have ANY fond memories of that enslavement ^h^h^h^h tenure you had at the BBC and 'Doctor Who'? :)
Be Seeing You,
Jeffrey.
'Doctor Who' ran near-continuously (except for an 18-month hiatus in 1968) for 26 seasons. Adams first wrote the 'Key to Time', Season 16 episode 'The Pirate Planet' under Producer Graham Williams and Script Editor Anthony Reed. Anthony Reed quit after Season 16 and only 8 stories and Adams was hired as script editor for season 17 under producer Williams. During that period Adams edited 6 stories of which he wrote co-wrote one with the producer ('City of Death') under the pseudonym of 'David Agnew' and wrote serial 'Shada' which was never completed in production due to a writers' strike. There were a lot of strikes in Britain during that period so this is not uncommon and at least they didn't end up with something lame like 'Shades of Grey' from Star Trek: The Next Generation. Williams and Adams then quit while they were behind and left the series to long-time line-editor John Nathon-Turner and Chris H. Bidmead (El Bid). Nathan-Turner remaind with the series until the bitter end.
The Adams Edited Stories from Season 17 are in order:
'Destiny of the Daleks'
'City of Death'
'Creature from the Pit'
'The Nightmare of Eden'
'Horns of Nimon'
'Shada' (Production never completed due to writers' strike)
'The Pirate Planet' was the second of six serials of season 16.
Be Seeing You,
Jeffrey.
Or did you just dislike John Nathan-Turner. :)
:)
Anyway [IMHO] Chris H. Bidmead (El Bid) was in many way a FAR better Script Editor than Adams if not as class a writer, so whose to complain.
Be Seeing You,
Jeffrey.
Great post, but as others have pointed out Adams contributed 3 stories, 2 as script editor: 'The Pirate Planet' ('Key to Time': Graham Williams and Anthony Reed as Script Editor and Producer), 'City of Death' (under the pseudonym of 'David Agnew' with producer Graham Williams) and the before mentioned Shada as William's last story as 'Doctor Who' producer, had it finished production. (Going out on 'Horns of the Nimon' was quite a shame for Williams instead.) Anyway, it is quite clear when you read 'Dirk Gently's Holographic Detective Agency' that the reason these three stories had not been novelised is because they already WERE novelised, just with the names changed and the scenes rearranged in Adams subsequent books. To novelise the 'Doctor Who' stories would mean repeating themes he's already covered twice and he no more wants that that to have his work cheapened by association with the likes of Terrence Dicks, his predecessor, who did much of the novelisations of the 'Doctor Who' series. BTW, Dicks rocks as an author too, so there! :)
As for the two Dalek stories you list, it is true they have yet to be novelised but this has nothing to do with Adams. By the time these stories were produced in the mid 1980s Adams was already world-famous for his Hitchhiker's Guide to the Galaxy series of books -- perhaps more famous even that 'Doctor Who' itself -- and certainly had no more interest in the series in which he got his start. In fact those stories were written by former script editor Eric Seward, who left the series on a somewhat more acrimonious note and thus out of spite has disallowed his stories from being novelised. This has very little to do with the Nation estate as the stories were sanctioned by Nation -- they had to be or they could not have been produced by the BBC.
Incidentally, since the BBC, not the author, owns the rights to ALL the 'Doctor Who' series videos, it is likely what ever of those 5 stories remain unreleased on video to this day WILL be in the eventuality of time. In fact, a polished off version of 'Shada' HAS already been released.
Be Seeing You,
Jeffrey.
I couldn't have said it better myself. After all, the whole 'Fire' analogy is meant to provide 'Public Safety'. But who decides what is 'Safe' for the Public? The Supreme Court could equally rule that all code which implements some function 'foo' which the government finds objectionable could be a 'threat to public safety' and thus ruled illegal! It's a very fine line indeed.
Be Seeing You,
Jeffrey.
I certainly can see your argument and I know it's hard to justify exactly interpreted languages against it. However it seems by your argument, any time you need some underlying subsystem to execute Source, or to compile it, then it is not dangerous. However, I could argue that a Binary file is equally not dangerous until you execute it. And certainly if you have a Windoze Binary .exe and take it over to an iMac or FreBSD box without an emulator, it's just as dangerous as a piece of lint. In fact, a good block of scripted python or perl is platform-inspecific, and therefore can cause a lot larger swath of damage than a BeOS-specific one. Also, let's not forget it's theoretically possible to build a full C / C++ interpreter -- a nightmare of a job which would serve practically no purpose what-so-ever -- but certainly possible. Equally, Python and Perl code can be compiled. Thus the line between the two is much more blurred than at first look. (I suppose that's a point for you, jd. :) Anyway, it's the execution of code, in an executable or natively interpretable format on an appropriate microprocessor with the correct device connections. (After all, you can hardly re-format the Hard Disk of Dumb Terminal.) Yes, Binary files can serve no other purpose than execution, but as long as they are not executed in the right place at the right time, they are perfectly harmless.
The problem isn't that one has the code or binary, but rather that the binary may be executed with unexpected consequences, i.e. it's gonna format your harddrive. :) This strikes me more as 'False Claims' than free speech. I mean, I may have free speech, but if I make a car that gets 1 km to the litre, and then sell it with a claim of 50 km per l, that's not free speech, that's a false claim ('False Advertising') and this punishable under consumer protection laws. Unfortunately UCITA seems (I haven't finished reading the full text) to take that very right to sue for false claims away from us if they are not discovered within 30 days! but theoretically and hopefully once the Supreme Court clears that up, consumers should have the same protection when software (binary, source or otherwise) is executed under false pretences, and the provider who wilfully knew of the deleterious effects is liable under the consumer protection laws. It shouldn't matter whether money was exchenged for the code -- as long as a service is provided under false pretences, the provider is liable, IMHO.
Please see my other post about 'Public Safety' for another way of viewing this issue.
I think there is a simple solution to Free Speech versus malicious code, and it falls under the same category as yelling 'Fire' in a crouded cinema. Do that and you'll be arrested for disturbing the peace and maybe even inciting a riot. The same thing goes for nefarious code: if you write a virus AND try to distribute it in an executable form (binary, platform specific or scripted) you are doing the same thing as yelling 'Fire' in the movie house. You are disturbing the public safety, and a liable. Free speech does not extend beyond the tip of your nose, so spake the honerable, late, Chief Justice Marshall, and so to your freedom of speech to write code cannot extend beyond its harmless propagation. As soon as it goes from 'speech' to malicious action, the author is liable under the law. Note, the definition of 'malicious' is what is going to tie up the court system for years to come. After all, if you buy MS Windows and it keeps locking up and your important data is consisantly being lost, was that 'bug' in the system 'malicious'? If the company knew about it before selling the product, did they commit willful misrepresentation? Unfortunately, the UCITA laws seem to protect the big Software Houses from these kind of common-sense consumer protections (UCITA allows a 30-day evaluation period, but it is quite possible a product could be used for over 30 days before a specific problem arrises) but at least in theory, that is how free speech in code should work, IMHO. Of course, I'm not Chief Justice William Renquist -- only he and his 8 colleagues can decide what this really means. (Or 2/3 of the Senate and 3/4 of the States...)
P.S. Don't forget, in the U.S. Congress enacts laws, the President can veto, the congress can override with a 2/3 vote, the Supreme Court can rule as unconstitutional, the Senate and the States can amend the Consitution, the President can refuse to enforce the act / amendment and the congress can Impeach and Convict the President with the Chief Justice of the Supreme Court presiding. There is no clause in the Constitution for a National Referendum. Checks and Balances...
Actually, you just made my point for me! :)
</p>
<p>The law is <strong>less</strong> than 100 years old -- this case was startedt in THE SAME century of the law. Katz's slant is that this is some kind of old-world concept applied to new-world realiaty, metaphorically speaking. I disagree. I think the Sherman Anti-Trust is a <strong>product</strong> of our modern era and applies perfectly to the situation at hand because it has always been up-to-date. There are people alive today who were born before Sherman Anti-Trust even. And the effects of the break-up of Standard Oil are still felt today. Try driving around Northern Virginia and imagine all those Mobils and Exxons used to be the same company -- and now they will be again -- creating a near monopoly of petrol in the area. And you yourself have already mentioned the AT&T break-up of less than 20 years ago. Point being, what's the fuss? The law is there, it is a modern law, and it is being applied. Justice at work.
</p>
<p>Be Seeing You,
</p>
<p>Jeffrey.
</p>
Just to make things clear, which they aren't from the article, the Sherman Anti-Trust act, the chief law in question for this case, was passed during t eh William Howard Taft (R) administration, 'aught-8 to 12. Certainly before all the events that shaped the modern world (War of 1914-18, Market Crash, Television, Nazism, WWII, Cold War, Transistors, C, Microsoft AND Linux.
It <b>is</b> newer than the automobile, radio, photography, cinema, incandescent light, the telephone and telegraph, and certainly the modern thirst for oil, since that's what it was enacted to protect consumers against.
Something to keep in mind.
Be Seeing You,
Jeffrey.
The next thing you know, the Williams will be leaving Sierra OnLine -- Oh, wait...
:)
So does that mean Origin is now going to move to SILICON VALLEY. ALL SOFTWARE MUST BE PRODUCED IN SILICON VALLEY THE GREAT EA GOD HAS SPOKEN...
:)
Be Seeing You,
Jeffrey.
AFICT, Todd is correct! I am a Virginian and was all ready to write my Senator. But I tried to do some research as to why this bill is so bad. First off, Why is it so bad!? I mean, if it prevents OS Licences that's something I can use. If it locks consumers into a licence like current ones, that basically sound more like a slum-lord rental agreement (no guarantee of service, and you don't own it either, and if you [your computer] gets sick because of it, it ain't their problem) then that's an argument I can make. If all it does it prevent the "warez kiddies" from their little pirate cottage industry, as said elsewhere, then how can you be against that. Sure, some software may seem overpriced, but it is the right of the company to charge what they want for it, and it is your right not to install it. If you did without paying it, UCITA or not, you just broke the law. If all the UCITA does is make that law easier to enforce, it's not the UCITA that we need to fight, it's copyright law and licensing of software. If the free market is not working, keeping prices down through competition, it is not the fault of the UCITA, is it? That's why we have the Sherman Anti-Trust laws of the Taft administration, and why Microsoft is in court today.
In any case, if I'm to write my Senator, I have to at least read the text of the legislation I'm supposedly against, otherwise what can I possibly argue against? "I don't like it because it's bad for consumers." "Why is it bad?" "I don't know, but they said so on /. and they're pretty reputable over there." >Click< >Bzzzzz<. You're going to get nowhere with that attitude and thanks to another /. reader for pointing that out already. So what do I do, I search the entire 2000 legislative record for the bill in question. Nada! At best, the legislator made a legal definition of a "Computer Network", but nothing UCITA-related what so ever. The only thing there is the before-mentioned resolution to for a joint committee to study the UCITA, because as the comment above points out, the issue is indeed a very complicated one. Don't get mad at the legislature for passing a bill to open the committee, thank them for allowing this opportunity to discuss this issue publicly before legislation is passed! Now is the time to write the Committee lucid descriptions as to why this is harmful to consumers, and focus especially on the Senator chosen to represent the consumers' view in the discussions. The Virginia Legislature is not full of space cadets in the back pocket of big business, they do try to listen to what their constituents, all their constituents, have to say. It is a right we should not abuse with frivolous campaigns in which we are not aware of the facts. And that brings me back to my first point, as there is no way I can truthfully be against the UCITA unless I know why it is bad. You'd think at least one post with this information would have been moderated up to at least 3, but I could find no such post, alas! I'm sorry if this bothers anyone but this has to be IMHO and all I can ask is that people keep this in mind the next time a hot-button issue with a mysterious acronym comes up here.
Be Seeing You,
Jeffrey.
Microsoft's Bill Gates resigned as CEO of Microsoft Corporation today leaving the position to long-time friend and recently appointed President, Steve Ballmer. Gates will remain as chairman and quasi-CTO. After the announcement, Gates clairified this dramatic move by making a public statement, "My old position really wan't giving me enough time to do the things I really love doing." Later when asked what he planned to do now that he was no longer CEO, Gates responded, "Well, I'm really looking forward finally spending some time home and hacking on some Linux Kernel Drivers."
Be Seeing You,
Jeffrey.
It is nice to see a Physicist getting his due besides Mr. "He's the next Newton" Prof. Hawking -- though Prof. Hawking seems more than a might bit nicer than Newton -- and would someone PLEASE install a speech pack with a British Accent for that man! :) But I digress.
Anyway, with his background in mind (since Prof. Lederman probably hasn't much more ideas on the Cosmological Constant than the average reader of 'New Scientist'), here is the question I would pose in terms I hope even lay-people can understand:
Prof. Lederman,
One of the hottest theories in modern physics is the String or M Theory. One of the propositions of that theory is that our universe is actually composed of many "hidden" dimensions which are curled up onto a loop -- like the tassels of a fine-woven carpet along the "plane" or our entire universe, as you well know. Of course, there is much debate as to how small these dimensions (10 in most String Theories, 11 in M Theory, 26 in some older theories) may be in length. This is because the only dimensions we can directly perceive are the 3 of the spatial universe and our old, millennium-turning friend, Time. Of course we are pretty sure the spatial dimensions are looped back on the scale of 20 billion light-years or more. [That is, if you drew a straight line in any direction, give or take a few 100 sextillion (100 trilliard or 100 thousand trillion for our British friends out there) miles in length, it should eventually meet up with itself, the same way longitudinal lines meet up on the Earth. It is unclear if time has this property.] But what of these other dimensions. Originally it was though they were on the order of the Plank Length -- a length a few septillionths [quadrillionths] of the diameter of an atom, which is far beyond any atom smasher we have to even conceive today in producing an explosion with such energy [7.6723(57)e+15 TeV] that some of the particle thrown off in the explosion might make a dimensional shift noticeably into one of our curled-up dimensions. Now, some recent theories believe that maybe not all of these concealed dimensions are of the order of a Plank Length. Some even believe they may be on the order of as much as a millionth the width of an atom or just beyond the energies of current particle physics, or even longer!
That's the background, now the question: What do you think the probability of discovering extra dimensions curved in upon themselves at measurable lengths and energies in our lifetime is? What implications do you predict, if any, for our view of the universe if multiple dimensions are shown to be correctly predicted by hypothesis? Or do you feel they will forever be outside our range, well beyond our detection due to their high-energy conditions?
Thanks much for taking the time to answer and good luck with all your future research!
Be Seeing You,
Jeffrey C. Jacobs.
At least it's not AOL merging with Sony! That's all we need is to have AOL be a Japanese company! :S
Be Seeing You,
Jeffrey.
What do you do when you come out with a killer product in 1995 [or so] and call it SimCiry 2000? Introduce SimCity 3000 in 1999 [or so]! I should expect SC 4000 in a few years, but how that relates to modern urban arcitecture, I've no idea! :)
Be Seeing You,
Jeffrey.