Slashback: Rocketry, Pythonation, Scoffing
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?"
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. 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
the linked article also mentions lisp/scheme - why haven't us schemers gotten together yet to celebrate its sweetness???
What about Tcl?
I have a couple dozen old Estes engines in various sizes. They've been sitting for almost a decade in a "locked" shoebox (rubber banded). Any idea if these things are still any good?
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
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.
Don't you mean people that don't prefer perl to python? Or, actually, why even bring perl into it unless you believe it's superior (and thus someone is making some sort of odd choice in not using it!). And, what about PHP? Why no mention of that?
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
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.
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.
Me? I use bash for one-liners, Perl for ten-liners, and Python for thousand-liners.
hahahahaha
You've obviously never used it.
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??
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;
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.
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
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.
Maybe they'll work on making rockets that go higher and straighter on 62.5 g of propellant.
or question its purpose...
.NET, mozilla, and what have you. IMHO the write-once-run-anywhere quest might currently be best served with python (contrary to popular believe).
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,
From procedural scripting to high level OO, python has it all.
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...."
Wgu don't you just try Python. Everybody thinks this for at least eerrr... 5 minutes, then there is that moment of epiphany!
... Mkay
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.
Murphy: I knew this day would come, dopplegangners..
Stormy: Hey, we're not dopplegangers.
Murphy: Tell it to queen Dopple-Poppleous.
*Marco hits Stormy over the head with a wrench*
Having said that, is there any terrorist worth his weight that won't be able to figure out a way around this?
C - A language that combines the speed of assembly with the ease of use of assembly.
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.
OMG, talk about getting bitchslapped for making a joke. And I thought Homeland Security was bad.
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
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.
- 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
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.
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
If model rocket engines were only used for model rockets there would be no problem. They were used for torture as far back as 1985.
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....
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
one day the winner could be Ruby. It's incredibly easy to learn and powerful, 100% object oriented and the community support keeps growing every day.
Here are a nice online book and an interactive tutorial.
http://welcome.to/newlisp
I've used Occam, and the whitespace "feature" was a major distraction and a common source of error in the edit-compile_fix_the_dammed_whitespace-compile cycle.
I never liked it, and none of the guys on our team liked it, either.
For very long blocks (that required scrolling, at least) and those with many conditional statements, it could get very ugly trying to figure out if the indentations were correct.
I like Python and I agree that the whitespace having any meaning other than readability is bad. Brackets are easier to deal with than all the indentation level problems I've encountered in Python.
It's especially bad when your idea of what a tab is (ie 8 characters) vs mine (4) is.
I also don't like the tendency to output extra spaces in your output for you. I know there are ways to avoid it but it's not something you should have to avoid.
I love Sealab 2021.
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?
If, in practice, it just wasn't a problem, then tell me why there are these tools you just sopke of to fix it?
A former boss of mine once did a project at Lawrence Livermore
Oops. Los Alamos test site.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
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: a multiplayer head-to-head game similar to Tetris.
"They do not preach that their god will rouse them, a little before the Nuts work loose." Kipling, 'The Sons of Martha'
Who has the money to go to a conference that really doesn't teach much, and has very little but social ramifications.
The larger the less-technically minded crowd is for a given subject correlates directly with the number of Con's there are for it.
If you already are an uber-geek, you don't go to cons unless you are a paid speaker, or an organizer. If you hack perl, and there is always more than one way to do it, and none of them are good, then obviously you will want a million cons, just trying to find a solution that really makes the language work.
You just don't have those types of idiots in the python camp.
One might argue, though, that the only reason why all python users are experts, is because the set of all users is the same as the set of the language developers.
As an ardent Perl user, all I can say is, "Methinks he doth protest too much."
"What does this mean for the the big guys in model rocketry, who use engines larger than this?"
It means they can't use the bigger engines anymore. . . Perhaps with a license?
Modular Redundancy--Because 4 out of 5 Nodes agree
Oh, come on, moderators...
A) This is really funny.
B) This is slashback for christ's sake.
C) I might have goofed up the URL...try this one instead.
Mordor...a magical, mythical land where women are more rare than dragons--but where every man would rather find a dragon
I thought most of you realized that Wired is a fictional publication that occasional contains facts, not the other way around. Reliable and skilled news organization they are not.
(IMHO, they're the tech equivalent of Weekly World News. I'm just amazed people still buy it!)
Anyone remember (or know) what the weight of the D engine is? It's been 25 years since I was into model rockets but with this sillyness coming I think I'll have to get back into it.
--
If I actually could spell I'd have spelled it right in the first place.
ok, I'll jump in and throw my $0.02 on this (being someone from the started learning c (enjoyed it), went to Perl, and then switched to Python club).
1) Perl gives the programmer an extreeme amount of freedom of style which makes it a powerful language for the vetran programmer and a BAD BAD BAD choice for a newbie who has no concept of style, form and coding practice. It's extreemely easy to write obfuscated code in Perl.
In contrast Python by it's nature/design enforces at least some basic concepts of good programming style (whether the new programmer knows it or not!). It's often called execuitable psudocode by programmers familiar with other languages.
Am I saying one is better or not? NO (that was already covered by one of the parents). But because it is so popular and in such wide use, it too often becomes the first programming language those NEW to programming choose. And it's just too easy to learn bad habits in (I'm thinking of the mentorless, self-taught here).
2) python users on slashdot == linux users on ZDnet. A proud (sometimes zelot) vocal minority who don't want to be overlooked in all of the noise.
-- "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former."- Albert E.
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.
with a name like that they are likely to raise interest from U.S gvt :)
Size of your backyard has little to do with being able to launch a rocket of any size...
This is about treating people who have been enjoying a hobby for years like criminals and subjecting them to more taxation for the sake of "National Security"
Now not only will you need to get your fingerprints for owning NFA firearms but for high powered rocketry.
Hopefully they'll tax having sex next! Require you need to get your fingerprints taken and have a background check for that too.
H00RaY!@
We used to hop the cattle fences in Oak Ridge all the time when I was growing up. All that land... Great place to ride your mt bike, smoke dope, swim in the quarry between K-25 and the west end of town, spook ourselves out on Halloween at the haunted church near K-25. Wonderful place to grow up. Probably similar in Los Alamos.
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....
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.....
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.
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.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Mmmmmm Unprocessed fish sticks...
- from when Homer went all 3-D and saw donuts/toroids...
If there aren't then I'll be a little zealotish and say that that's one area where Python clearly has an advantage.
fencepost
just a little off
Stick your fucking whitespace, give me block delimiters anyday.
Never tried it, have you? The whitespace thing is an nearly infallible sign of an armchair critic - handy for identifying those too lazy to do more than browse a few Slashdot links, but ready to pontificate on the merits, or lack thereof, of anything they've heard two vague rumors about.
In other words, the archetypal Slashdottie.
And this is the sort of pinhead that has his posts valued above par? No wonder Slashdot sucks these days!
If you need something more powerful than 62.5 grams, Go with compressed Oxygen and gasolene. After all, O2 is needed in welding and is pretty commonly available in welding outlets and Gasolene is explicitly an unregulated explosive ;-)
LedgerSMB: Open source Accounting/ERP
Although there are still a lot of people I haven't met, even within the Python community, I really haven't gotten the impression that very many Python programmers have any grudge at all against Perl. There's a bit of a friendly rivalry, but the tone among serious Pythonistas has never struck me as venomous.
The two languages have plenty of similarities and differences. Both are powerful interpreted languages. And both have deep roots in various communities, with a certain amount of overlap.
The most legendary distinction between the two languages is philosophical. Perl's "There's more than one way to do it" is often contrasted with Python's "There should be one obvious way to do it". Playfully, some have said that Python is like "executable pseudocode" and Perl is like "executable line noise" (referring to the readability mythos).
According to Perl.org: "Perl started on Unix systems as a system administration tool." Python's origin is as a teaching language, one that can be easy to learn, promoting good coding habits. Of course the languages have taken different directions. They didn't even start off in the same way.
Before I found Python, Perl was the language with which I'd had the most success. I just happen to have had more personal joy with Python, although I keep a current Perl interpreter installed on most machines on which I work.
In my experience, Python people don't tend to be anti-Perl. We're just pro-Python.
It does if that's where you're launching them from, as the original poster indicated he was. You need a certain amount of clear space to do this safely, and the amount of space you need increases with the potential altitude of the rocket. It would require a very large backyard indeed to safely launch a rocket powered by an H engine.
Frankly, I have little sympathy for the complaint here. When I got into model rocketry about 30 years ago as a kid growing up in New Jersey, you needed a state-issued permit to purchase even the smaller Estes engines. (And this permit could only be issued to an adult, so my dad had to apply for it and buy all my engines for me.) A background check is something almost anyone who gets a mission-critical tech job has to undergo these days, I don't see the prospect of fingerprinting deterring many people from getting drivers' licenses, and a $25 fee isn't very large considering the other expenses associated with a hobby like model rocketry. This is simply not a level of intrusiveness we find objectionable in many other contexts.
And if you think they don't tax sex already, you've obviously never applied for a marriage license...
And the brethren went away edified.
after all, you're already indenting your code properly, right?
:)
No, I'm not. My editor does a fine job of keeping track of such tedious details for me. (At least when I'm working in C/C++/Java/Perl/Tcl/Lisp/etc.) Of course, my editor also does a fairly good job of handling proper indentation for python too; in effect, I use TAB and BS as my block delimiters, and it all mostly just works.
Basically, with C/Perl/whatever, if my indenting is messed up, then I know my block delimiters are messed up somewhere, so I look, and fix the problem. With python, if my indenting is messed up, then I know my indenting is messed up somewhere, so I look and fix the problem. It can be a little more tedious to fix in python sometimes, since the editor can't just automatically re-indent the section properly, but most of the time (say, 99.9%), it's just a matter of sliding a chuck of code left or right, which is no problem.
What I think it boils down to is: if you're using decent tools, python is really neither better nor worse (as far as the whole indent/whitespace matter is concerned) -- merely different. As with many technical matters, this one is given far too much importance both by python's fans and its detractors.
with no explicit block delimiters in the language, you can no longer use % to jump betwen block start/endpoints in vi.
Yup. Although I'd like to say that anyone using vi for programming should be beaten severely until they switch to vim!
Restricting hobby rocketry is bad for the USA!
1. It kills an exciting "hook" getting students to pursue the "hard" sci-tech subjects.
2. Very nearly every HPR I have ever met (sample size roughly ten thousand) has off-planet aspirations. Fact is, if we desire to continue to exist as a species, we absolutely must go off-planet, the sooner, the better.
I would think the current threat of biolgical terrorism would make this obvious. Now the BATF/AFTE is pretty much wiping an entire class of rocket developers out of existience? Are they suicidal?
Illogic such as yours barely deserves a reply. It is not a problem in practice, BECAUSE (in part) tools exist to help make it PRACTICAL. Even without these tools, it could still be practical to do, but perhaps require more time to implement.
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
Never, ever lose a file again. Ever.
Marriage? Sex?
...insert one rectally and grunt...hard. If it doesn'remove your sphincter and at least 5cm of surrounding tissue, they're still good to go up.
Seriously, I've used ones that old with no problem. They are compressed tighter than traffic in Seoul. Supposedly, soaking them in water will negate their reactionary properties, but I always light them off to make sure they're spent.
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...
Well, it probably means that a new type of liscense will be made. You already need faa clearance and a special liscense for engines above G type, so it probably won't be a big deal.
Not a sentence!
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.
I'd say it's because ML's type system means I'll never have to see error in car at runtime again.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Usually, yes. Before you have kids, anyway. Then you're too tired.
And the brethren went away edified.
Don't tell anyone I told you this, but you can cheat Python's indenting, and the purpose you're describing is a good reason to use it.
def foo(blah):
do.some(buggy) # operation
# the next line ends with a backslash to indicate the line continues
\
print buggy
return stuff
An unclosed piece of punctuation: (,[,{, etc. will also let you do this, but the backslash is probably what you want. After any kind of line continuation syntax (punctuation or backslash) the next indent doesn't matter.
Python's whitespace enforcement is nothing but a blessing. This from someone who's coded in C, C++, Perl, Java, and more.
It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.
Actually, this is one of the weirder (and cooler) things about Python. It doesn't give a compiler error, you get an EXCEPTION!!!
In Python, syntax errors and the like generate exceptions and are, thus, trappable. It is very strange for a program, at runtime, to give errors you usually would expect at load-time. It also can be really useful.
In Python, all errors are exception.
In general, you don't really notice the lack of braces. On one hand you might think "how do I know where a block ends?". Well, it ends were it unindents.
Heck indentation was introduced to add more information to the braces. Python just notes that the braces just aren't needed anymore.
The cleaner thing really is a benefit. See how much you enjoy debugging other people's large perl projects. It sucks. Python is very nice. Heck, it takes very little to drop into interpreter and interrogate the program. Very cool.
I think Mauve has the most RAM. --PHB (Dilbert Comic)
It was the same case for me.
For the first several weeks of python coding, the use of whitespace bothered me, and then I got used to it.
I fully switched from Perl to python when I realized that all the Perl programmers who try to make all their stuff fit on one line and who pride themselves on showing off their knowledge of Perl's terse syntaxes and weird implicit behavior at the expense of other people who try to understand their code bothered me far, far more.
Ergonomica Auctorita Illico!
Liquid oxygen on the other hand is very explosive and is not easily used in "amateur-type" rockets.
"First they ignore you, then they laugh at you, then they fight you, then you win."
Can't you just reclassify rockets as firearms, and then your rights would be protected under the constitution
Choose your allies carefully, it is highly unlikely you will be held accountable for the actions of your enemies
The Google spider was _once_ written in Python a long time ago... no longer. Stop beating a dead horse.
You can make a perfectly legal 6.25 kg monster rocket by together 100 62.5g rockets with gaffer tape. Problem solved.
If I seem short sighted, it is because I stand on the shoulders of midgets
It's good to see restrictions on the use of things that might, conceivably be used by ingenious people as weapons. Luckily, the NRA is busy protecting our right to use objects intended to be used by idiots as weapons.
This is so funny. Model Rocket Engines are a hazard to humanity and can not, of course, be transported on Airplanes.
Butane Lighters on the other hand are perfectly safe and exactly the thing one wants to have inside an airplane cabin so that deranged people like Richard Reid can use them to explode bombs.
Where's the logic, reason, understanding, intelligence...oh, sorry, had momentarily forgotten who it was that paid for the current government in the first place. Sigh.
Full story.
Gasolene is not explosive - it is flammable. And 62.5 grams of it, or any amount really, would not be sufficient to act as a serious rocket propellant of any sort. Liquid oxygen on the other hand is very explosive and is not easily used in "amateur-type" rockets.
When combined with LOX, gasoline is far more dangerous (and has a great deal more terrorist potential) than a composite rocket motor. That's the point, demonstrate the stupidity of the law by building a perfectly legal 'blockbuster' of a rocket to replace the reletively safe but onerously regulated composite engine. (by blockbuster, I mean literally could take out a city block if it malfunctioned).
BTW, I'm not serious! The fact that it could be done by a sufficiently insane person is enough. BTW, a gasoline rocket could work fine, it was good enough for Goddard.
Probably because only a power hungry nitwit would expose himself to the rabid press that cares about every goofy thing he did in college, and nothing about what he might think, then spend millions of dollars running for office just so he can beat his chest ineffectually and trumpet "I'm in CHARGE!!"
There are exceptions to the above, of course. They want to be in office to make a difference. However, they have to be able to put up with all of the nitwits they will be surrounded by and be stealthy about their intelligence and capabilities so the nitwits don't get rid of them before they can make the rest look bad.
Any time new laws about technology come up in the news, I can think of nothing besides the gorilla in 'Planet of the Apes' burning the computer printout because he can't stand for something he doesn't understand to exist.
"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."
Wrong.
The US as the world's leading Military and Economic power will always be the target for nutcases like this.
The best defense is for other people to believe (a) The US will go ape-shit if it is attacked (b) The US is so friggin crazy that we will not only kill you, but a couple of neighboring countries "just to be sure".
Seriuosly, these people who do this are one step up from filthy animals. Animals don't have a complex range of emotions. For these guys, you make them so fricking afraid that they just go and attack each other.
That's why the Iraq/Iran war was so perfect and I still don't understand why the US intervened to stop it.
Powder for them come in large tin containers, so they have killed off this hobby too?
Not many terrorists use a single shot muzzle loader..
---- Booth was a patriot ----
I hate Pythons, Cobras, Boa's, Vipers, Rattlers! Snakes that I don't like are: Dead Ones Live Ones Big Ones Small Ones Venemous Ones Non-venemous Ones Now lets have no more reptile talk and talk about Technology instead!
"This is your life and it's ending one minute at a time."
If I read this correctly, you're not allowed to ship more than 62.5 grams of black powder, a.k.a. gun powder. I don't know exactly how much gun powder is in the average bullet, but I'm taking a stab in the dark and saying a .45 bullet would have a gram. That would mean carrying a hundred pack of bullets is now illegal.
Can someone tell the NRA? And then arrest them?
No it isn't... LOX is used to simply speed up the oxidization (burning/explosion) of a fuel. It's compressed, but in that respect it's no more explosive than liquid Helium. A rich oxygen environment helps things burn much faster than normal air, but the oxygen itself is not explosive.
The issue isn't the permit or the fingerprinting (though nobody actually likes those things), it's that the new rules mean the larger engines can't be shipped (since no carrier is likely to have every employee who might touch the package get a $25 license, training, background check, and fingerprinting).
So imagine that license your dad had to get, throw in needing to drive across several states and back to buy the engines. Sure, the a-d engines won't be an issue, but as hobbiests grow up, they're going to want to build significant payloads (such as cameras that can take more than 8 grainy frames in flight), more complex and heavier designs, and fly higher. That's going to be impossible except for the few who want to take cross country car trips on a regular basis, or make the things in their garage (probably illegal for other reasons in most places).
The sad part is that this will do NOTHING to improve homeland security. It's just a bunch of beurocrats who want to keep up appearances, and scoff at the 'American Way of Life'.
Then how can Python code be sent through a channel that does not preserve indentation, other than through something like uuencode (which would trip the lameness filter)?
Will I retire or break 10K?
The only problem with this is that the 2nd Amendment declares you have the right to own, keep, and bear arms, theoretically to provide a deterrent against a domestic or foreign tyrant. The 2nd Amendment never explicitly gives you the right to fire these arms, however. I think this may be because the framers of the Constitution recognized that if someone was going to go and use their weapons against the government or innocent citizens, they should know they would be held responsible in some manner for their actions. As a somewhat naive pre-law student, my interpretation is that the 2nd Amendment protects possession of weapons for the purpose of deterrence. If you are happy having a whole bunch of rockets you can't fire, perhaps you could justify them with your Constitutional firearms rights. This is not a flame bait, just my attempt at interpreting the Constitution.
Turn on indent folding, such as:
This will create folds for each python block. Then use [z to go to the beginning of the fold, and ]z to go to the end of the fold.
Yeah, it's not quite as handy as %, but you may find it helpful.
And if you are not familiar with folding, you really should look into it.
Try ':help fold'
HTH,
Eli
BTW, I'm not serious! The fact that it could be done by a sufficiently insane person is enough. BTW, a gasoline rocket could work fine, it was good enough for Goddard.
Actually I think they would work very well, though I am not aware of anyone using gasolene as rocket fuel. Goddard used Kerosene as did the Saturn V that sent men to the moon. Perhaps Diesel would be better than gasoline.You would still need pumps, etc. for the fuel, but the o2 could be simply released via valves since it is compressed.
LedgerSMB: Open source Accounting/ERP
You forgot the camp that I fall into:
.misc newsgroup has its own popultion of arrogant jerks who seem bent on driving out newbies. This does seem to go with good, powerful lnguages (tcl excepted). Or maybe they're ringers from another user community who are just trying to scare newbies away. But this is certainly effective at preventing people from learning from the experts.
...
..."
Used perl, tried python, found TFM heavy going, and relegated it to the "Learn more about this when you have the spare time" category.
I have several of the O'Reilly books on python, and have spent time learning. With perl, I found that a few chapters into The Book, I was able to write useful, fully-functional programs with ease. With python, I find that I'm still wondering WTF the actual syntax of this language is, and constantly being surprised by what my code actually does.
Thus, on the basis of advice in the python newsgroup, I first bought Mark Lutz's "Programming Python". Lots of really powerful-looking stuff there. But nowhere in the book, apparently, is there a description of the language's basic syntax. It would be really useful to find a clear description of just how the language uses things like quotes, commas and parentheses, not to mention tokens like "->" and "=>". Such trivia are critical if one is to write valid programs in a language, and the python crowd seems to think that documenting them is for more lowly creatures than themselves.
I conclude that it's a language for someone with a lot more brains than I have. Or with a lot more time.
The basic problem that I've seen is that python docs seem aimed at someone who already knows the language. When I'm looking at a piece of python code, and see a construct that I don't yet understand, I can't find an explanation in the docs. So learning from example is very slow going, and it's easy to put it off until you have some spare time.
Maybe this is because (as has been suggested in the newsgroup) I'm a f**king idiot who should get a clue. Now if I could just find those clues. Maybe I should wait for the "Python for Dummies" book, except that it may be a long wait.
Of course, the perl
Anyhow, I'd say that, from what I know of python, it sure looks like a useful tool. Now if I could only learn enough of it to be able to write nontrivial programs
Amusing anecdote: One of my first attempts, of course, was to write the tradition "Hello, world!" program in python. I read TFM, made a bunch of guesses, and they all just got me incomprehensible error messages. And then I made the mistake of feeding my hello.pl script to python. It worked.
I thought "That's interesting
But this approach only goes so far. Discovering the syntax of a language by feeding it random text and seeing what it does is a very time-consuming way of learning.
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
If I were insane, I'd use the flow of O2 to drive the pump for the propellant.
If C has taught me something it is that it can be obfuscated, but also with some discipline ('software engineering') it can be made quite clear and maintainable. No such thing in Perl. Two months later, I couldn't understand anything I'd written. Now I've never heard of Python before, so are there some kind souls who can tell me why they switched from one to the other, personally ?
Non-Linux Penguins ?
See a recent interview about Guido from Python. check here, english version is just after the french one.
But! Who Indents the Indenter!?
Bother.
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.
Even if he had WMD capable of that scale of destruction, such a stunt wouldn't work. The US wouldn't cave in to his demands. No developed country would, really. And what's Saddam going to do about it? Sure, he could try nuking the US or something, but he'll only get at most one hit before the US retaliates. So it would be suicide. Saddam isn't the kind of guy to do that; look at all his doubles, his bodyguard constantly by his side. He's not a fanatic. Just a ruthless dictator desperately clinging to power.
If your program has a type error in it, it's almost always because it has a bug in it. This will eventually be a problem; the difference being that in ML you take care of it at compile-time, while in Scheme you may not notice the bug for years if it's in some little-run branch of the code.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
sorry for the caps lock, but THANK YOU THANK YOU THANK YOU THANK YOU!!!!! you've changed my default vim configuration settings!
Just to demistify this often seen interesting, but irrelevant comparison:
> Yeah, I really enjoyed that idea when I was forced to work in Fortran
In Python, you indent the way you want. Tabs, spaces, as many or as few of them as you want. As long as you don't screw it up (and you'd have to do that on purpose, in my experience, with the autoindentation feature of all serious code editors), Python will understand it.
In Fortran 77, it was basically the meaning of a character that depended on the column (not whitespace, note) where it was: label, code, or 'line continues on next line'. Those were the last punch card days, you know. Damn, I've hated that too. I, however, have no problem with Python's syntax.
I'll agree, though, that such a change in habits isn't easy to manage, unrelatedly to the increase of productivity it eventually leads to. Bah. Funny that, of all people, we geeks should be so set in our ways... I'm glad I managed to integrate the Python syntax, though, it's really a great language for complex projects (though Perl is still a little more adapted for small to medium sized throw-away scripts).
-- B.
This sig does in fact not have the property it claims not to have.
Why do people insist on comparing Perl with Python? Python is a lot closer to Java in terms of types of programs it will be the best tool for (actually, switching from Java to Python often makes sense in terms of productivity and code maintainability). The most revealing sign is probably that while Perl opens the standard input by default and lets you access it directly with a dedicated keyword, assuming by default that you'll be parsing stuff, Python doesn't, not making risky (for Python) assumptions that would end up being wrong most of the time anyway.
Basically, for a small to medium sized script, Perl is a more effective tool. For anything that will require reusability and modularity (as in, code orthogonality), Python is much more fitting. I guess that a good example could be a comparison of Slashcode (done in Perl) and Zope (done in Python). Comparable idea ('Output stuff on the Web'), but totally different scope.
Just one last thing. Because coding in Perl is fun and it's easy to get carried away at it, some people will try to force it into projects much more complex than it was ever meant for -- resulting in some of those unspeakable code messes we've all seen at some point. Don't let that fool you. For the tasks within its intended scope, Perl is really a good language.
So, which is better? Depends almost solely on what you want to do. If Python has more visibility in academic circles and alike, it's simply because it's a great language to learn about advanced programming concepts and good software design, not because it's 'absolutely better' than Perl. No matter what the biggots on either side will tell you.
-- B.
This sig does in fact not have the property it claims not to have.
Not that this is on topic by any means, but here is a response.
Of the established solutions for compiling Perl into executables, at the forefront are IndigoStar's Perl2EXE and ActiveState's PerlApp. Both are commercial products. I've not had a reasonable impetus to buy either, but programs like AmphetaDesk, an RSS aggregator written in Perl, make impressive use of Perl2EXE. There may be a point in the future at which I might happily buy it--it just depends on the end I'm trying to meet with a given project. Sometimes preaching the freedom-of-software concept makes us forget that things can be worth money...
There's also perlcc, which comes standard with Perl, but it's in a "very experimental" stage and not recommended for production code.
So, there are options.
Of course, you aren't being a zealot by mentioning the advantages of one language over another. I've enjoyed reading all of the (reasonable) point/counterpoint comparisons between Python and Perl. I personally don't do enough programming in any of the areas where Python surpasses Perl's usefulness to make a serious switch. Perhaps in the future, I will.
What doesn't make sense is one's assumption that because he writes code in one language instead of another he is somehow of a superior race of beings. If there's any measure of superiority to be had, it more appropriately belongs to those who are familiar with (or even those who are willing to learn) more languages and environments and all of the necessary tricks and idioms to write an intelligent solution within any one of them.
But even if this is something that properly defines one's superiority, making a nuisance of oneself screaming about said superiority does an incredible lot to negate it.
Generic segue, an article about the BOFH becoming passé caught my eye today...
Nor do I disagree with you. But again, I was replying to what seemed to be the core objection in the original troll, which was more about being told what he could and could not do in his own "backyard" than about the wider effects of the regulation. I like to think that ultimately sense will prevail here. Model rocketry hobbyists don't, I imagine, constitute a very large lobby, but I wonder to what extent the new regs affect, say, black powder shooters. Will they be able to purchase black powder by mail, and it will it be allowed to be shipped to sporting goods stores in the quantities in which it's normally purchased? I imagine that if all the affected groups got together, they'd be able to have a beneficial effect.
And the brethren went away edified.
I suppose, then, that you don't use Makefiles. An action line in a Makefile must start with a tab.
-russ
Don't piss off The Angry Economist
The black powder shooters are probably out of luck as well. I agree that there's a good common cause there.
The original comment about back yard was without a doubt, hyperbolie, but expresses a valid emotional reaction to the way government regulation affects the hobby. I can't think of many Americans who actually want their life to become more constrained.
The two most dominant options appear to be py2exe and Gordon McMillan's Installer, which also has a nice summary of other options as well. I personally use Installer and find it to work just fine; that said I don't have any experience with its GUI capabilities - I know it's supposed to have decent support for the common Python GUI techniques, but all my stuff is command-line driven.
fencepost
just a little off