Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Slashback News

Slashback: Rocketry, Pythonation, Scoffing 335

Slashback tonight brings a few followups to recent Slashdot postings on the fate of model rocketry in the new, hypercautious America; a few Python gatherings for those who prefer that language to Perl; and a response from Los Alamos to recent claims of lax security. Enjoy!

Besides which, it's the hidden cameras that matter. An anonymous reader adds this followup to the story posted last month about Wired reporter Noah Shachtman's account of sneaking into classified areas at Los Alamos national Laboratory.

"In an email message to all Los Alamos National Laboratory employees, Pete Nanos, the current Director of LANL, responded with information suggesting that the Wired reporter who thought he had broken in to a 'top secret area' had in fact just crossed a cattle fence:

'The Wired reporter clearly did not enter a Laboratory security area. The Laboratory encompasses more than 40 square miles. The security force protects important assets within those boundaries but cannot -- and does not -- protect every square foot of property. Based on the article, it appears the reporter crossed a barbed-wire cattle fence, not a fence that protects a Los Alamos security area.
There is a small security area with several buildings (roughly 400 feet by 400 feet) near the driveway entrance to TA-33. That area is surrounded by a seven-foot-high chain-link fence topped with three strands of barbed wire. A security guard is stationed inside that area seven days a week and 24 hours a day. Clearly, the reporter did not climb that fence.
There are several other buildings outside the security area that are locked for property protection interests. They have no security interests. There are several gates and fenced areas on the TA-33 site, which are there for safety access control, not security.
It's unlikely the reporter would be prosecuted for trespassing; the Laboratory does not have law enforcement authority to prosecute, and none of the proper authorities witnessed the trespass.'"

Perhaps we can have a celebrity deathmatch. hfastedge writes "Ok, now that 2 perl conferences have been mentioned, I've been brought over the edge. Python is a language that is just as old, and arguably better from: most importantly a uniform standard of readability (enforced by using whitespace to delimit blocks (instead of {}), by avoiding overuse of cryptic symbols, and by a culture that strives to keep innovations as "pythonic"), and a rich development community. Anyway, normally, there are Python events in Europe, and a trail at O'Reilly's OSCON. But now, there is a far cheaper event taking place on March 24-28 in Washington DC: http://python.org/pycon/.

Examples of Python in action: 0, 1, 2, 3, 4, 5, 6, 7"

Fly up go phhhhhwwwtttpffffff .... MyNameIsFred writes "Slashdot recently discussed whether anti-terrorism laws would destroy model rocketry. The government has ruled, and the message is clear, "When it comes to the hobby of model rocketry, size does matter. And in this case, the magic number is 62.5 grams. That's the largest amount of propellant a single model rocket engine can have in it and still be exempt from a new set of federal rules that will go into effect May 24." What does this mean for the the big guys in model rocketry, who use engines larger than this?"

This discussion has been archived. No new comments can be posted.

Slashback: Rocketry, Pythonation, Scoffing

Comments Filter:
  • by elflet ( 570757 ) <.ten.noitseuqtxen. .ta. .telfle.> on Tuesday March 11, 2003 @08:03PM (#5489269)

    The space.com article cited was posted March 6; this posting [nar.org] from the National Association of Rocketry points out the BATF hasn't made it clear whether the regulations will apply to materials already on hand.

    Also, this is part of a dispute that's been going on for years then be BATF decided to designate Ammonium Perchlorate Composite Propellant (the same fuel used in the Space Shuttle's SRBs) as an "explosive". The 62.5 gram limit was proposed as a compromise measure by the NAR to a flat-out banning of all APCP engines. This way, people could still enter into the higher-power forms of rocketry without dealing with the BATF's arcane regulations and uneven enforcement.

    Then came the Homeland Security act and black powder (gunpowder, a/k/a "BP") engines were added to that list of "explosives", causing FedEx and UPS to ultimately refuse to carry them. There's still a bill pending in Congress to make a "technical correction" to remove black powder motors from that list. It's the subject of a phone and FAX compaign [space-rockets.com] to garner support.

    Would removing black powder from the 62.5 gram limit mean we see huge BP motors? Not likely, as the thrust/weight efficiency of BP is low enough not to make that a viable trade-off.

    • by Anonymous Coward on Tuesday March 11, 2003 @09:14PM (#5489871)
      re: Model rocketry

      1 - 62.5 grams doesn't lift a lot.

      2 - this limit is for shipping to your home

      from Rocketryonline.com:

      "Emergency Revision to DOT-E 10996 Exemption Granted

      The U.S. Department of Transportation (DOT) has just granted AeroTech an emergency revision
      to DOT exemption DOT- E 10996 that allows the shipment of articles covered by the exemption
      (certain rocket motors and reload kits normally classified as division 1.3C explosives) by cargo
      aircraft, in addition to the previous authorized modes of transportation (motor vehicle and rail freight).
      This revision gives manufacturers and dealers one more option of transportation in light of the
      recent shipping consequences of the Homeland Security Act.

      Eleven other entities are currently parties to DOT-E 10996.

      An unexpected bonus of the revision is the DOT's decision to eliminate the 99 lb. net propellant
      weight per vehicle restriction placed on previous versions of the exemption!

      Many thanks to the DOT Exemptions Branch for granting the revision in a most expeditious manner!"


      3 - storing or shipping larger quanitities of propellants( >62.5gms ) require(at least, there's likely more, but I never wanted to be a distributor, so...):

      a - certification from the NAR or TRA(class 1, 2, 3)

      this is simimilar to the pyrotechnic licence; you must pass a written test
      and fly a "model" with propellant appropriate for that class under supervision, test/fly to gain each class
      b - BATF LEUP(Low Explosive Users Permit)
      c - BATF approved(inspected) Explosives Magazine


      4 - AP is incorrectly classified as an explosive, AP burns(smokes) at normal(ground level or higher)
      pressures; it is a propellant when you burn it in an enclosed space and build chamber pressure.

      5 - there are more details to be found at:

      http://www.nar.org

      http://www.tripoli.org
      http ://www.rrs.org
      http://www.asesur.com/prs/
      http:/ /www.rocketryonline.com
      http://www.space-rockets. com/congress.html

    • I guess now you model rocketry guys know how it feels to be a gun owner.
      • Ah, but unless your model rocket is a GyroJet [hwth.com], it's not likely that a prepubescent child will use your rocket to kill another prepubescent child in the preschool play ground, is it?

        (Heck, it's not likely even if your model rocket is a GyroJet)
      • Last I heard, conventional firearms were getting the kid glove treatment from the intelligence and the DoD when it comes to terror -- we've got Total Information Awareness, but Ashcroft refuses to call on/link in gun ownership databases, presumably because of the 2nd ammendment or because of its sacred cow nature to his supporters.

        This isn't totally without logic: you can kill a lot more people more quickly with explosives or an airliner than you can with conventional firearms. But firearm acquisition and use ought to be at least as closely monitored as library book usage.
  • 1 2 3 (Score:5, Funny)

    by ObviousGuy ( 578567 ) <ObviousGuy@hotmail.com> on Tuesday March 11, 2003 @08:04PM (#5489283) Homepage Journal
    1. Don't break into gov't installations. Tresspassing onto a cattle rancher's property may get you shot. Tresspassing onto gov't property will get you shot.

    2. Python. Not as old as Perl.

    3. Rockets. It's a problem of shipping the propellant. If you carry the boosters yourself, you're okay. You just can't ship them.
    • Re:1 2 3 (Score:5, Informative)

      by elflet ( 570757 ) <.ten.noitseuqtxen. .ta. .telfle.> on Tuesday March 11, 2003 @08:12PM (#5489370)
      Rockets. It's a problem of shipping the propellant. If you carry the boosters yourself, you're okay. You just can't ship them.

      That depends on where you live and how you're travelling. You can't take the morors on an airplane, for example (this has been true for years), but driving is OK. Also, there are small composite motors [apogeerockets.com] that are below the 62.5 gram limit but have not been certified in all states (e.g. California) and thus are not legal to posess in those states.

      It's a shame -- I'd love to use some of the mini-composite motors -- they have serious lift for their weight.

    • Re:1 2 3 (Score:3, Insightful)

      by idontgno ( 624372 )
      1. National Labs are a queer situation. Semi-demi-hemi-governmental installation. And, as aways, there's usually more land and encompasses than the security zone. (Not on an Air Force base, though. Almost always 100% of the base is a security zone.)

      2. I really oughta learn Python. I can write straightforward stuff in Perl, but I don't suss the arcana. Just reading the Perl Apocalypse [perl.com] issue mentioned in the recent /. article [slashdot.org] and I realized I don't know squat about Perl. Maybe Python will give me another crack at language uber-mastery.

      3. If you have a local retailer, you may still be in business, unless that retailer gets his stuff from his distibutor by air...

      • ...there's usually more land and encompasses than the security zone.

        Sheesh, I need to preview better. "There's usually more land than encompasses the security zone.

      • Re:1 2 3 (Score:3, Interesting)

        by Moses Lawn ( 201138 )
        2) Don't worry, no one but Larry Wall and a few other Illuminati really understand Perl. The rest of us just muddle through using the 35% or so of the language that gets 95% of our work done. Yeah, I look at CPAN code and say "Gee, I wish I could do that, whatever that does", but then again, most CPAN code I've seen is almost gratuitously arcane and complex. A few comments on the tricky bits wouldn't hurt anything, guys.

        If you wanna learn Perl, I'd suggest getting the Perl Cookbook and browsing through it. I learn a lot of neat, useful tricks that way. The Camel book (Programming Perl) I think is a bit overrated, at least as a teaching book (which I suppose it isn't, really, but it sort of is, too). It's hard to find some things, and a lot of the examples assume you understand the lauguage as well as the authors do.

        Still, *I'm* not giving up my copy anytime soon. So don't flame me for heresy.
        • If you wanna learn Perl, I'd suggest getting the Perl Cookbook and browsing through it. I learn a lot of neat, useful tricks that way

          Hell, I've implemented production software by pasting together multiple snippets from the Cookbook. I think I've invested maybe 200 lines of original Perl in all our production and support suite.

          Buying the Perl Bookshelf was the best investment our organization ever made, and O'Reilly Press is God.

        • Re:1 2 3 (Score:3, Interesting)

          by Jason Earl ( 1894 )

          The rest of us just muddle through using the 35% or so of the language that gets 95% of our work done.

          That worked fine for me until I needed to alter one of the packages from CPAN. The package in question (name withheld to protect the innocent) did 90% of what I needed, and it was extremely well written and well commented, but it just so happened that the 35% of Perl that it used to get the job done did not overlap hardly at all with the 35% that I was used to using. That is where I fell in love with the Camel book, as I kept banging my head against Perlisms that were just plain weird.

          In the end, I solved the problem, but I was so sick of Perl that I gave Python a whirl. I rewrote the program in Python in a few days (the tricky bits had already been solved writing it in Perl), and I have never looked back. It is much easier to read someone else's Python than someone else's Perl. Another huge advantage for me (as an Emacs user) is that Python's documentation is available as info files. That's quite a bit nicer (IMHO) than just man files. Of course, the fact that the Python documentation is so good is a bit of a bummer for the folks writing Python books.

  • by banka ( 464527 ) on Tuesday March 11, 2003 @08:05PM (#5489289) Homepage
    the linked article also mentions lisp/scheme - why haven't us schemers gotten together yet to celebrate its sweetness???
    • by Wee ( 17189 ) on Tuesday March 11, 2003 @09:20PM (#5489914)
      the linked article also mentions lisp/scheme - why haven't us schemers gotten together yet to celebrate its sweetness???

      The corner booth at Denny's doesn't need to be reserved in advance, you know.

      :-)

      -B

  • by ntr0py ( 205472 ) <lee.dashf@com> on Tuesday March 11, 2003 @08:08PM (#5489319) Homepage
    "for those who prefer that language to Perl"


    What about Tcl? [slashdot.org]
  • by trmj ( 579410 ) on Tuesday March 11, 2003 @08:10PM (#5489333) Journal
    What does this mean for the the big guys in model rocketry, who use engines larger than this?

    Umm.. IANAL, but I would interpret this to mean that they won't use engines larger than that without complying to the new set of laws.

    Besides, it's not like you can't use more than one engine per rocket.
    • by JDizzy ( 85499 ) on Tuesday March 11, 2003 @08:57PM (#5489759) Homepage Journal
      Actually, the way I read it is this only affects the solid propelant variants. High power rocketeers can still use the hybrid engine format that they have been using for 5 years to get around various transport restrictions. The hybrids use nytrous-oxide as a propelant, with a solid catalist. THe solid not actualyl being propelant. The synergy of the nitrus + catalist makes it stronger, faster, etc.. Check out a link to a hybrid motor maker [rattworks.com].

      This will certainly make it hard for the really hardcore of use who use the Solids for first stage boost. The hybrids are prefered for 2nd or 3rd stage int he realyl high power areana.
    • by Rocketboy ( 32971 ) on Tuesday March 11, 2003 @09:13PM (#5489865)
      The 62.5 gram restriction has been a fact of life for high-power rockets for years and we've learned to live with it under the former set of regulations. The current problem is that since BATF has classified the AP propellant as an explosive, anyone who touches it in the transport chain from manufacturer to end user has to have been trained, had a background check, etc. UPS, FedEx and the US Postal Service are *not* going to do that for tens of thousands of package handling and delivery people, any one of whom *might* touch a package of rocket motors at some time during their working lives. They just won't allow anyone to ship the stuff. We'll be able to legally make and use the stuff but we won't be able to ship it from the manufacturer to the end-user. This is not helpful. Worse, since AP won't explode and can't be made to explode no matter how hard you try (despite BATF's classification as an explosive,) we won't be any safer from 'terrorists' than we were before. Regulation for regulation's sake, not for any reasonable purpose.

      I feel safer already. Incompetant nitwits.

      Rocketboy
  • by kalidasa ( 577403 ) on Tuesday March 11, 2003 @08:10PM (#5489344) Journal

    Test: a Python story is a troll if it mentions Perl. Likewise, a Perl story is a troll if it mentions Python.

    Substitute "vi" and "emacs" for "python" and "perl" and rerun.

  • by horse_pheathers ( 657504 ) on Tuesday March 11, 2003 @08:18PM (#5489427)

    I can see the headline now:
    "Model Rocketry Enthusiasts' Hobby Goes Up in Smoke...."

    I'll bet that pun goes over some people's heads.....

    -- Horse_Pheathers

    • "Model Rocketry Enthusiasts' Hobby Goes Up in Smoke...."
      I'll bet that pun goes over some people's heads.....

      Lameness filter encountered. Post aborted!
      Reason: Please use fewer 'bad joke' and 'puns'. Try adding some content.

      :)

      Blockwars [blockwars.com]: a multiplayer head-to-head game similar to Tetris.

      • Sorry, Myriad...I just suffered a setback on my road to recovery and a pun-free life. I'll contact my sponsor immediately.

        -- Horse_Pheathers, hanging his head slowly and doffing his jaunty jester's cap in shame, taking care to stifle the merry bells on the pointy bits.....

  • by Eric_Cartman_South_P ( 594330 ) on Tuesday March 11, 2003 @08:19PM (#5489435)
    Being a New Yorker, I am so very glad that: "62.5 grams. That's the largest amount of propellant a single model rocket engine can have in it and still be exempt from a new set of federal rules".

    Because now it is impossible for a Terrorist or Open Source contributor to make any weapons! I mean shit, to get 125 grams of powder you would have to cut open two tubes, and that's like, harder than hell to do. Thank you, my precious Government, I will sleep soundly tonight.

    • As I read somewhere, the gov't wants to limit the amount of propellant not because the engines can be used as an explosive. Rather they don't want potential terrorists to be able to build rockets that could carry a possible dangerous payload a long ways.


      Having said that, is there any terrorist worth his weight that won't be able to figure out a way around this?

      • I think the truth is that the government wants to control which terrorists can launch a rocket which can carry a dangerous payload a long way. If we're not selling the munitions to the third world countries, we get upset. I can't figure out if it's because we want to control who is dangerous, or just because we want to be the ones sending them the invoice.
  • Shoot to kill (Score:5, Insightful)

    by The Bungi ( 221687 ) <thebungi@gmail.com> on Tuesday March 11, 2003 @08:23PM (#5489484) Homepage
    Clearly, the reporter did not climb that fence. [...] It's unlikely the reporter would be prosecuted for trespassing; the Laboratory does not have law enforcement authority to prosecute, and none of the proper authorities witnessed the trespass

    I was the impression (probably because of one of those feverish Discovery marathons I tend to engage in when I get tired of coding) that the nice folks who guard US installations that contain either nuclear weapons of nuclear materials are allowed under federal mandate to shoot to kill. In fact that's what the warning messages posted along the fences of those facilities read - "lethal force authorized" or some such.

    If that's the case Mr. Wired there (let's uncover the government's stupidity, for liberals everywhere!) was lucky he just stepped on some cow dung, as opposed to getting a 5.56 round in the chest.

    • by Ungrounded Lightning ( 62228 ) on Tuesday March 11, 2003 @10:14PM (#5490295) Journal
      I was the impression (probably because of one of those feverish Discovery marathons I tend to engage in when I get tired of coding) that the nice folks who guard US installations that contain either nuclear weapons of nuclear materials are allowed under federal mandate to shoot to kill.

      A former boss of mine once did a project at Lawrence Livermore, upgrading some of the remote detectors from '50s era electronics to more modern stuff. He told me his (Q?) clearance came up for renewal about a week before project completion. Rather than go to the trouble to renew it for that duration they fell back on an alternate waiver procedure.

      As a result, all the while he was working on site there was an armed guard (uniformed military) about two paces away from him. The armed guard, continuously, had his left hand on his holstered pistol, his right hand extended (to fend off my ex-boss should he suddenly attack, giving him time to draw the pistol), and kept his eyes on my ex-boss constantly.

      For > 8 hours per day.

      My ex-boss had had it explained that, if the guard killed him - even due to halucinating an attack - he would NOT be brought up on charges, while if the guard DIDN'T shoot him in case of trouble he WOULD be brought up on charges. And that the guard knew this.

      Needless to say this was a very stressful environment. And he did his best to finish the project before the guard decided to relieve the cramp in his right arm by plugging him. B-)
      • A former boss of mine once did a project at Lawrence Livermore

        Oops. Los Alamos test site.
      • I knew a couple of young men who were truckers in Western Kansas/Oklahoma who undertook a sub-contract to deliver some sort of ammunition to a federal depot. They encountered the same type of accompanied treatment although in their case it was not handguns but M-16's. The guns were not actually pointed at them, just held at the ready.

        The last I heard, they never did another trip.

      • I've worked at LLNL, both with a Q clearance and before it was granted. I've been escorted by guards, but never did they touch their weapon nor behaved in anything like a threating or paranoid way. Mostly they found a comfortable chair and relaxed.
  • by Frater 219 ( 1455 ) on Tuesday March 11, 2003 @08:27PM (#5489515) Journal
    I like Python. I also like Perl. I think it's rather silly that people read these two as mutually exclusive. Both languages have their strengths.
    • Perl is fast. There's no two ways about it -- Perl's code base has pretty obviously been heavily optimized, and programs written in it tend to be amazingly fast, especially considering that they are being bytecode-compiled rather than compiled to native code.
    • Python is more readable. Past a certain degree of complexity of operations, Perl code starts to look like noise; Python code doesn't. Perl mongers tout the expressiveness of their language, but Pythonistas note theirs' readability.
    • Perl is amazing for quick 'n dirty text processing. I wouldn't think of using Python when what I want to do is translate among document formats. That is Perl's native land -- where it ably and easily supplanted earlier Unix tools such as sed and awk, and remains in the forefront.
    • Python deals better with complicated data structures. Ever read the perllol manpage? When you start to deal with nested structures in Perl, you have to play silly buggers with references, and if you do the wrong thing, you get ARRAY(0x6590) instead of your data. Python copes sanely with complex expressions and never gives you nonsense like that.
    • Both Python and Perl have lots of modules handy. CPAN is hugely impressive. So is the Python standard library.
    • Both Python and Perl speak the Web's languages fluently. The fact that both are embeddable as Apache modules (mod_perl and mod_python) should say enough -- but both can also parse HTML, XML, or what-have-you.
    • Perl is great on the command line. There are so many ideas in text transformation that can be expressed in a single line of Perl -- no need to comment it, it's just a one-liner! -- and that can be quickly put to use in ordinary systems administration via perl -e.
    • Python is great on the interactive top-level. Need to debug a Python module? Start Python in interactive mode, import the module, and start introspecting.
    • Perl has plenty of room for your own style. This is a language whose possible syntax is huger than anyone has bothered to describe. If you learn it intimately, you can say exactly what you want in a minimum of bytes. There's a reason Perl fans like one-liners: the language is perfect for them.
    • Python makes modularity and object-orientation make sense. In Perl, OOP is kind of a bag on the side, an extra feature tossed in to make modules easier to use. In Java, OOP is a Soviet political officer constantly intruding in your work and making sure you comply with the Party's way of doing things. In Python, OOP is just the way things work: everything's an object and it just makes sense.

    Me? I use bash for one-liners, Perl for ten-liners, and Python for thousand-liners.

    • by Bishop ( 4500 ) on Tuesday March 11, 2003 @08:52PM (#5489726)
      Eric S. Raymond has written one of the better Python advocacy articles. [linuxjournal.com] His experiences with Python are similar to Frater's. Python has replaced C as my general purpose language of choice.
    • Python makes modularity and object-orientation make sense. In Perl, OOP is kind of a bag on the side, an extra feature tossed in to make modules easier to use. In Java, OOP is a Soviet political officer constantly intruding in your work and making sure you comply with the Party's way of doing things. In Python, OOP is just the way things work: everything's an object and it just makes sense.

      C++ is a scrawny, bald, naked saint in a loincloth who lives in a crumbling adobe hut where the desert and the jungle meet. He speaks in terse riddles, that expand out into pages of text if you bother to solve them. He can do the work of ten engineers and a hundred strong laborers merely by tapping his staff on the ground and shouting cryptic epithets.

      • C++ is a scrawny, bald, naked saint in a loincloth who lives in a crumbling adobe hut where the desert and the jungle meet. He speaks in terse riddles, that expand out into pages of text if you bother to solve them. He can do the work of ten engineers and a hundred strong laborers merely by tapping his staff on the ground and shouting cryptic epithets.

        So tell me about C++ templates [everything2.com]. In Python, we get generic functions by using dynamic typing, rather than putting a whole 'nother alien Turing-complete language [everything2.com] in the compiler.

        For the lurkers: "Generic programming" is the idea that when you make a class to represent a generic data structure -- like, say, a stack -- it should be instantiable as a stack of integers, a stack of strings, or any other particular data type.

        In C++, you do generic programming by writing template functions, into which the compiler fills in the types you need. This is basically a fancy sort of preprocessing. However, template syntax is thoroughly alien to the C roots of C++, and as it turns out can be used to do surprisingly maniacal things. See the links above for the curiously shaped results.

        In Python, as in Lisp and other dynamically typed languages, generic programming just kinda falls out of the way the language works. If you make a data structure, by default it can hold more or less any type of object. There's actually a limitation in Python here, though. In earlier versions, a lot of data structures, like dictionaries (hash tables), could only hold immutable values as their keys. (Immutables aren't exactly constants -- they're values that can't be edited in place. You can't edit the string value "foo" in Python, any more than you can change what the number 2 means.) Nowadays, any object that implements the protocol for hashability can be used as a key.

      • And this is the product of CS majors switching to an English major. =P
  • Egads! (Score:3, Informative)

    by The Bungi ( 221687 ) <thebungi@gmail.com> on Tuesday March 11, 2003 @08:28PM (#5489529) Homepage
    Python is a language that is just as old, and arguably better from

    Welcome to Perlandia. Didja bring your toothbrush, toilet paper and asbestos suit?

    But seriously, we go back to the whole whitespace thing... I think Python is essentially a "cleaner" language but that just kills it for me. It's not more readable if you're used to block-oriented languages to begin with. Possibly for newbies.

    Dunno. I get turned off to think that if I miss a tab somewhere I'll get a compiler error. A brace, sure. But whitespace??

    • Re:Egads! (Score:3, Interesting)

      by Flarelocke ( 321028 )
      Dunno. I get turned off to think that if I miss a tab somewhere I'll get a compiler error. A brace, sure. But whitespace??

      I didn't like it either, at first. Then I got used to it. Then I really liked it.

      In, let's say, C (I don't know Perl very well), an if statement can be followed by a single statement or a block in braces. To, lets say, add debugging information, one has to enclose the statement in braces. In Python, one needs only to add more statements.

      Also, the structure of the code is automatically visible, and errors in indentation stick out like a sore thumb. It's much harder to tell with braces. (especially with the optional braces that C has)

      If you use Vi, vi displays the tabs with the same number of spaces as Python equates with them (by default, anyway).

      The delimiter symbols ({}, [], () ) are reserved for container data structures instead of syntax. {} denotes a dictionary, [] a list (variable length array), and () a tuple (fixed length array; also used for function calls). This makes the syntax for manipulating data structures cleaner and simpler.

      I'm not really a newbie (4 or 5 years coding C) at C/C++, but it's still more readable. Instead of adopting coding styles that make it easy to make sure that all our braces match (while throwing away vertical screen space), we should adopt languages that make it not matter.
  • Embedding Python (Score:4, Informative)

    by graveyhead ( 210996 ) <fletchNO@SPAMfletchtronics.net> on Tuesday March 11, 2003 @08:29PM (#5489537)
    I think part of the reason Python is so popular is that it is extremely easy to embed it [python.org] in a C language application. It really changes your view of coding an application: organize everything into low-level highly optimized C code and high-level Python code. Your C language application becomes a toolbox of functionality available from Python. This approach makes your application totally scriptable by default. I usually take this architecture one step further and create an even higher level, eaiser to use interface purely in Python.
    • That much is true. Check out WinCVS for an excellent example. I'm constantly amazed at what that thing can do.
    • Re:Embedding Python (Score:3, Informative)

      by Tmack ( 593755 )
      And perl cant do that? IIRC perl is written in C and can be (somewhat) easily be converted into something useable for other C programs and vise-versa (embeded perl).

      T

      • You can embed python in C in about 5 minutes, to the point where you can start calling python with lines of python in your code. A less trivial embedding is almost as easy. Perl doesn't come close.
    • Re:Embedding Python (Score:3, Interesting)

      by Ian Bicking ( 980 )
      It's also easy to do it the other way around, to make a Python module out of some code written in another language (usually C/C++). Writing something from scratch in C is a great way to boost performance of your Python application -- take some important inner loops and write them in C, then use them from Python. And the ease of wrapping external libraries means that Python has a lot of very up-to-date access to external libraries.
  • by GeneralEmergency ( 240687 ) on Tuesday March 11, 2003 @08:40PM (#5489634) Journal
    .


    Placing restrictions upon any technology hobby in the name of "combating terrorism" is folly of the highest order and constitutes blindingly stupid public policy.

    We face a future where people who hate us because of our freedoms can and will attack us at will with amazingly ordinary implements used in novel ways. Without marching out into the world and killing all of these people "pre-emptively", our only realistic option is to improve our remote sensing (intelligence) technologies to find them before they become real, active threats. But developing these technologies is real hard work, involving cutting edge sciences and technologies... and having the largest possible national crop of young people exited about science is absolutely essential to our future national security.

    I am a software engineer today BECAUSE of my early experiences with model rocketry and model airplanes and because they taught me how things worked and fired my imagination about what could be possible in the future.

    We've heard NASA lament lately about how hard it is becoming to find qualified graduates to staff even entry level engineering and science positions. Public policies that throttle modeling technology hobbies will only exacerbate this problem into the future and good people will die needlessly as a result.

    • Placing restrictions upon any technology hobby in the name of "combating terrorism" is folly of the highest order and constitutes blindingly stupid public policy.
      Ya, and? We are going to have to ride this one out, but to be honest this administration has really raised the bar of "folly of the highest order" and this one just doesn't pass. I mean its dumb, but just like dumb, dumb. Sorry mate.
    • It's similar to a tendency which is spreading rapidly across the U.S. in this time of recession, which is to spend for today and ignore tomorrow. While this is common any time you are in bad sorts, it's the worst time for it, because if you don't think of the long view, you will only stay in business in the long term by luck as you will be unprepared. As such companies are cutting back on R&D (except those which focus on it as a means of pushing their business, IBM is my favorite example, and so was Xerox before they started looking for buyers for PARC) to save money now - but they won't have anything to sell later.

      This is the same situation. They're doing things to make it easier to track down actual criminals now - a law like this will probably do that! - but they are neglecting to notice the probable negative effects down the road.

      It's looking more and more like time to move to some other country. I love America, but I fear my government's lack of morality and despise its lack of sense. Or do I have that backwards? I guess it works either way 'round. Of course that raises the question of where to go. Canada is too close to the U.S., if major problems occur it won't be safe, especially considering certain abundant natural resources which they have (wood, mostly) which we have already depleted. If your technological level falls far enough, you're going to need a lot of wood to get anything done. Alaska would be all right since no one will really notice what you're doing up there anyway, but it's still subject to stupid laws. Maybe the best way is just to move someplace totally lawless, at least you'll have a good idea where you stand.

  • Efficiency. (Score:4, Interesting)

    by blair1q ( 305137 ) on Tuesday March 11, 2003 @08:51PM (#5489712) Journal
    Maybe they'll work on making rockets that go higher and straighter on 62.5 g of propellant.
    • Or buy a bunch of engines, if they even needed to.

      How much anthrax or ricin could 62.5 g of propellant carry?
      How much could a weather balloon carry?

      Brings to mind the story about the kid who did scary radioactive stuff using legal items that contained trace elements of radioactive materials, such as smoke detectors and the wicks from Coleman lanterns.

      Look at our major terrorist attacks:
      WTC - Box cutters.
      Oklahoma City - Manure and fuel.

      In other words, where there's a will, there's a way.
  • by Anonymous Coward
    or question its purpose...

    Have a look at Zope or ROX desktop to get an idea of how versatile and easy python can be to get Real Stuff done!

    Not to mention bindings for java, .NET, mozilla, and what have you. IMHO the write-once-run-anywhere quest might currently be best served with python (contrary to popular believe).

    From procedural scripting to high level OO, python has it all.

  • by jemenake ( 595948 ) on Tuesday March 11, 2003 @08:55PM (#5489746)
    "When it comes to the hobby of model rocketry, size does matter. And in this case, the magic number is 62.5 grams. That's the largest amount of propellant a single model rocket engine can have in it and still be exempt from a new set of federal rules that will go into effect May 24."
    Okay... possible loopholes are:

    62.5 grams of hydrogen can probably send your rocket a LONG way

    They put a limit on propellant. Does the oxydizer get counted in with this weight, or do I get to put all of the liquid O2 that I want?

    What about multi-staging rocket engines together? Is that considered one engine?

    I wonder if there's a way to re-classify stuff as something other than "propellant". "Well, you see... the payload is a water-vapor dispersal device which creates the vapor by combining hydrogen and oxygen...."

  • by mattdm ( 1931 ) on Tuesday March 11, 2003 @09:00PM (#5489792) Homepage
    I find it very interesting that so many Python users are so bitter about Perl, and so antagonistic. In fact, it was one of the things that kept me from even bothering to look at Python for a long time -- all of the Python advocates come across like a bunch of jerks. When I did get around to looking, I found that it's a nice, interesting, and useful language -- that doesn't really compare to or compete with Perl in a meaningful way at all.

    Two of Perl's main strengths are 1) CPAN and 2) regular expressions integrated naturally into the language. Python's libraries are pretty good, and there's a lot of good stuff out there, but with Perl, I can pretty much count on 99% of anything I want to do having been done already. And sure, Python can "do" regular expressions -- in approximately the same way that one can do them in C or Java, by making a series of function calls.

    At least on the second of these points, Python isn't even in the same *business* as Perl. There's just flat out no meaningful comparision. Python has *a lot* of strengths, but they're totally different from Perl's. So why do Python advocates get so worked up about something their preferred language fundamentally isn't designed to do? Why don't they raise a big stink every time someone mentions Java? That seems like a more usefully-comparible application space. Or C++, for that matter.
    • Actually.... (Score:5, Insightful)

      by Fencepost ( 107992 ) on Tuesday March 11, 2003 @09:21PM (#5489927) Journal
      Most Python users fall into one of three camps:
      • Used Perl, tried Python, liked it better and switched
      • Used Perl, tried Python, found it better for some things, use both
      • Never used Perl, don't care about it
      I left out "Used Python, tried Perl, switched" because Perl's better-known and there are fewer people who started with Python. Besides folks who did that arguably don't qualify as Python users anymore.

      There's a small subset of folks (most of whom really need to get a life and a few who are probably doing it for entertainment reasons) who publicly get really worked up about the superiority of Python. Similarly, in the Linux community there's a similar group of folks who get really worked up about Ruby. Remarkably enough, in the Perl community there is (wait for it) a similar group of folks who get really worked up about Perl. Some other products/projects with their own little fanatical subgroups: vi, emacs, Macs, FreeBSD, OpenBSD (and don't confuse the two!) and probably skript-kiddie toolsets.

      The common feature that most of these folks share is that as far as the rest of us are concerned they need to get a life. I have no doubt that there are other shared behaviors within these groups, but if I went into those it could seem that I was just being nasty.

      • Re:Actually.... (Score:3, Interesting)

        by mattdm ( 1931 )
        The common feature that most of these folks share is that as far as the rest of us are concerned they need to get a life.

        Ok, true enough. But I really do notice it particularly in Python users and particularly in terms of venom against Perl. It's one thing to go on and on about how great one's chosen language is, but it's another to have to lash out at something else whenever that other thing is mentioned -- and to bring it up if it hasn't been. This isn't just the case in newsgroups or on slashdot -- I've seen it in a "serious" Python books at the bookstore. Maybe even a majority of them.
        • You know, you could replace "Perl" with "Red Hat", and "Python" with "Other Linux Distros", and the meaning wouldn't change at all.

          I equate it with insecure people's need to lash out at whatever is most popular or mainstream, in an effort to look like they're cool.
        • A lot of it comes from people who have been forced to use Perl for some reason (maintenance, management, whatever). The programmer who really likes Python (enough to write a book or advertise a conference) will generally detest Perl (I do, though I try not to make too big a deal of it -- Perl's time in history has passed anyway :).

          Python people, when amongst their own, don't talk about Perl much. But /. is known Perl territory :)

        • Re:Actually.... (Score:2, Flamebait)

          by drinkypoo ( 153816 )
          Another thing I've noticed is that there is a tendency (that word is my disclaimer) for python people to simply flame off, but for perl users to demonstrate a point with code. While this doesn't necessarily mean anything, it is very interesting to me. In fact, to me, providing a rationale which is based on something concrete (like code) is the equivalent of saying "I'm annoyed with x and this is (wh)y", where just pissing and moaning about it is being a little baby.

          In the end, evangelism to people who don't care is rude no matter what the subject. If someone wants to know why python is better than perl, or vice versa, they can go looking for arguments all over the web.

      • by halfgeek ( 657613 ) on Tuesday March 11, 2003 @11:50PM (#5490907) Homepage

        I like to think that while the zealots are trying to make themselves heard, the important people are behind the scenes doing the important things. Any loudmouth shouting on behalf of any language should remember that the people who love the language most are working tirelessly to change it for the better. Read Larry Wall's Apocalypses and see if I'm kidding--and pay particular attention to the part where he destroys the regular expression as we know it. :-)

        I also like to think that the really hardcore programmers out there aren't wasting their time arguing about what language is superior or whining about what you can do in one environment that you can't in another. Real programmers are too busy getting things working, by any means necessary, within the boundaries of the environment. If you are a true programmer, an environment works as well as you force it to work.

        I'm very comfortable in GNU now, Linux, Cygwin, and then some, but it wasn't always so. A few years ago, being a Windows only type and knowing no C or C++, I used to work with Visual Basic a lot. When I found out that Perl worked better for about everything I had been using VB for, I switched. When I couldn't figure out how to do SendKeys or AppActivate using Perl and Win32 API calls, did I spend time griping? No! I wrote an ActiveX DLL, figured out enough C to get COM going, and SWIGged it together.

        Slightly more recently, I wrote a parser in Perl to implement a workaround to various shortcomings in Greymatter [noahgrey.com], but I had to make it work with PHP, in which the entire rest of my site was written (because it's way easier to write a page in PHP than in Perl). Was it any problem? No. For the prototype, I had PHP exec my Perl. Was it messy? Yes! Eventually, when I had the time, I rewrote the parser from top to bottom in PHP.

        There's no need to be religious about any of this. If you have the option to use the environment of your choice, by all means, use it! But if you are forced to work outside your boundaries, remember, you are a programmer; you can take it. Plus, the last thing you want to do is take out your frustrations on the masters of the unknown domain.

        I write programs all the time that my friends want to try but won't because ActivePerl is 12MB to download. I'm not going to scream at my friends for not having Perl; they just can't use my program. If it's worth my time, I may go to the trouble of rewriting in C++. If it pays enough, I might even spring for Perl2EXE to do the work for me.

        It's as simple as that. There's always some solution. You write for your environment. You try to convince your client to deploy programming environment N or virtual machine V on all the workstations; if that's a no go, you do something else that is a go--if that's not practical, you lose the sale.

        At this point, I know most of what I need to know to get by in Perl, PHP, JavaScript, C, and C++, and maybe a little VB if I search my memory far enough, and I do virtually all my writing in vim (within which, I admit, I don't know every single command that might be of use to me). If somebody needs me to write something in Python, or Java, or Tcl, or Lisp, or JScript on Windows Scripting Host, or any other wacky thing with which I'm not in constant contact, and makes me do it in Emacs or Pico or even Notepad, damn it, should I back down? Hell, no!

        First, I try my obviously overdeveloped shoehorning skills! (It's amazing how many different ways you can find to get incongruous program environments to communicate!) :-D

        If that doesn't work, then I owe it to myself to take a serious look at what this environment can do, what it can do right, and what I have to work around. Then, I do my work and move on with my life.

        I believe that this is a vital part of what is necessary to be a bona fide Renaissance Programmer, and that most programmers who don't feel the same have no business programming.

        • I don't use Perl, but I can't believe there aren't decent solutions out there to compile to an executable.

          If there aren't then I'll be a little zealotish and say that that's one area where Python clearly has an advantage.

    • by smallpaul ( 65919 ) <paul@@@prescod...net> on Wednesday March 12, 2003 @12:06AM (#5490988)

      At least on the second of these points, Python isn't even in the same *business* as Perl. There's just flat out no meaningful comparision.

      I find it kind of odd that you think that a language with regular expressions in the syntax and one without cannot in general be used to solve the same kinds of problems. Does typing the parens change the nature of the problem that much?

      But more to the point, if Perl's raison d'etre is built-in regular expressions (as you claim) then why is it used for (e.g.) SlashCode. What about building a large weblog community is regular-expression-centric? The vast majority of sizable Perl programs have very little to do with regular expressions.

      Python has *a lot* of strengths, but they're totally different from Perl's. So why do Python advocates get so worked up about something their preferred language fundamentally isn't designed to do?

      There was a period in the mid-90s when it was very common to be forced to write Perl because there was just some Perl code around that had to be maintained. The liklihood of this happening to an individual is proportional to the popularity of Perl. If Perl ceases to be popular then there won't be that much Perl code laying around to be maintained. Just today I was scrounging around in some open source scruffy Perl code that could have been better written in Python. That's the argument from self-interest.

      The argument from emotion is that the popularity of Perl rather offends people's sense of competition between technologies being on the basis of quality rather than luck or marketing...in somewhat of the same way that it is typical to be annoyed at the popularity of IIS on Windows 2000 Server. In a sense, Perl is symbolimatic for some people of the less admirable qualities of our industry. What if the "Perl Aesthetic" (which discounts the importance of cleanliness and orthogonality) was to become the norm in other areas of our business?

      Why don't they raise a big stink every time someone mentions Java? That seems like a more usefully-comparible application space. Or C++, for that matter.

      Well for one thing, Python interoperates really well with Java and C++. So every line of Java and C++ out there can be construed as bolstering the argument for adding Python to the mix a a glue language. Whereas it is very rare to take a large Perl system and say: "let's bolt on some Python to provide a high level interface to this thing." For another thing, the liklihood of Python replacing Java and C++ in the hearts and minds of corporate application developers is quite slim. (especially considering the performance issues) But Python really could replace Perl for everything but 1-liners.

      But the most important reason Python users trash Perl is because the first question a newbie asks on hearing about Python, an object oriented scripting language is: "How is it different than Perl?" It is rare for people to ask how it compares to Java or C++ because typically they are expecting Python to complement or extend systems built in Java or C++. If there were a clear consensus out there about when to use Python and when to use Perl then there would be little anti-Perl sentiment in the Python community. But saying that "Perl has built-in regular expressions" is not the same as providing a guideline for when it is better to use Perl than Python or vice versa.

      • I find it kind of odd that you think that a language with regular expressions in the syntax and one without cannot in general be used to solve the same kinds of problems.

        Wow, I sure didn't say anything like that.

        Does typing the parens change the nature of the problem that much?

        Nope, but it changes the nature of the *solution*.

        But more to the point, if Perl's raison d'etre is built-in regular expressions (as you claim) then why is it used for (e.g.) SlashCode. What about building a large weblog community is regular-expression-centric?

        Hold on there. Where is this "as you claim" coming from? I said "two of Perl's main strengths", and you then say that I claim something *far* stronger. In that difference, you might find the answer to your question -- and I find a lot of the answer to my question about Python advocates.

        (Skipping forward...)

        But the most important reason Python users trash Perl is because the first question a newbie asks on hearing about Python, an object oriented scripting language is: "How is it different than Perl?"

        What's wrong with "It's not really like Perl at all"?
  • Homer Simpson would be very VERY happy.
    (roommate's friend blurted out that one in passing).
  • I'll be a rebel (Score:3, Informative)

    by FullCircle ( 643323 ) on Tuesday March 11, 2003 @09:39PM (#5490055)
    and mention REBOL.

    Cool alternative to Perl or Python.
    www.REBOL.com
  • by just some computer j ( 594460 ) on Tuesday March 11, 2003 @09:47PM (#5490099) Journal
    Ok, let's face it, our elected and appointed leaders are dipshits. Now, let's look at some facts. Most model rockets are made of what? Cardboard, Plastic and balsa wood. Range of this supposed "weapons" is what, 500 to 1500 feet vertical. So, if you do some number crunching, you get maybe a mile from a rocket fired at a 45 degree angle. The biggest payload I have heard anyone lifting with a model rocket is a uncooked chicken egg. And if I remember right, that didn't always going up very high, and the egg ended up mostly just small shards of shell and scrambled. Also, have anyone tried to aim a unguided model rocket to any degree of accuratcy? You are lucky to get the rocket to land in your own neighborhood after you launch it. Even with bigger engines, the risk to anyone in this country of getting gassed or sickened with bioweapons from a model rocket is just stupid. Make sure you write President Bush about this, maybe something will finally get through his thick skull and leave the hobbies of thousands of people alone. If that doesn't work, we could always egg the White House with the model rockets that carry the eggs!
  • by Moses Lawn ( 201138 ) on Tuesday March 11, 2003 @10:04PM (#5490227)
    Python is a language that is just as old, and arguably better from: most importantly a uniform standard of readability (enforced by using whitespace to delimit blocks (instead of {}), by avoiding overuse of cryptic symbols...

    Please explain how using whitespace instead of some paired token adds readability, assuming your bracing style is reasonable. To me, having the braces there explicitly shows me that I have a block that starts *here* and ends *here*. Since I use the apparently unique style of having open and close braces in the same column (as opposed to K&R style), I can immedately see the block structure.

    That said, I think Python is one of those cool languages I really need to learn some day, as soon as I have a project that I can use it for. And it *is* nice to know that everyone involved at least *has* an indentation policy. I don't suppose you can enforce a tabsize, can you? All the major stylistic wars solved, leaving all you energy available for editor advocacy.

    • I think people make too much of whitespace on both sides. It's just a detail.

      However, it does mean massive tab-vs-space flamefests on comp.lang.python! (I'm a tab-hater myself -- tabs are a total PITA, and only advocated by people with stupid editors or people who don't understand that ASCII is not a form of semantic markup).

      • Death to spacers! (Score:3, Insightful)

        by sigwinch ( 115375 )
        ASCII is semantic markup. It has characters for start-of-header, start-of-text, end-of-text, file-separator, field-separator, record-separator, unit-separator, etc. (Boy did the SGML people reinvent that particular wheel badly. "I know, let's use ASCII! And let's ignore FS and use < and >. Two characters for the price of one! Oh, but then we need an ESC character. I know, we'll use &! If I ever get a time machine I'm gonna go back to the invention of SGML and give those folks a good slapping.)

        If you use spaces for indention on a large project, you're stuck with that indention forever. Have a programmer with poor vision who needs bigger indention? Fire them. Need to work on a small screen with limited space? Welcome to line wrap hell. Stupid enough to try to change the indention? Watch your multi-line strings explode, and massive deltas thrash your version control system. Whereas if you use tabs and a non-brain-dead editor, it Just Works(TM).

        P.S. I'm currently working on a couple of Webware apps and I'm indenting with tabs. MuhuhuHAHAHAHAHA! Tabs forever! ;-)

        P.P.S. There is one thing we can agree on: people who mix tabs and spaces should be killed. Slowly. As an example to the other heathens.

        • GML originated at IBM, where they wouldn't have screwed their own customers by saying "let's require ASCII!" If you want to use C0 control characters as delimiters, all you need is a SGML Declaration, but keep in mind that those characters (except U+0009 HORIZONTAL TAB) have no semantics in Unicode.
    • I use the braces the same way you do ;)
      I also indent properly everywhere.
      In Python I just don't have to do the braces, and it's really really nice :)
  • As an ardent Perl user, all I can say is, "Methinks he doth protest too much."
  • by delfstrom ( 205488 ) on Tuesday March 11, 2003 @10:54PM (#5490528)
    A really good example of Python in action is Plone [plone.org].

    Plone is Python scripts and other bits running on top of Zope, a web application server written in Python.

    Of course there's also examples of Python being used on the desktop, but as a web application, Plone (and of course Zope) are worth a good hard look. To some extent, Zope can be considered the 'killer app' for the Python language.

  • I used to get a nut browsing thier site.
    I first found about it hearing Bob Lazar on Art Bell.
    These guys were into some seriously whacked stuff.
    I would browse and dream of going to the desert one day to see them cut cars in two with Rolls Royce jet engines, hook V1 type engines to Vespa Scooters, and other insane stuff.

    I guess all good things must come to an end.
    Now I am relegated down to the Pumpkin Chunkin and Trebuchet sites....

  • Read between the lines, and you'll see what the government is encouraging Americans to do. Teach a kid in your neighborhood about high-energy chemistry today! Build your own expl^H^H^H^H rocket engines, kids! There aren't any shipping regulations if you build it yourself or buy it from a neighbor.
  • VB (Score:3, Funny)

    by IanBevan ( 213109 ) on Wednesday March 12, 2003 @01:29AM (#5491397) Homepage

    Examples of Python in action: 0, 1, 2, 3, 4, 5, 6, 7"

    And for those Visual Basic programmers confused by that sentence, here is a translation just for you:

    Examples of Python in action: 1, 2, 3, 4, 5, 6, 7, 8

An authority is a person who can tell you more about something than you really care to know.

Working...