Plus the one thing that people do not think about on electric and hybrids is the batteries. They are a nightmare to dispose or recycle.
You're telling me! My car runs on 9,624 AA alkaline batteries. They only last about 30 miles, and when they conk out I have to use up the ones on my second car just to drive them to the dump...
So? I don't agree with him either (on most of that stuff anyway). But he certainly has the right to say whatever the hell he wants.
I certainly agree. That's why I would never support censoring him. I didn't even say that people should avoid his work. Merely that there's a simple, legal way for people to read "Cerebus" without actually giving money to the author of "Tangents".
I was a BIG fan long ago, especially of his excellent work in "High Society" through "Church & State".
But I stopped buying and even *reading* his books after I came across his shrill little misogynistic ravings back in "Reads". I refuse to give any more of my attention to anything produced by Sim's paranoid, emotionally-insecure, sexually-frustrated mind.
But if you absolutely HAVE to read his stuff, do the world a favor and BORROW the books instead of buying them. Money will only encourage him to write more.
Your honour, we know everyone says "google" and thinks of that 10^100 number, but really, we called our search engine "go-ogle", meaning "go look". That "google" word is just a strange coincidence...
I'm looking at the photos of the guy running through the streets with "ghosts" in pursuit, while supposedly in contact with the "general" for advice, and all I keep hearing is:
"Mister Wizard! Get me the hell out of here!"
So: is a real-world "Matrix" game that far behind?:-)
So I guess if evildoers are spotted, the blimp just drops rapidly to the ground, suffocating them (and an entire city block) beneath its flabby white skin.
IIRC, the goal of -T is not to prevent you from *ever* using tainted data; it was to prevent accidents: running shell scripts with insecure $PATH variables, etc.
Untainting a variable by extracting a subpattern usually means "I know what I'm doing: I promise that I'll extract a safe substring from this". (Whether the developer *actually* knows what they're doing is, sadly, not detectable by Perl).
(As for -T not affecting a list passed to exec()/system(): that does seem odd, but maybe there's some Larger Purpose to it that I don't get).
BTW: I think it would have been better if you explicitly had to invoke some function like untaint() or this_is_safe_to_use_in_shell_commands()... just to make you think about it.
But imperfect as it is, -T beats the pants off the alternative approach that most languages give you, which is "You're On Your Own, Sucka".
Perl programmers interested in writing secure scripts should *definitely* know about the -T (taint checking flag).
From the FAQ:
As we've seen, one of the most frequent security problems in CGI scripts is inadvertently passing unchecked user variables to the shell. Perl provides a "taint" checking mechanism that prevents you from doing this. Any variable that is set using data from outside the program (including data from the environment, from standard input, and from the command line) is considered tainted and cannot be used to affect anything else outside your program. The taint can spread. If you use a tainted variable to set the value of another variable, the second variable also becomes tainted. Tainted variables cannot be used in eval(), system(), exec() or piped open() calls. If you try to do so, Perl exits with a warning message. Perl will also exit if you attempt to call an external program without explicitly setting the PATH environment variable.
This is the number one java peeve. Every time I just want to make a structure I've got to make a whole class. That's a whole file. That's a whole lot of extra code. In C/C++ I can make an equivalent struct in a few lines.
You can do this in Java too. You can declare a tiny helper class -- without methods or explicit constructors if you like -- inside another class. No need to put it in its own file.
They're called "inner classes", and you can declare them static (so they act like a regular class) or non-static (in which case every instance of the inner "member" class has an invisible reference to the creating instance of the outer class.
You can even declare one inside a method (useful for one-shot implementations of interfaces) -- those are called "anonymous inner classes".
Very powerful, and very flexible.
I find that nearly everyone who criticizes Java is either using an ancient implementation (e.g., JDK 1.1.7, for applets), or they simply haven't explored the language fully.
A shame your XML designer didn't put more thought into it, because they could have just chosen to represent:
LIN:0001
as:
<LIN ID="0001"/>
As for that semi-colon, I don't know what you're talking about: it's not XML. By the way, XML solves the problem of:-separated values with embedded lists; e.g., consider the well-meaning format:
FIRSTNAME:LASTNAME:PHONE:EID
All's well until someone comes along with multiple phone numbers. Then we get people hacking in stuff like this:
Fred:Jones:123-4567;123-4589:24601
so some app that's worked fine up until now reads Fred's phone number as:
123-4567;123-4589
and breaks. Under XML, no accidental breakage of that sort, and self-documenting besides:
A lot of XML apps which expect a single would probably degrade gracefully by taking just the first or the last one. No need to scramble and recode a lot of libraries just because your data has changed a little.
You can even add info to the phone element, all without breaking apps that don't look for it:
Even more damningly, a fundamental precondition of technological solutions is the ability to force the other guy or gal to play by your technological rules. Setting the do-not-forward bit on your email is useless unless email clients respect that bit. Therefore: Palladium. Therefore: the broadcast flag. Therefore: certificate authorities. Therefore: the IPv6 Forum. Therefore: the DVD Content Control Association. All of these institutions are devoted to the widespread distribution of compliance. They encourage and/or coerce the adoption of their preferred technologies in many different ways, but the underlying idea is always the same: create a forum within which certain rules of behavior are enforced at the architectural level.
Except that in the case of email,
you can't. Repeat after me, kids:
Anything that can be read, can be copied.
Anything that can be read, can be copied.
Anything that can be read, can be copied.
All you can do is make it difficult
or illegal.
But give me the most-secure email system, and I can probably do any of these:
I can print the damn thing out and xerox it.
I can do a screen capture and run the image
file through OCR, and email that.
I can dictate it as I read and record a.wav file (or pump it through a
speech-to-text engine).
But by all means, if someone wants to develop a huge expensive system that "guarantees" uncopyable email, be my guest. It'll be good for laughs.
First, you don't have to reference a DTD to produce valid XML. SAX/DOM parsers will work just fine on a document without a DTD.
Second, you can have "binary" data in an XML document. Just base64 encode it.
Third: the point of going to XML if you're just going to produce a mess? Simple.
You get to claim openness.
Most PHBs probably don't know the difference between turly structured, stable, "open" XML, and syntactically-correct but semantically-useless XML.
Or it could have been the rabbit, because (given your three example answers) it's the only one which was *not* a possible candidate for an animal which didn't belong... and hence, it doesn't belong.
They're not, anymore than you are likely to sift through the reams of data that have been produced on DOS-formatted floppies, DAT tapes, reel-to-reels, punch cards, or paper spools.
Those letters you mention were written on a relatively durable medium (old paper) which does not require a special machine for decoding. This is not true of hard drives, optical storage, etc. Even modern paper is bad, unless it's acid-free.
And don't expect Google's "wayback" machines to be around 100 years from now. Companies disappear. Technology changes.
If you want your words to survive for 300 years, I suggest you print them out on acid-free paper and staple the hardcopy to the back of a large and very tasteful painting. Or chisel them into a big rock.
BTW, an excellent book on the durability of information -- and the astounding benefits of transparency -- is "The Clock of the Long Now".
The speed of light -is- always constant in one sense,
simply because the length of 1 meter is defined by the distance light travels in a set time.
I believe you've actually hit a very subtle nail right on the head, here, related to string theory. This principle becomes even more important if you look back in time to the Big Bang:
Disclaimer: I am not a physicist
Basically, imagine that you're running time backwards, and watching the Big Bang in reverse. As you get closer to time 0, the universe "shrinks" in size towards a radius of the Planck length R. But as it does so, photons (actually, all particles) start behaving differently.
Radius R=1 is where the weirdness happens:
photons in a universe of radius n*R (n>1)
resemble completely different particles
in a corresponding universe of radius 1/(n*R),
but they look more and more like each other
as the radius drops to exactly R, where (from
the perspective of string theory's winding/vibrational energies),
they are identical... and as the radius drops
to below R, they change places.
Each now has the characteristics of the other.
It gets weirder:
a universe of radius n*R is indistinguishable from a universe of radius 1/(n*R),
since "radius" is a length,
and "length" measurements (e.g.,
"one light year") depend on what you define as the "photon".
What makes this cool is that, from one
perspective, there can be no "Big Crunch"
where the universe collapses to a point:
the universe can never shrink "smaller" than
radius R, because once it does, it "really"
is getting larger again [as measured by the
photon's twin particle]. I believe this is
called the "Big Bounce" theory.
Ok, there were probably a lot of mistakes
above, but I think that's the gist of it.
So, I'm not surprised to hear that light might have behaved differently when the universe was a slightly-smaller size.
The WONderful thing about using GUIs to develop solutions in problem domain X
is that by the time the GUI has been coded,
shipped, and is on your computer,
what you really need is something
which solves problem X', or even problem Y.
Case in point:
When I first started coding Java GUIs, I
used JBuilder's GUI-based GUI designer.
I still think that it rocks.
But now that I know more than the basics,
I use Emacs, and copy-and-paste from prior
implementations. Why?
Because I want to color outside
of JBuilder's [simple] box, and have
more control over how the code is organized.
Because now that I know some of the finer
points of threads, etc., I can produce
cleaner GUI code than JBuilder can.
Because JBuilder gets confused if my
code deviates too much from their expectations,
and I got tired of dumbing things down
to suit the GUI builder.
Tools are great... if you don't mind the
fact that you can only do what the tool builder
lets you do.
Now read that last sentence again, and
remember who the tool builder of VisualStudio
is.
Where do I want to go today?
Whereever I damn well please, thank you.
Re:Where have I heard this before?
on
Microsoft Freon
·
· Score: 2
How to deal with these PR releases, then?
Simple. Just ignore them, and do what you were planning to do before they came out.
And convince others to do likewise.
Remember, the MS PR dept is not telling you what the company will actually do...
it's telling you what they want investors (and competitors) to think it's going to do.
Yes, this is true for all companies, but MS seems say "oh, us too, we do that" more often than most, perhaps precisely for the "watch competition die off" point you mention.
Heck, if you can hang in there long enough, MS will probably eliminate most of your competition for you, then hopefully get bored and move onto promoting their Next Big Thing.
If you've never read Lem before, a real good place to start -- complete mindless fun -- is "Cyberiad". It's a series of fables set in a distant past/future concerning a society of robots... in particular, two inventors who constantly try to outdo each other.
You will no doubt come across snippets that you have seen before in/. sigs.
I am really getting tired of Microsofts attitude
towards this whole trial.
Attitude, hell... I'm getting tired of the fact that the DOJ has been humoring it. In what other court case can you think of where, after the conviction (upheld on appeal) the judge basically says...
"Gee, guys... given that you're guilty and all, umm, you know... would it be okay, if, like, you maybe met with the injured parties and agreed on a sentence that was a little, you know, inconvenient for you? If that's ok with you, of course..."
I wonder if we can combine the old and new worlds... e.g., turn all the obsolete lighthouses into cell towers...
You're telling me! My car runs on 9,624 AA alkaline batteries. They only last about 30 miles, and when they conk out I have to use up the ones on my second car just to drive them to the dump...
I certainly agree. That's why I would never support censoring him. I didn't even say that people should avoid his work. Merely that there's a simple, legal way for people to read "Cerebus" without actually giving money to the author of "Tangents".
I was a BIG fan long ago, especially of his excellent work in "High Society" through "Church & State".
But I stopped buying and even *reading* his books after I came across his shrill little misogynistic ravings back in "Reads". I refuse to give any more of my attention to anything produced by Sim's paranoid, emotionally-insecure, sexually-frustrated mind.
But if you absolutely HAVE to read his stuff, do the world a favor and BORROW the books instead of buying them. Money will only encourage him to write more.
Your honour, we know everyone says "google" and thinks of that 10^100 number, but really, we called our search engine "go-ogle", meaning "go look". That "google" word is just a strange coincidence...
I'm looking at the photos of the guy running through the streets with "ghosts" in pursuit, while supposedly in contact with the "general" for advice, and all I keep hearing is:
:-)
"Mister Wizard! Get me the hell out of here!"
So: is a real-world "Matrix" game that far behind?
Yah, "Rover".
So I guess if evildoers are spotted, the blimp just drops rapidly to the ground, suffocating them (and an entire city block) beneath its flabby white skin.
Oh, no, wait.. I'm thinking of Rush Limbaugh...
IIRC, the goal of -T is not to prevent you from *ever* using tainted data; it was to prevent accidents: running shell scripts with insecure $PATH variables, etc.
Untainting a variable by extracting a subpattern usually means "I know what I'm doing: I promise that I'll extract a safe substring from this". (Whether the developer *actually* knows what they're doing is, sadly, not detectable by Perl).
(As for -T not affecting a list passed to exec()/system(): that does seem odd, but maybe there's some Larger Purpose to it that I don't get).
BTW: I think it would have been better if you explicitly had to invoke some function like untaint() or this_is_safe_to_use_in_shell_commands()... just to make you think about it.
But imperfect as it is, -T beats the pants off the alternative approach that most languages give you, which is "You're On Your Own, Sucka".
Perl programmers interested in writing secure scripts should *definitely* know about the -T (taint checking flag).
From the FAQ:
As we've seen, one of the most frequent security problems in CGI scripts is inadvertently passing unchecked user variables to the shell. Perl provides a "taint" checking mechanism that prevents you from doing this. Any variable that is set using data from outside the program (including data from the environment, from standard input, and from the command line) is considered tainted and cannot be used to affect anything else outside your program. The taint can spread. If you use a tainted variable to set the value of another variable, the second variable also becomes tainted. Tainted variables cannot be used in eval(), system(), exec() or piped open() calls. If you try to do so, Perl exits with a warning message. Perl will also exit if you attempt to call an external program without explicitly setting the PATH environment variable.
No, you don't need another file.
.h file.
Just declare the inner class "public" and "static", and any other class will be able to use it exactly as if it were in its own file.
For class "Inner" inside of class "com.xyz.Outer", the full class name is "com.xyz.Outer.Inner" - just as if it were in its own package.
Easy as C++... easier, in fact, since you don't need the separate
You can do this in Java too. You can declare a tiny helper class -- without methods or explicit constructors if you like -- inside another class. No need to put it in its own file.
They're called "inner classes", and you can declare them static (so they act like a regular class) or non-static (in which case every instance of the inner "member" class has an invisible reference to the creating instance of the outer class.
You can even declare one inside a method (useful for one-shot implementations of interfaces) -- those are called "anonymous inner classes".
Very powerful, and very flexible.
I find that nearly everyone who criticizes Java is either using an ancient implementation (e.g., JDK 1.1.7, for applets), or they simply haven't explored the language fully.
A shame your XML designer didn't put more thought into it, because they could have just chosen to represent:
/>
:-separated values with embedded lists; e.g., consider the well-meaning format:
LIN:0001
as:
<LIN ID="0001"
As for that semi-colon, I don't know what you're talking about: it's not XML. By the way, XML solves the problem of
FIRSTNAME:LASTNAME:PHONE:EID
All's well until someone comes along with multiple phone numbers. Then we get people hacking in stuff like this:
Fred:Jones:123-4567;123-4589:24601
so some app that's worked fine up until now reads Fred's phone number as:
123-4567;123-4589
and breaks. Under XML, no accidental breakage of that sort, and self-documenting besides:
<user>
<firstname>Fred</firstname>
<lastname>Jones</lastname>
<phone>123-4567</phone>
<phone>123-4589</phone>
<id>24601</id>
</user>
A lot of XML apps which expect a single would probably degrade gracefully by taking just the first or the last one. No need to scramble and recode a lot of libraries just because your data has changed a little.
You can even add info to the phone element, all without breaking apps that don't look for it:
<phone type="home">123-4567</phone>
I have windows in my house, my car, etc, and they have nothing to do with Microsoft.
...yet.
Luv, BillG.
Except that in the case of email, you can't. Repeat after me, kids:
All you can do is make it difficult or illegal. But give me the most-secure email system, and I can probably do any of these:
But by all means, if someone wants to develop a huge expensive system that "guarantees" uncopyable email, be my guest. It'll be good for laughs.
First, you don't have to reference a DTD to produce valid XML. SAX/DOM parsers will work just fine on a document without a DTD.
Second, you can have "binary" data in an XML document. Just base64 encode it.
Third: the point of going to XML if you're just going to produce a mess? Simple. You get to claim openness. Most PHBs probably don't know the difference between turly structured, stable, "open" XML, and syntactically-correct but semantically-useless XML.
Or it could have been the rabbit, because (given your three example answers) it's the only one which was *not* a possible candidate for an animal which didn't belong... and hence, it doesn't belong.
We should throw a party in a month.
:-}
And just think! In one more year, smiley
will be old enough to buy beer legally!
{hic}
They're not, anymore than you are likely to sift through the reams of data that have been produced on DOS-formatted floppies, DAT tapes, reel-to-reels, punch cards, or paper spools.
Those letters you mention were written on a relatively durable medium (old paper) which does not require a special machine for decoding. This is not true of hard drives, optical storage, etc. Even modern paper is bad, unless it's acid-free.
And don't expect Google's "wayback" machines to be around 100 years from now. Companies disappear. Technology changes.
If you want your words to survive for 300 years, I suggest you print them out on acid-free paper and staple the hardcopy to the back of a large and very tasteful painting. Or chisel them into a big rock.
BTW, an excellent book on the durability of information -- and the astounding benefits of transparency -- is "The Clock of the Long Now".
The speed of light -is- always constant in one sense, simply because the length of 1 meter is defined by the distance light travels in a set time.
I believe you've actually hit a very subtle nail right on the head, here, related to string theory. This principle becomes even more important if you look back in time to the Big Bang:
Disclaimer: I am not a physicist
Basically, imagine that you're running time backwards, and watching the Big Bang in reverse. As you get closer to time 0, the universe "shrinks" in size towards a radius of the Planck length R. But as it does so, photons (actually, all particles) start behaving differently.
Radius R=1 is where the weirdness happens: photons in a universe of radius n*R (n>1) resemble completely different particles in a corresponding universe of radius 1/(n*R), but they look more and more like each other as the radius drops to exactly R, where (from the perspective of string theory's winding/vibrational energies), they are identical... and as the radius drops to below R, they change places. Each now has the characteristics of the other.
It gets weirder: a universe of radius n*R is indistinguishable from a universe of radius 1/(n*R), since "radius" is a length, and "length" measurements (e.g., "one light year") depend on what you define as the "photon".
What makes this cool is that, from one perspective, there can be no "Big Crunch" where the universe collapses to a point: the universe can never shrink "smaller" than radius R, because once it does, it "really" is getting larger again [as measured by the photon's twin particle]. I believe this is called the "Big Bounce" theory.
Ok, there were probably a lot of mistakes above, but I think that's the gist of it. So, I'm not surprised to hear that light might have behaved differently when the universe was a slightly-smaller size.
Exactly.
The WONderful thing about using GUIs to develop solutions in problem domain X is that by the time the GUI has been coded, shipped, and is on your computer, what you really need is something which solves problem X', or even problem Y.
Case in point:
When I first started coding Java GUIs, I used JBuilder's GUI-based GUI designer. I still think that it rocks. But now that I know more than the basics, I use Emacs, and copy-and-paste from prior implementations. Why?
Tools are great... if you don't mind the fact that you can only do what the tool builder lets you do.
Now read that last sentence again, and remember who the tool builder of VisualStudio is.
Where do I want to go today? Whereever I damn well please, thank you.
How to deal with these PR releases, then?
Simple. Just ignore them, and do what you were planning to do before they came out. And convince others to do likewise.
Remember, the MS PR dept is not telling you what the company will actually do... it's telling you what they want investors (and competitors) to think it's going to do.
Yes, this is true for all companies, but MS seems say "oh, us too, we do that" more often than most, perhaps precisely for the "watch competition die off" point you mention.
Heck, if you can hang in there long enough, MS will probably eliminate most of your competition for you, then hopefully get bored and move onto promoting their Next Big Thing.
A wonderful passage (about different kinds of silence) from this classic novel can be found here.
Yes, that's him.
/. sigs.
:-)
If you've never read Lem before, a real good place to start -- complete mindless fun -- is "Cyberiad". It's a series of fables set in a distant past/future concerning a society of robots... in particular, two inventors who constantly try to outdo each other.
You will no doubt come across snippets that you have seen before in
MFiaB, tho, is one of my all-time favorites.
Attitude, hell... I'm getting tired of the fact that the DOJ has been humoring it. In what other court case can you think of where, after the conviction (upheld on appeal) the judge basically says...
"Gee, guys... given that you're guilty and all, umm, you know... would it be okay, if, like, you maybe met with the injured parties and agreed on a sentence that was a little, you know, inconvenient for you? If that's ok with you, of course..."