I am a broken record that repeats the words ProCD Inc. v. Zeidenberg whenever someone claims that EULA's are unenforcable. The unfortunate truth is that they have indeed been upheld in the past.
Given *any* algorithm, I can come up with a c++ implementation that is faster than a Java implementation. Period.
I'd like to see a C++ implementation of the Halting Problem that's faster than a Java implementation, please, thank you.
Oh, wait, you can't do that because nobody can write Halting.
I guess that means there are some algorithms for which you can't write a faster C++ version.
Actually his statement still holds. No algorithm exists that can decide the halting problem, so he can still say "for all algorithms, a C++ implementation can be written that is faster than a Java implementation."
But don't let me get in the way of you admiring how wise you are.
Next time, try less rhetoric and more facts. "There exist lots of algorithms for which I can code a C++ implementation that's faster than a Java implementation" is good. The instant you make a unilateral statement like the one you just made, though, it shows that you don't know as much about computer science as you think you know.
Get off it. Apparently you don't know as much about logical reasoning as you thought, or even Computer Science since you tried to call the halting problem an algorithm. Not to mention that the word "unilateral" makes no sense in this context; you probably meant "unequivocal" or "unqualified." Shall I find more things to pick on?
(Normally I wouldn't be this pedantic, but you are ripping on someone else based on pedantry and being rewarded with +5.)
Fact: there exist cases where Java is faster due to its ability to optimize on the fly.
The whole point of this critique is that any run-time optimization that Java can perform, a human can perform when they write the algorithm. In the end, all programs are executed by running machine instructions, and any set of instructions that a JVM emits/executes, a human can write manually to achieve exactly the same performance.
Re:He used g++ to compare C++ with Java...
on
Java Faster Than C++?
·
· Score: 3, Informative
Wow, what a strange way to evaluate functions that take more than one argument. I'm going to have to take some time to wrap my head around this.
I guess that would partially explain why it isn't notated compose(square, cos), because although that's the net effect it isn't actually evaluated that way.
Function application associates to the left, period.
My point is that it doesn't matter how simple the precedence rules are, if you have to move past looking to thinking to figure out what's going on, you're working too hard. This may seem like a whiny gripe, but I think it's significant. As functions become more complicated, it becomes really important to be able to understand the simple constructs without thinking at all if you are to have any hope of understanding the whole.
Two important things you don't mention are: (a) Python doesn't actually have a case statement; (b) O'Caml's match... with isn't strictly equivalent to the case statement from most languages:
You're missing my point. I'm not saying that this algorithm is easier to understand when you write it in Python. I'm saying that the power of OCaml's language constructs, which I recognize as being different than most languages, would be more useful if the syntax was more immediately decypherable. I was giving an alternate syntax for OCaml's language constructs, based on Python syntax, that is more readable to me.
Well-placed punctuation is really important to making languages understandable, IMO. I know you're a natural language expert so I'm reluctant to go here, but imagine if we replaced commas with the keyword "comma" and the period with the keyword "full stop." I believe this would make natural language drastically less readable comma because it doesn't give our eye a hint about where one thing begins and the next ends full stop This is the same way I feel when I read "let rec member x btree" or "compose square cos" full stop Sure I can figure it out given enough time comma but why should I have to work that hard?
I've tried learning OCaml a few times, and my biggest gripe with it was the syntax. One problem was that it seemed like every time I managed to wrap my head around a new syntactic construct, the tutorial would say "since that's too long to write, we use this shorthand to mean the same thing." So now I have to learn a new construct that does the same thing but also try to remember how it relates to the longer version.
Another problem is that there is very little punctuation that gives your eye any aid in seeing structure. Very often you get a bunch of keywords and identifiers in a row with no delimeters at all! A simple example of this from the tutorial:
let cos2 = compose square cos;;
Come on, cut me some slack! Is this compose(square(cos)) or (compose(square))(cos) or compose(square,cos)? I shouldn't have to think about precedence rules when I'm reading a function call, the syntax should make it clear what's going on! Another example:
let rec member x btree =
match btree with
Empty -> false
| Node(y, left, right) ->
if x = y then true else
if x < y then member x left else member x right;;
Compare this with a Python-like syntax:
let member(x, btree):
match(btree):
case Empty: False
case Node(y, left, right):
if(x = y): true
elif (x < y): member(x, left)
else: member(x, right)
I don't know about you, but to me the second example is a lot more readable. Readability is about making your eye see the structure without even trying. That's one of the reasons I like Python so much: I think it excels at making the structure unavoidably apparent.
Ocaml's definitely got some cool things going on, and I really respect the fact that smart people seem to gravitate towards it and get useful things done with it. If I ever learn it, I'm going to have to suck it up and deal with syntax I really don't like.
You have no idea how ignorant/misinformed that is, and how stupid it sounds.
The Aryan Nations are a complete joke. They're not even in town anymore; they got run out several years ago by a lawsuit that stripped them of their property (one of their security guards got overly ambitious and chased after a car that was driving by). At their peak, there were 10-15 of them, and the only time I ever saw them was when I went to one of their parades to see what they were like. I've never seen their former compound in four years of living there.
Their parades, BTW, were a complete joke too. The biggest one they ever had they dubbed the "100 man march," and they didn't even get 100 people -- even after flying in fellow racists from all over the country! Protesters always outnumbered marchers at least 10/1.
If there's anyone who dominates in Coeur d'Alene, it's Hagadone, who owns the big resort on the lake and the famous golf course with the floating golf green.
I find it hard to believe that your cousin could have lived in Coeur d'Alene for more than a week and been so clueless.
Actually, there are people in Coeur d'Alene who want the world to think dumb things about the area so they will stay away and not move here; the natives would rather keep this gorgeous area to themselves. It's quickly getting more crowded and traffic is getting worse.
You must be new here. You can *always* use that argument. Someone can *always* install a key recorder or watch you type in your password. Security is about raising barriers, not about thinking/searching for somthing that will solve the impossible.
That's precisely why you sound naive when you say things like "meanwhile, there's absolutely no risk of security." And you mislead newbies into thinking that there is such a thing as "absolutely no risk of security."
Congratulations, you've solved the one specific attack described in the article! It's true, you really have solved the security problem once and for all.
In that case I wonder if it will work with non-Apple base stations. How are you going to tell it what network to join/repeat if not through some custom protocol?
You have to have your internet wire and your stereo in the same place to use this thing, don't you? Most people have a stereo in a living room type place, but who has internet come into the house in your living room?
What an annoying attitude that guy has: no, I won't make it open source because evil people will steal it, but waaaah, it's too much work to port all on my own so don't ask.
Put 2+2 together, dude: if you let other people help you, it won't be so much work.
The blurb didn't say "Apple is benevolent and worth of praise." It also didn't say "Apple has done the most for open source." It said:
(1) Apple has embraced open source (they use it where it is appropriate, and often give back (KHTML, gcc)) (2) Apple is delivering a better consumer experience.
Sun gets beaten up because they are schizophrenic and have no clear vision.
Apple is often praised because they build things that people want and enjoy using (they have to because Microsoft is the default choice unless something else wins them away). Not because people think they are selfless angels.
Where'd you get a version of Carbon that's object oriented and threadsafe?
Ack, I meant Cocoa.
BeOS was hard to get over
on
Ten Years of BeOS
·
· Score: 5, Insightful
...but I think I've finally done it. OSX has a lot of nice features that are comparable to what BeOS brought to the table (for example, Carbon is on par with the BeOS APIs, and both are worlds ahead of Win32).
One thing that is still unmatched is the responsiveness of BeOS's GUI. I was running BeOS on a PII-300 in 1999, and none of today's operating systems can match the responsiveness I had, even on today's fastest machines. Window resizing and scrolling were rock-solid and flicker-free. As much as I love OSX, resizing and scrolling feel sluggish. Windows is better, but prone to flicker and outright delays if the application is busy doing something. The GUI in BeOS never missed a beat, largely due to pervasive multithreading of the core infrastructure.
I'm still a bit bitter that I suffered through high school calculus, which consisted mainly of practicing all the different integration formulas a lot. None of the notation was ever formally introduced or explained. I never had any idea how cool calculus was until I took physics (the only application we learned in calculus was finding the volume of solids created through surfaces of revolution, which is not that cool).
Oh, and here's my stab at explaining the purpose of "dx": since an integral is an infinite sum (or rather, a sum whose number of terms approaches infinity), without the "dx" the value of the integral would also be infinite. The "dx" are the infinitely small parts that are multiplied with the rest of the integral's terms (the width of the boxes, if you think about a discrete integral) that counteract the fact that the number of boxes (terms) is approaching infinity. I'm sure my language is very sloppy, but that's how I understand it.
One, EULAs have never shown to be legally binding.
Patently false. Why do people make authoritative-sounding claims without knowing what they're talking about?
ProCD vs Zeidenberg is an example of a case where a EULA was upheld as legally binding, and the opinion gives strong support for the enforcability of EULA's in general.
So stop spreading misinformation.
The reality is, the companies who use EULAs are abusing the system, and trying to treat a license like a contract.
Read the ProCD opinion, and become enlightened about the legal concept of contract of sale.
I agree, and would add to that: for the love of all that is decent and good, don't use JPEG for screenshots! I am amazed at how many people will do this. It looks positively awful, and makes it hard to get a sense for what the screen really looks like.
EULAs are non-binding anyway.
I am a broken record that repeats the words ProCD Inc. v. Zeidenberg whenever someone claims that EULA's are unenforcable. The unfortunate truth is that they have indeed been upheld in the past.
Oh, wait, you can't do that because nobody can write Halting.
I guess that means there are some algorithms for which you can't write a faster C++ version.
Actually his statement still holds. No algorithm exists that can decide the halting problem, so he can still say "for all algorithms, a C++ implementation can be written that is faster than a Java implementation."
But don't let me get in the way of you admiring how wise you are.
Next time, try less rhetoric and more facts. "There exist lots of algorithms for which I can code a C++ implementation that's faster than a Java implementation" is good. The instant you make a unilateral statement like the one you just made, though, it shows that you don't know as much about computer science as you think you know.
Get off it. Apparently you don't know as much about logical reasoning as you thought, or even Computer Science since you tried to call the halting problem an algorithm. Not to mention that the word "unilateral" makes no sense in this context; you probably meant "unequivocal" or "unqualified." Shall I find more things to pick on?
(Normally I wouldn't be this pedantic, but you are ripping on someone else based on pedantry and being rewarded with +5.)
Fact: there exist cases where Java is faster due to its ability to optimize on the fly.
The whole point of this critique is that any run-time optimization that Java can perform, a human can perform when they write the algorithm. In the end, all programs are executed by running machine instructions, and any set of instructions that a JVM emits/executes, a human can write manually to achieve exactly the same performance.
Or he could download Microsoft's optimizing C++ compiler for free.
Wow, what a strange way to evaluate functions that take more than one argument. I'm going to have to take some time to wrap my head around this.
I guess that would partially explain why it isn't notated compose(square, cos), because although that's the net effect it isn't actually evaluated that way.
Function application associates to the left, period.
... with isn't strictly equivalent to the case statement from most languages:
My point is that it doesn't matter how simple the precedence rules are, if you have to move past looking to thinking to figure out what's going on, you're working too hard. This may seem like a whiny gripe, but I think it's significant. As functions become more complicated, it becomes really important to be able to understand the simple constructs without thinking at all if you are to have any hope of understanding the whole.
Two important things you don't mention are: (a) Python doesn't actually have a case statement; (b) O'Caml's match
You're missing my point. I'm not saying that this algorithm is easier to understand when you write it in Python. I'm saying that the power of OCaml's language constructs, which I recognize as being different than most languages, would be more useful if the syntax was more immediately decypherable. I was giving an alternate syntax for OCaml's language constructs, based on Python syntax, that is more readable to me.
Well-placed punctuation is really important to making languages understandable, IMO. I know you're a natural language expert so I'm reluctant to go here, but imagine if we replaced commas with the keyword "comma" and the period with the keyword "full stop." I believe this would make natural language drastically less readable comma because it doesn't give our eye a hint about where one thing begins and the next ends full stop This is the same way I feel when I read "let rec member x btree" or "compose square cos" full stop Sure I can figure it out given enough time comma but why should I have to work that hard?
Another problem is that there is very little punctuation that gives your eye any aid in seeing structure. Very often you get a bunch of keywords and identifiers in a row with no delimeters at all! A simple example of this from the tutorial:
let cos2 = compose square cos;;
Come on, cut me some slack! Is this compose(square(cos)) or (compose(square))(cos) or compose(square,cos)? I shouldn't have to think about precedence rules when I'm reading a function call, the syntax should make it clear what's going on! Another example:Compare this with a Python-like syntax:I don't know about you, but to me the second example is a lot more readable. Readability is about making your eye see the structure without even trying. That's one of the reasons I like Python so much: I think it excels at making the structure unavoidably apparent.
Ocaml's definitely got some cool things going on, and I really respect the fact that smart people seem to gravitate towards it and get useful things done with it. If I ever learn it, I'm going to have to suck it up and deal with syntax I really don't like.
Perhaps you mean a hyphen (-) (not an apostrophe ('))?
You have no idea how ignorant/misinformed that is, and how stupid it sounds.
The Aryan Nations are a complete joke. They're not even in town anymore; they got run out several years ago by a lawsuit that stripped them of their property (one of their security guards got overly ambitious and chased after a car that was driving by). At their peak, there were 10-15 of them, and the only time I ever saw them was when I went to one of their parades to see what they were like. I've never seen their former compound in four years of living there.
Their parades, BTW, were a complete joke too. The biggest one they ever had they dubbed the "100 man march," and they didn't even get 100 people -- even after flying in fellow racists from all over the country! Protesters always outnumbered marchers at least 10/1.
If there's anyone who dominates in Coeur d'Alene, it's Hagadone, who owns the big resort on the lake and the famous golf course with the floating golf green.
I find it hard to believe that your cousin could have lived in Coeur d'Alene for more than a week and been so clueless.
Actually, there are people in Coeur d'Alene who want the world to think dumb things about the area so they will stay away and not move here; the natives would rather keep this gorgeous area to themselves. It's quickly getting more crowded and traffic is getting worse.
You must be new here. You can *always* use that argument. Someone can *always* install a key recorder or watch you type in your password. Security is about raising barriers, not about thinking/searching for somthing that will solve the impossible.
That's precisely why you sound naive when you say things like "meanwhile, there's absolutely no risk of security." And you mislead newbies into thinking that there is such a thing as "absolutely no risk of security."
Congratulations, you've solved the one specific attack described in the article! It's true, you really have solved the security problem once and for all.
It's no harder to strip an apostrophe than it is to replace one with two (which is proper SQL quoting). But I get your point.
The apostrophe isn't a mistake: it's "Coeur d'Alene" (it's French).
I live there, and it's really annoying when web forms try to "correct" it:
Coeur Dalene
Coeur dAlene
No.
Coeur d'Alene (I really meant it).
In that case I wonder if it will work with non-Apple base stations. How are you going to tell it what network to join/repeat if not through some custom protocol?
(I don't know much about wireless protocols)
Then why do they call it "The World's First Mobile 802.11g Base Station" (see apple.com)?
But maybe you can use it as a client of another base station.
You have to have your internet wire and your stereo in the same place to use this thing, don't you? Most people have a stereo in a living room type place, but who has internet come into the house in your living room?
What an annoying attitude that guy has: no, I won't make it open source because evil people will steal it, but waaaah, it's too much work to port all on my own so don't ask.
Put 2+2 together, dude: if you let other people help you, it won't be so much work.
The blurb didn't say "Apple is benevolent and worth of praise." It also didn't say "Apple has done the most for open source." It said:
(1) Apple has embraced open source (they use it where it is appropriate, and often give back (KHTML, gcc))
(2) Apple is delivering a better consumer experience.
Sun gets beaten up because they are schizophrenic and have no clear vision.
Apple is often praised because they build things that people want and enjoy using (they have to because Microsoft is the default choice unless something else wins them away). Not because people think they are selfless angels.
Where'd you get a version of Carbon that's object oriented and threadsafe?
Ack, I meant Cocoa.
...but I think I've finally done it. OSX has a lot of nice features that are comparable to what BeOS brought to the table (for example, Carbon is on par with the BeOS APIs, and both are worlds ahead of Win32).
One thing that is still unmatched is the responsiveness of BeOS's GUI. I was running BeOS on a PII-300 in 1999, and none of today's operating systems can match the responsiveness I had, even on today's fastest machines. Window resizing and scrolling were rock-solid and flicker-free. As much as I love OSX, resizing and scrolling feel sluggish. Windows is better, but prone to flicker and outright delays if the application is busy doing something. The GUI in BeOS never missed a beat, largely due to pervasive multithreading of the core infrastructure.
I'm still a bit bitter that I suffered through high school calculus, which consisted mainly of practicing all the different integration formulas a lot. None of the notation was ever formally introduced or explained. I never had any idea how cool calculus was until I took physics (the only application we learned in calculus was finding the volume of solids created through surfaces of revolution, which is not that cool).
Oh, and here's my stab at explaining the purpose of "dx": since an integral is an infinite sum (or rather, a sum whose number of terms approaches infinity), without the "dx" the value of the integral would also be infinite. The "dx" are the infinitely small parts that are multiplied with the rest of the integral's terms (the width of the boxes, if you think about a discrete integral) that counteract the fact that the number of boxes (terms) is approaching infinity. I'm sure my language is very sloppy, but that's how I understand it.
One, EULAs have never shown to be legally binding.
Patently false. Why do people make authoritative-sounding claims without knowing what they're talking about?
ProCD vs Zeidenberg is an example of a case where a EULA was upheld as legally binding, and the opinion gives strong support for the enforcability of EULA's in general.
So stop spreading misinformation.
The reality is, the companies who use EULAs are abusing the system, and trying to treat a license like a contract.
Read the ProCD opinion, and become enlightened about the legal concept of contract of sale.
Type-ahead find for Safari? Please??
I agree, and would add to that: for the love of all that is decent and good, don't use JPEG for screenshots! I am amazed at how many people will do this. It looks positively awful, and makes it hard to get a sense for what the screen really looks like.
TOSs and EULAs have not really been tested in court.
In ProCD Inc. v. Zeidenberg a click-through EULA was upheld as enforceable.
More analysis of the enforcement of shrinkwrap licenses in general.