Slashdot Mirror


Slashback: Rocketry, Pythonation, Scoffing

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?"

76 of 333 comments (clear)

  1. The "rocketry" ruling isn't the whole picture by elflet · · Score: 5, Informative

    The space.com article cited was posted March 6; this posting 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 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.

    1. Re:The "rocketry" ruling isn't the whole picture by Anonymous Coward · · Score: 5, Informative
      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

    2. Re:The "rocketry" ruling isn't the whole picture by The+AtomicPunk · · Score: 2, Insightful

      I guess now you model rocketry guys know how it feels to be a gun owner.

    3. Re:The "rocketry" ruling isn't the whole picture by RodgerDodger · · Score: 2, Insightful

      Ah, but unless your model rocket is a GyroJet, 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)

      --
      "Software is too expensive to build cheaply"
    4. Re:The "rocketry" ruling isn't the whole picture by namespan · · Score: 2, Interesting

      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.

      --
      Libertarianism is rich wolves and poor sheep playing gambler's ruin for dinner.
  2. 1 2 3 by ObviousGuy · · Score: 5, Funny

    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.

    --
    I have been pwned because my /. password was too easy to guess.
    1. Re:1 2 3 by elflet · · Score: 4, Informative
      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 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.

    2. Re:1 2 3 by idontgno · · Score: 2, Insightful
      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 issue mentioned in the recent /. article 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...

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    3. Re:1 2 3 by Moses+Lawn · · Score: 2, Interesting

      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.

      --

      What if life is just a side effect of some other process and God has no idea we exist?

    4. Re:1 2 3 by Mr.+Slippery · · Score: 4, Funny
      For the rest of us who live in the larger set consisting of the intersection of people who want to get work done and the set of people who want to write code that other people have a prayer of maintaining, Python fits the bill.

      ...minus the set of us who realize that any language that makes whitespace syntactically significant should be taken out and shot. Yeah, I really enjoyed that idea when I was forced to work in Fortran for a college class, and it's certainly a joy when dealing with makefiles.

      Really. The only explanation I can come up with for a decision like that is drugs. Really bad drugs....

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
    5. Re:1 2 3 by Tyler+Eaves · · Score: 4, Funny

      Note the complete lack of any "Obfuscated Python" contest. Draw your own conclusions.

      --
      TODO: Something witty here...
    6. Re:1 2 3 by Chmarr · · Score: 2, Interesting
      It's already available in python. For example, in a if statement, if your true condition is a throwaway statement, you can put it on the same line. Viz:

      if x < 0: x = 0

      Or even two throwaway statements:

      if x < 0: x = 0; underflow = 1

      But you need to use indending if your true condition follows multiple lines:

      if x < 0:
      _ x = 0
      _ underflow = 1
      _ window.messagebox ( "Underflow." )

      (_ is used to force an indent)

      If you've got a block, and you're NOT indenting, then I certainly wouldn't want you on my programming team :)

      (And, yes, this post gives a good demonstration of one of the downsides of python's indenting requirements. My opinion: the upsides outweigh the downsides)

    7. Re:1 2 3 by Jason+Earl · · Score: 2, Interesting

      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.

    8. Re:1 2 3 by Chmarr · · Score: 2, Informative

      And a second followup...

      Python also has block redundancies. You must introduce a new block with the ':' syntatic element. If you indent and you don't have that, the parser gives you a SyntaxError exception (A real python exception, too, that you can trap, if you're doing run-time interpretation of code).

      Similarly, if you use ':' and you DON'T indent, you'll also get a SyntaxError.

      The only exception would be ending a block earlier than anticipated. Ie, you forget to indend the last line of the block (an example that I raised elsewhere). And, that's something that's going to be pretty damn obvious on the screen. Compare that minor gaff with the following gaff common in C


      if ( x < 0 );
      {
      x = 0;
      underflow = 1;
      }


      Which will NOT do what you expect. This situation is not possible in Python (nor in Perl, actually, but I bet you could find a similar 'one character changes the entire meaning' in perl too ;)

  3. what ABOUT lisp/scheme by banka · · Score: 4, Interesting

    the linked article also mentions lisp/scheme - why haven't us schemers gotten together yet to celebrate its sweetness???

  4. Prefer Python to Perl? by ntr0py · · Score: 3, Troll
    "for those who prefer that language to Perl"


    What about Tcl?
    1. Re:Prefer Python to Perl? by geekoid · · Score: 4, Funny

      you don't count.

      you must have 1 flame war a week on /. just to be considered a real non-language. ;)

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  5. pretty obvious, don't you think? by trmj · · Score: 2, Interesting

    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.

    --
    Work sucked, until it became unemployment, when it became slightly more tolerable. -Tet
    1. Re:pretty obvious, don't you think? by taniwha · · Score: 2, Interesting

      like this one? .... (this also answers Timothy's "who uses engines larger than these?" question)

    2. Re:pretty obvious, don't you think? by JDizzy · · Score: 3, Informative

      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.

      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.

      --
      It isn't a lie if you belive it.
    3. Re:pretty obvious, don't you think? by Rocketboy · · Score: 4, Insightful

      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

    4. Re:pretty obvious, don't you think? by kireK · · Score: 2, Interesting

      He is corrext about AP being stable. I had a frined that use to use a big chunk of AP as an ashtray.

      Now, if he was smoking thermolite.... well, it would have been an impressive roman candle.

    5. Re:pretty obvious, don't you think? by PhilMills · · Score: 2, Funny

      "Besides, it's not like you can't use more than one engine per rocket."

      Ah, yes, the classic Slashdot answer: Imagine a Beowulf cluster of those!

      -PhilMills

      --
      Once you eliminate the impossible, whatever remains, no matter how improbable, will be quoted out of context on
  6. Mod the Python Story -1 Troll by kalidasa · · Score: 5, Funny

    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.

    1. Re:Mod the Python Story -1 Troll by Paul+Bain · · Score: 2, Insightful

      Uh, you forgot MySQL versus PostgreSQL, GNOME versus KDE, RPM versus .deb, etc.

      --

      A lawyer & digital forensics examiner. Also an expert on open source software (OSS).
  7. I can see the headline now... by horse_pheathers · · Score: 5, Funny

    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

  8. SAFE AT LAST! by Eric_Cartman_South_P · · Score: 3, Funny
    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.

  9. Shoot to kill by The+Bungi · · Score: 4, Insightful
    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.

    1. Re:Shoot to kill by Ungrounded+Lightning · · Score: 4, Funny

      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-)

      --
      Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  10. Python is not just an alternative to Perl. by Frater+219 · · Score: 4, Insightful
    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.

    1. Re:Python is not just an alternative to Perl. by Bishop · · Score: 4, Informative

      Eric S. Raymond has written one of the better Python advocacy articles. His experiences with Python are similar to Frater's. Python has replaced C as my general purpose language of choice.

    2. Re:Python is not just an alternative to Perl. by Anonymous Coward · · Score: 5, Funny
      Eric S. Raymond has written one of the better Python advocacy articles.

      That's enough for me. Perl it is.

    3. Re:Python is not just an alternative to Perl. by Un+pobre+guey · · Score: 3, Funny
      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.

    4. Re:Python is not just an alternative to Perl. by Frater+219 · · Score: 2, Interesting
      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. In Python, we get generic functions by using dynamic typing, rather than putting a whole 'nother alien Turing-complete language 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.

    5. Re:Python is not just an alternative to Perl. by pyite · · Score: 3, Funny

      And this is the product of CS majors switching to an English major. =P

      --

      "Nature doesn't care how smart you are. You can still be wrong." - Richard Feynman

  11. Egads! by The+Bungi · · Score: 3, Informative
    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??

    1. Re:Egads! by Flarelocke · · Score: 3, Interesting

      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.

  12. Embedding Python by graveyhead · · Score: 3, Informative

    I think part of the reason Python is so popular is that it is extremely easy to embed it 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.

    --
    std::disclaimer<std::legalese> sig=new std::disclaimer; sig->dump(); delete sig;
    1. Re:Embedding Python by Tmack · · Score: 3, Informative
      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

      --
      Support TBI Research: http://www.raisinhope.org
    2. Re:Embedding Python by jericho4.0 · · Score: 2, Insightful

      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.

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
    3. Re:Embedding Python by Ian+Bicking · · Score: 2, Interesting

      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.

  13. Re:Whitespace BAD, Mkay... by pnatural · · Score: 4, Informative

    I'll bite, troll!

    We will perhaps eventually be writing only small modules which are identified by name as they are used to build larger ones, so that devices like indentation, rather than delimiters, might become feasible for expressing local structure in the source language.

    --Donald E. Knuth, "Structured Programming with goto Statements", Computing Surveys, Vol 6 No 4, Dec. 1974

    Or put more simply: Free your mind, and your code will follow.

  14. Shortsighted and foolish... by GeneralEmergency · · Score: 4, Interesting
    .


    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.

    --
    "A microprocessor... is a terrible thing to waste." --
    GeneralEmergency
    1. Re:Shortsighted and foolish... by msimm · · Score: 2, Funny
      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.
      --
      Quack, quack.
    2. Re:Shortsighted and foolish... by drinkypoo · · Score: 2, Insightful
      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.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:Shortsighted and foolish... by Degrees · · Score: 3, Interesting
      Yes, and "well, probably not."

      Yes, al-Queda did the terrorist thing for mortal revenge because of our treatment of the Afghan freedom fighters after they kicked the USSR's butt on our behalf. You could almost hear Nelson from The Simpsons cry out "Ha-ha", and Bart mutter "Suckers". So you are correct, changing our policy of messing with other people's lives could keep things like September 11 from happening in the future.

      On the other hand, Iraq is a completely different situation. With WMD, Saddam has an extortion tool that he can use - cave to his demands, or we lose Cleveland. He wants money, he wants assets un-frozen, he wants us to abandon our support of Israel, and he will want us to sit on our hands when he and his friends invade their neighbors. Don't like it? Lose Miami, too.

      So I agree with you that the September 11 bombings were largely our State Department and Presidents' (past and present) fault. But I also (now) see that there is a wealthy, dangerous man fueled by greed that is a truly large problem.

      The original post said this:

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

      I'll go one better: the anti-terror junk is such blindingly stupid policy, that I decided to turn off the TV every time I saw George Bush trying to pitch his plan for anything. Literally, if the current administration pitched it, it must be blindingly stupid, so turn it off.

      How am I supposed to reconcile the following? Immediately after September 11, George Bush said "If we allow ourselves to get caught up in a life of fear, then the terrorists have already won." Compare that to the Patriot Act, Patriot Act II, TIA, and ... classifying two ounce model rocket engines as explosives.

      sigh.

      I sure hope George Bush feels like the boy crying wolf right now.

      So your basic premise is correct: don't piss them off, and they won't feel the need to hurt you. Unfortunately, being only good + helpful doesn't remove the ability of a career criminal to ply even more of his trade.

      For my .sig below, notice its says "jerk" not "criminal."

      --
      "The most sensible request of government we make is not, "Do something!" But "Quit it!"
  15. Re:those gov't hacks can suck it hard by CaptainCarrot · · Score: 4, Informative

    I shouldn't feed the troll, but RTFA anyway. Unless your backyard is on the order of a square mile in size, the model rockets you're most probably launching from it aren't covered by the new regulations. Engine sizes A through D are well under the 62.5 gm limit. You need to be using size G engines before you run into a problem, but you need a considerably larger field than the average backyard to launch anything that would require them.

    --
    And the brethren went away edified.
  16. Efficiency. by blair1q · · Score: 3, Interesting

    Maybe they'll work on making rockets that go higher and straighter on 62.5 g of propellant.

  17. For those who find python weird by Anonymous Coward · · Score: 2, Insightful

    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.

  18. Oh... the loopholes.... by jemenake · · Score: 3, Interesting
    "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...."

    1. Re:Oh... the loopholes.... by Sooner+Boomer · · Score: 5, Informative

      The restrictions are for *specific* chemicals - Ammonium Perchlorate Composite Propellant (APCP) and Black Powder. The propellants are combinations of fuel and oxidizers. The restrictions are limits for ONE engine. Engines may be clustered or staged for greater combined impulse. There are still alternatives such as hybrid systems (which use nitrous oxide and a solid material such as cellulose).

      --
      Chaos maximizes locally around me.
  19. Python's "vs" issue by mattdm · · Score: 4, Insightful

    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.

    1. Re:Python's "vs" issue by smallpaul · · Score: 4, Insightful

      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.

  20. Re:Whitespace BAD, Mkay... by Anonymous Coward · · Score: 4, Insightful
    i thought pretty much the same thing, until i actually tried writing some python. takes about 20 minutes of hacking out some code of your own, then you no longer notice the whole whitespace thing at all. give it a whirl - after all, you're already indenting your code properly, right? well, writing python is just like that, except you don't bother with the curly braces. that's the whole difference.

    code-writing code is a special case not worth optimizing for. by far most of the code that actually matters (including, most especially, any and all code-writing code) is written by humans, so naturally languages should be optimized for readability to humans rather than ease of printing by machines. but that goes without saying; if it were ever otherwise, we'd all still be writing machine code directly.

    and other than that one special case, your entire argument would seem to rest on... um, nothing whatsoever. except your own personal dislike, which you're welcome to and which is perfectly valid - but it doesn't prove anything to anybody other than yourself.

    now, that's not to say this feature of python's is all good and wonderful. there's one big backdraw to it, which i can't make any excuses for - with no explicit block delimiters in the language, you can no longer use % to jump betwen block start/endpoints in vi. that, i do miss when coding python.

  21. Re:Whitespace not BAD, Mkay... by ChadN · · Score: 4, Informative

    Python is distributed with a script (pindent.py) which can take normal python code and package it in block delimiting comments. So, one could output code without proper whitespace (and with proper comment delimiters), and have it easily 'whitespaced' before execution.

    The pindent.py module also contains the class (PythonIndenter) which does the work, making it easy to incorporate in a Python program which is processing other python code.

    There are also tools in the standard library to help properly generate python code directly.

    In practice, it just isn't a problem.

    --
    "It's overkill, of course. But you can never have too much overkill." - Anonymous Slashdot Coward
  22. All 9 of you... by Wee · · Score: 4, Funny
    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

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  23. Actually.... by Fencepost · · Score: 4, Insightful
    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.

    --
    fencepost
    just a little off
    1. Re:Actually.... by mattdm · · Score: 2, Interesting

      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.

  24. Re:How long do engines last? by Sooner+Boomer · · Score: 4, Interesting

    Are they still "good"? Probably. Are they still safe? If they have been kept from any temperature and humidity extreems - probably. Are they legal to use in a sanctioned (NAR sponsored) launch? No, engines (and reload kits) have a specific expiration date. However they can still be used in a non-sanctioned just-for-fun type launch. Sunday I used an engine dating back to the mid-70's and it worked flawlessly. The engine (a Centauri B14-0) has not even been made for many years.

    --
    Chaos maximizes locally around me.
  25. Hmm.... Donut! by Black+Copter+Control · · Score: 2, Funny

    Homer Simpson would be very VERY happy.
    (roommate's friend blurted out that one in passing).

    --
    OS Software is like love: The best way to make it grow is to give it away.
  26. I'll be a rebel by FullCircle · · Score: 3, Informative

    and mention REBOL.

    Cool alternative to Perl or Python.
    www.REBOL.com

    --
    If tyranny and oppression come to this land, it will be in the guise of fighting a foreign enemy. - James Madison
  27. Yeah, Right, my model rocket can do damage by just+some+computer+j · · Score: 3, Informative

    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!

    --
    eh, this sucks, I am going back to bed....
  28. Re:those gov't hacks can suck it hard by lbonser · · Score: 2, Interesting

    I know people who routinely launch H, I, J, K, L, and M engines every weekend... Check out the Tripoli website for more about high-powered model rocketry. www.tripoli.org

  29. What makes whitespace so special? by Moses+Lawn · · Score: 2, Interesting
    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.

    --

    What if life is just a side effect of some other process and God has no idea we exist?

    1. Re:What makes whitespace so special? by Ian+Bicking · · Score: 3, Funny
      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).

    2. Re:What makes whitespace so special? by Daath · · Score: 2, Informative

      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 :)

      --
      Any technology distinguishable from magic, is insufficiently advanced.
  30. Re: Examples of Python in action by Dr.+Mu · · Score: 2, Funny

    As an ardent Perl user, all I can say is, "Methinks he doth protest too much."

  31. Really good example of Python in action by delfstrom · · Score: 2, Informative
    A really good example of Python in action is Plone.

    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.

  32. What ever happened to REH ??? by pair-a-noyd · · Score: 2, Informative

    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....

  33. Punsters Anonymous.... by horse_pheathers · · Score: 2, Funny

    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.....

  34. ISO: Renaissance People by halfgeek · · Score: 5, Interesting

    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, 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.

  35. VB by IanBevan · · Score: 2, Funny

    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

  36. Re:Engine sizes by n3h3m14h · · Score: 3, Interesting
    For Estes D12 series motors, the official mass (or weight as they label it) is 24.93g. It has a total impulse of 20 N-s (Newton-seconds), reaches peak thrust at ~.25 sec, burnout (all done) at ~1.6 sec. In actual testing, one will typically find that actual total impulse, peak thrust, burn time, etc. will vary slightly (lower) than the official spec.

    Note: each motor class upward doubles the maxium total impulse of the previous class (letter designation), therefore an E class motor has between 20.1 - 40 N-s, F 40.1 - 80 N-s, G 80.1 - 160 N-s, etc.

    Of course any second-grader can figure out that it only takes three motors to exceed the single motor propellant mass limit.

    BTW, Estes typically packages the motors in three's.

    Hmm... which is the stronger signal to the ATF, trying to buy 40 kg of black powder, or 1,800 D12 rocket motors?!?

    As for getting back into model rocketry, go for it! I was away from rockets for over 20 years and got back into it when my kids were old enough to start building and flying them. Plus, you get to say great one-liners at parties like: "Actually, I am a rocket scientist."

  37. Time to call bullshit by HotNeedleOfInquiry · · Score: 3, Informative

    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.

    --
    "Eve of Destruction", it's not just for old hippies anymore...
  38. Death to spacers! by sigwinch · · Score: 2, Insightful
    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.

    --

    --
    Kuro5hin.org: where the good times never end. ;-)

    1. Re:Death to spacers! by J.+Random+Software · · Score: 2, Informative

      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.