But does this book you're recommending emphasize security, using warnings and strict (etc.)? It's actually quite easy to write a little CGI script in Perl that produces more or less expected results for expected input; it's how your scripts handle failures and maliciousness that matters.
As a matter of fact it does, in a way that's entirely appropriate. Warnings are introducted as an option right away, and all of the examples use them.
"use strict" is introduced in Chapter 8 at the same time that user-defined subroutines are instroduced, and used in all of the examples (where necessary) after that point. The most useful parts of "use strict" have to do with variable declarations (strict 'vars'). It's brought up again in the chapter on references (13) because of strict 'refs'.
Introducing strict earlier than necessary and telling people to just "declare everything with my()" is just cargo-cult programming.
Taintedness is brought up in the second chapter on CGI programming (the first is "Hello, World"). Again, no earlier than necessary and only when appropriate. When simple forms are introduced there's an entire section on topics like server-side checking values sent from CGI forms, encrypting form data, and so on.
--Author of Teach Yourself Perl in 24 Hours
PS: I really liked Kevin and Brent's book as well, enough that I volunteered to tech review it along with hoardes of others.
The sight of 2 dozen game heads should put off even the most drunken thug so security while open should not be a problem.
The sight of two dozen game heads would also scare off any kind of casual patron to an "internet cafe." Have you seen them in action?
Or put another way; in the heyday of the 80's a lot of places tried merging their business with arcades. (Think pizza parlors and video games.) There aren't really many success stories of either living in harmony with the other. Gamers aren't going to sip coffee, nibble food, and spend money outside of the games -- you'd better make all of your money right there at the console. The gamers (and the crowd that goes along) are going to be loud, disruptive, and generally a pain in the ass to anyone who's dropping in and doesn't intend on playing the games.
Correct, but you didn't go far enough. Jar Jar is the new Ewoks or Droids depending on the movie. Lucas' mythos always has in it a character that's essentially ignorant to the ways of the world and that the Force protects and uses to its own devices.
If those characters were smarter, they'd be immune to the blessings of Dumb Luck or they'd try to manipulate it for their own purposes.
"In tests, volunteers attempted in vain to walk across a lawn sprayed with the slime, and in fact, had they not been safety-harnessed during the tests, many would have broken bones"
First, nowhere in either of these links (or resources noted) did I see anything about potentially broken bones. Second, no bones were actually broken by anybody.:) Thirdly, other than my grandmother, what kind of person is going to have serious injuries from a slip and fall on a lawn? Did they clean out a nursing home for the tests?
Actually a compound acronym. At Ford Motor Corp, the FSIC was:
Ford Systems Integration Center
Where we did things like design the common system platforms used throughout the company. We had Windows teams, Mail teams, Unix teams, Server teams, Client teams, etc...
I was assigned to the Unix Client Team. The group name was:
f) Variation of b: pop open a dialog box for each error and continue processing. The joy of finding 8,347 modal "Error 92 [OK?]" dialogs on your desktop in the morning, and having to close each one of them to get back to the application to diagnose it earns you a special place in hell.
The technology for arcade games to have physical feedback to the user is well over 100 years old.
Go to an antique arcade (here's one) and look around a bit. There's machines that use electrical stimulation (low-voltage applied across the handles) and machines that use mechanical feedback (vibration, pulling, pushing). Many of these machines date from the 19th century.
Another good book for those interested in this kind of thing is the Botany of Desire. In the first quarter of the book he exaplains why apples grown from seed will never "come true" to their parents -- the fruit grown from a seed won't resemble the parent trees' fruit.
He goes on to do similar explanations with potatoes, tulips, and marijuana.
If the creators and producers of Spongebob Squarepants quit, Nickelodeon would kill them and bring them back as mind-altered gholas to continue the show. This is an extremely hot property for Nick and they'd do anything under heaven and earth to keep it (so long as it stays this popular).
Invader Zim, on the other hand, does a lot to miss Nick's target audience and so has declining ratings, and... well, just isn't that impressive (IMHO).
Ha! A real geek's watch...
on
Binary Watch
·
· Score: 1
would have displayed the in Octal or Hex saving valuable display space for other information.
At the tone the time will be A F and 31 seconds. beep
The best archival storage medium I've heard of is CDR
Wrong. For all we know in 50 years CDR's will melt into piles of sticky goo. Film degrades, plastic becomes brittle, metal oxidizes, and memories fade.
The most long lasting archival storage medium is clay tablets or carved stone buried in very dry sand or caves. We've got accounting data and love notes from mesopotamia going back +3K years that's still quite readable. Finding a cuneiform font isn't the hard part, it's finding a printer that feeds wet clay properly...
Too bad there aren't enough Macs out there to support a viable virus. Do they still make Macs?
Re:Sweet! Hyperoperators!
on
Apocalypse 3
·
· Score: 1
I really dislike having a concatenation operator that's a valid identifier character. There's just no reason for it.
And I don't completely buy the excuse that we're running out of punctuation characters. If you're going to jumble some of them up and talk about the "Huffman" reason for picking multi-character operators for some and not for others: let's do a little more housecleaning. Get rid of the bit operators as punctuation characters and make them named operators. That frees up some punctuaction for something that's not used very often anyway.
BTW, if you're under the impression that they're used frequently try:
for i in `find/usr/local/lib/perl5 -name *.pm`; do if perl -wc $i >/dev/null 2> then perl -MO=Terse $i | grep 'bit_'; fi done >> bitops
Sure it doesn't pick up everyhing (late compilation), but in the 1056 files I have there I had exactly 7 occurances of bit operators. This does not impress me enough to use valuable punctuation.
I've got a 9ft dish on my garage you can have (along with receivers, cables, etc...) and all ya gotta do is cart it away. It worked as recently as 6 months ago (I can't stand fiddling with it and got cable).
I've also got lots of CB, shortwave and other antennas that came with the house. If you're in the Detroit area, and want some free stuff, mail to clintp@geeksalad.org.
Personally, some of my best programming has been done after long and careful consideration of what I was about to do. Sometimes brilliant solutions occur in a flash, and for my the most common times for this are:
Explaining the problem to someone else.
On a long car trip (commuting to work used to provide ample design time).
In the shower in the morning.
Whereas those times when I've pounded away at a problem in front of a computer for hours on end tend to give solutions that work, but I'd hardly call them elegant or robust...
But I never imagined that the Free Software Movement would spawn a watered-down alternative, the Open Source Movement, which would become so well-known that people would ask me questions about "open source" thinking that I work under that banner.
All insane, militant, extremist, dogmatic and propaganda-filled jihads eventually spawn a more moderate branch. The moderate movements tend to be the ones that catch on. This is how life works.
Not everyone wants to be a 'card-carrying' lunatic in order to bring about some change for the good.
Agreed. I think the original author missed some points, which a lot of people do, by not looking at storage in a historical perspective. If you take the long view, analog storage on paper is a very reliable and proven technology for preserving data for the long haul.
We've recovered data from thousands of years ago on crubled bits of paper that are still quite legible despite the decay, and that paper was a new technology for some civilizations then.
[Of course, a better argument can be made for simply using clay tablets and inscriptions in stone. We've recovered carvings MUCH older than anything that's been found on paper. But you have to draw the line for convenience somewhere. ]
Any modern technology you're relying on is bound to be inadequate. Think about this: every technology for information storage invented in the last 200 years has failed for long-term use. A thousand years from now they'll look back on the 1880-2000 as a series of dark ages. The only thing that will remain are the paper records. Even paper that's badly treated remains ledgible for long periods. There are archeological surveys going on now in garbage dumps for large cities (NY, for example) that are finding well preserved newspapers from half a century ago. Newspaper is not a good paper, and newspaper ink is a poor ink. This says a lot for the staying power of a good technology.
Film deteriorates, magnetic media loses bits and the substrates crack and crumble, records lose crispness, wax and foil canisters wear out. Take magnetic media for example: it was thought that with careful storage and infrequent use this stuff would last a long time. As it turns out, magnetic tape barely lasts 15 years under the best of conditions. We simply don't have enough experience with these technologies to know if they'll work.
Just because your 10 year old CD's can still be played today, doesn't mean they'll work in 2025. As a technological culture, we don't have enough experience with the materials to know. Old transparent plastics grow cloudy eventually--optical storage will probably not be your saviour in the 21st century either.
At least until we've had a century (or two, or three) to observe technologies like CD-ROM will we know how they'll work for long-term storage. Until then, don't bet the farm.
This is just stupid. Whoever allowed this post to get onto Slashdot should have his propeller beanie and pocket protector taken away.
I read Slashdot to avoid the off-topic crap in Usenet. Does Katz now have a license to post whatever pleases him?
Offtopic PS: I agreed with everything Katz said, but this is just not the forum for it.
Re:A few comments..On faces, I disagree.
on
Review:Toy Story 2
·
· Score: 1
I disagree: obscuring the faces of adults in Toy Story is the correct treatment for this kind of film. Most of the film takes place at the eye level of children or of the toys. From that perspective, adults are faceless!
Try it. Get on your knees (or slither around) and look at the world a bit. Adults really have no faces from down there. All you see are thighs, butts, bellies and knees.
The growth of developers on any project cannot be exponential or, for that matter, anthing much steeper than linear. The Mythical Man Month predicted this 25 years ago. The larger a development group gets, the more complex the interactions between the developers become--and the project eventually becomes self-limiting unless Herculean effort is used to overcome this effect.
There are extraordinary exceptions of course, but these are due to management skills that far exceed anything you or I know how to deal with.
Agreed! Or give a preferences option to somehow filter out everything below a troll. A lot of times the responder to a troll makes a good point, but quotes all or part of the prior article.
It'd be nice to just "taint" the responses to trolls and be able to avoid those posts as well.
"use strict" is introduced in Chapter 8 at the same time that user-defined subroutines are instroduced, and used in all of the examples (where necessary) after that point. The most useful parts of "use strict" have to do with variable declarations (strict 'vars'). It's brought up again in the chapter on references (13) because of strict 'refs'.
Introducing strict earlier than necessary and telling people to just "declare everything with my()" is just cargo-cult programming.
Taintedness is brought up in the second chapter on CGI programming (the first is "Hello, World"). Again, no earlier than necessary and only when appropriate. When simple forms are introduced there's an entire section on topics like server-side checking values sent from CGI forms, encrypting form data, and so on.
--Author of Teach Yourself Perl in 24 Hours
PS: I really liked Kevin and Brent's book as well, enough that I volunteered to tech review it along with hoardes of others.
Or put another way; in the heyday of the 80's a lot of places tried merging their business with arcades. (Think pizza parlors and video games.) There aren't really many success stories of either living in harmony with the other. Gamers aren't going to sip coffee, nibble food, and spend money outside of the games -- you'd better make all of your money right there at the console. The gamers (and the crowd that goes along) are going to be loud, disruptive, and generally a pain in the ass to anyone who's dropping in and doesn't intend on playing the games.
Just ask Ogdenville, North Haverbrook, and Brockway!
Well, sir, there's nothing on earth like a genuine, bona fide, electrified, six-car monorail!
Correct, but you didn't go far enough. Jar Jar is the new Ewoks or Droids depending on the movie. Lucas' mythos always has in it a character that's essentially ignorant to the ways of the world and that the Force protects and uses to its own devices.
If those characters were smarter, they'd be immune to the blessings of Dumb Luck or they'd try to manipulate it for their own purposes.
Where we did things like design the common system platforms used throughout the company. We had Windows teams, Mail teams, Unix teams, Server teams, Client teams, etc...
I was assigned to the Unix Client Team. The group name was:
And we truly were FUCT.
f) Variation of b: pop open a dialog box for each error and continue processing. The joy of finding 8,347 modal "Error 92 [OK?]" dialogs on your desktop in the morning, and having to close each one of them to get back to the application to diagnose it earns you a special place in hell.
Go to an antique arcade (here's one) and look around a bit. There's machines that use electrical stimulation (low-voltage applied across the handles) and machines that use mechanical feedback (vibration, pulling, pushing). Many of these machines date from the 19th century.
There's nothing *new* about this at all.
He goes on to do similar explanations with potatoes, tulips, and marijuana.
If the creators and producers of Spongebob Squarepants quit, Nickelodeon would kill them and bring them back as mind-altered gholas to continue the show. This is an extremely hot property for Nick and they'd do anything under heaven and earth to keep it (so long as it stays this popular).
Invader Zim, on the other hand, does a lot to miss Nick's target audience and so has declining ratings, and... well, just isn't that impressive (IMHO).
At the tone the time will be A F and 31 seconds. beep
Wrong. For all we know in 50 years CDR's will melt into piles of sticky goo. Film degrades, plastic becomes brittle, metal oxidizes, and memories fade.
The most long lasting archival storage medium is clay tablets or carved stone buried in very dry sand or caves. We've got accounting data and love notes from mesopotamia going back +3K years that's still quite readable. Finding a cuneiform font isn't the hard part, it's finding a printer that feeds wet clay properly...
Anything beyond that -- for the programmer -- is simply fluff and busywork to impress someone.
Too bad there aren't enough Macs out there to support a viable virus. Do they still make Macs?
And I don't completely buy the excuse that we're running out of punctuation characters. If you're going to jumble some of them up and talk about the "Huffman" reason for picking multi-character operators for some and not for others: let's do a little more housecleaning. Get rid of the bit operators as punctuation characters and make them named operators. That frees up some punctuaction for something that's not used very often anyway.
BTW, if you're under the impression that they're used frequently try: Sure it doesn't pick up everyhing (late compilation), but in the 1056 files I have there I had exactly 7 occurances of bit operators. This does not impress me enough to use valuable punctuation.
I've got a 9ft dish on my garage you can have (along with receivers, cables, etc...) and all ya gotta do is cart it away. It worked as recently as 6 months ago (I can't stand fiddling with it and got cable). I've also got lots of CB, shortwave and other antennas that came with the house. If you're in the Detroit area, and want some free stuff, mail to clintp@geeksalad.org.
- Explaining the problem to someone else.
- On a long car trip (commuting to work used to provide ample design time).
- In the shower in the morning.
Whereas those times when I've pounded away at a problem in front of a computer for hours on end tend to give solutions that work, but I'd hardly call them elegant or robust...All insane, militant, extremist, dogmatic and propaganda-filled jihads eventually spawn a more moderate branch. The moderate movements tend to be the ones that catch on. This is how life works.
Not everyone wants to be a 'card-carrying' lunatic in order to bring about some change for the good.
We've recovered data from thousands of years ago on crubled bits of paper that are still quite legible despite the decay, and that paper was a new technology for some civilizations then.
[Of course, a better argument can be made for simply using clay tablets and inscriptions in stone. We've recovered carvings MUCH older than anything that's been found on paper. But you have to draw the line for convenience somewhere. ]
Any modern technology you're relying on is bound to be inadequate. Think about this: every technology for information storage invented in the last 200 years has failed for long-term use. A thousand years from now they'll look back on the 1880-2000 as a series of dark ages. The only thing that will remain are the paper records. Even paper that's badly treated remains ledgible for long periods. There are archeological surveys going on now in garbage dumps for large cities (NY, for example) that are finding well preserved newspapers from half a century ago. Newspaper is not a good paper, and newspaper ink is a poor ink. This says a lot for the staying power of a good technology.
Film deteriorates, magnetic media loses bits and the substrates crack and crumble, records lose crispness, wax and foil canisters wear out. Take magnetic media for example: it was thought that with careful storage and infrequent use this stuff would last a long time. As it turns out, magnetic tape barely lasts 15 years under the best of conditions. We simply don't have enough experience with these technologies to know if they'll work.
Just because your 10 year old CD's can still be played today, doesn't mean they'll work in 2025. As a technological culture, we don't have enough experience with the materials to know. Old transparent plastics grow cloudy eventually--optical storage will probably not be your saviour in the 21st century either.
At least until we've had a century (or two, or three) to observe technologies like CD-ROM will we know how they'll work for long-term storage. Until then, don't bet the farm.
I read Slashdot to avoid the off-topic crap in Usenet. Does Katz now have a license to post whatever pleases him?
Offtopic PS: I agreed with everything Katz said, but this is just not the forum for it.
Try it. Get on your knees (or slither around) and look at the world a bit. Adults really have no faces from down there. All you see are thighs, butts, bellies and knees.
There are extraordinary exceptions of course, but these are due to management skills that far exceed anything you or I know how to deal with.
It'd be nice to just "taint" the responses to trolls and be able to avoid those posts as well.