Re:Where is my last generation Broadband?
on
150 Mbit/s DSL.
·
· Score: 1
Hmm. I haven't seen the kB and kb distinction very often. At least the places I see (look at any of the computer hardware sites online) the distinguishing method is the ps vs/sec. For example, harddrive speeds are measured in MB/sec, while Firewire and USB2 speeds are measured in mbps.
Re:Where is my last generation Broadband?
on
150 Mbit/s DSL.
·
· Score: 0
Hmm, this is irritating. You're mixing kilobits and kilobytes. Traditionally, the distinction is as such:
190k/sec = 190 kilobytes per second 384kb/s = 384 kilobytes per second 1500kbps = 1500 kilo*bits* per second.
Not really, it depends on your problem. If you're working on a large dataset, but in a streaming manner, then memory bandwidth is the bottleneck. It's really only if you're randomly accessing the entire dataset that latency becomes the bottleneck.
Similar scenario. I was doing some X-ray diffraction simulations. I was trying to get things fast enough so I could display a few frames per second, so I could maybe implement some interactivity. The fact that even my 1.5GHz (at the time) monster machine took several *minutes* of computation per frame pretty much killed that idea.
Actually, it's surprising how quickly memory banwidth has improved. The new Canterwoord P4's have an incredible 6.4GB/sec of memory bandwidth. I'd say that memory bandwidth is keeping pace quite well with CPU speeds these days.
Quickly now, can you tell me if 'char' is signed or unsigned by default on your C++ compiler? Or how long is an 'int'? >>>>>>>> In the common case, you're not supposed to care about the exact details. There are a few cases where you should be using specific-sized types (when dealing with file formats and such) but most of the time you're supposed to use the native types because it allows the compiler to use whatever exact sizes are best for the platform. In case where you need to know sizes because of range issues, then you're supposed to use the standardized limits headers. Microsoft's tendency to redefine standard features like this is just one of the reasons why Win32 sucks so badly compared to POSIX.
typedef int DWORD typedef char* LPSTR (yes, burn in hell Microsoft) are bad. There is a delicate balance in a language between the added intellectual overhead of introducing a new statement versus the savings in time and increase in readability. To something as simple as a function call:
do_foo(5);
When a programmer sees that call, he has to think, "well, WTF does do_foo() do?" Now, if do_foo() is well named, and wraps a lot of other code, the added intellectual overhead of understanding what do_foo() is and what it does is outweighed by the time and energy saved reading and understanding all the code in do_foo(). Now, in these other examples, the intellectual overhead is relatively high (if only because a programmer can easily become suspicious that those macros must be doing something more, because why would anyone create such a simple 1:1 mapping to a built-in feature) and the payoff is zilch, because C programmers except to see || rather than 'or'.
Therefore, releasing your work under the GPL constitutes an effective and overt waiver of your copyright. >>>>>>> First, nothing in the GPL requires you to make copies. It only requires you to make copies if you're redistributing. Second, your arguement is totally non-sensical. Is Nullsoft totally waiving its copyright protection by releasing Winamp for free? How about all those companies that allow you use software free for non-commercial use? The only way you can waive your copyright is to explicity make a statement to that effect. There is nothing in copyright law about implied transfer of copyright. Heck, copyright law is inherently conservative. If you release a work, its automatically copyrighten unless you place it in the public domain, not the other way around.
Wrong. The GPL is not technically a software license. >>>>>>>> What??? Since when? I think you're confusing an EULA and a software license.
Your copyright vanishes the instant you put a big sticker on your work that says, "If you take this, you are REQUIRED to distribute copies of it." Poof. Copyright gone. >>>>>>> A) That's wrong. It says, "if you change this or redistribute it you are REQUIRED to distribute copies of it." B) That's an entirely non-sensical arguement. What makes you think that distribution has anything to do with transferal of copyright? For example, lots of people distribute flyers for certain organizations. They will sometimes ask you to give copies to your friends. However, the copyright on the flyer or pamplet still belongs to the person or organization that created it!
You're assessment of "all of them" is clouded by your view of a few of them "Enron." There are lots of corporations that don't do this stuff. You don't hear about it on the evening news, because there is nothing interesting about someone doing what they're supposed to. I think a lot of your view is caused by the fact that a bigger a corporation gets, the more likely they are to resort to these kinds of tactics, while at the same time, they more noticible they are in the public eye.
"Hacker" politics range widely, from left to right, from intensely political to completely uninterested in political issues. >>>>>>>>>>>>
WTF? ESR's definition is dead on, at least in my experience (and I know a lot of hackers!). Yours is just purposefully vague because you're trying to avoid making any statement of substance.
Let's take a look at his original defintion:
Formerly vaguely liberal-moderate >>>>>>> Where did the original hackers come from? Academia. Academia is decidedly liberal. What is the age distribution of the hacker community? Biased towards young people. Again, young people tend to be liberal.
more recently moderate-to-neoconservative (hackers too were affected by the collapse of socialism). >>>>> As technology spread to a larger group of people, you started to get certain ideological conservatives. Think about how much of the hacker community exists in western European countries. Note that many of these countries are seeing a resurgance in conservatism. Neoconservativism is an appropriate term, because there is a distinct difference (especially in terms of social and religious beliefs) from traditional conservatism.
There is a strong libertarian contingent which rejects conventional left-right politics entirely. >>>>>>> He's simply asserting the existance of a certain group of people. All you have to do is read some Slashdot posts to realize that this contingent of libertarians actually do exist.
The only safe generalization is that hackers tend to be rather anti-authoritarian; >>>>>>>>> After hedging several times in the above characterizations, (liberal and conservative tempered by the hypenated "moderate", the use of the word "vaguely") he clearly asserts that the exact orientation is rather hard to pin down. He then asserts that hackers tend to be anti-authoritarian. How many hackers do you know that support China's policies on information control? You'd be totally daft to claim that there isn't a distinct anti-authoritarian bent to hacker culture.
thus, both paleoconservatism >>>>>>> Just do a search for paleoconservative on Google. We're talking about your traditional, evangelical Christian, white supremacy conservatism here. There aren't (thankfully!) many of those left in general, much less in the hacker community!
and âhardâ(TM) leftism are rare. >>>>>>>>> How many Leninist hackers do you know?
Hackers are far more likely than most non-hackers to either (a) be aggressively apolitical or (b) entertain peculiar or idiosyncratic political ideas and actually try to live by them day-to-day. >>>>>>>. Hackers tend to be passionate and quirky, is basically what the above lines boil down to. You disagree with this assessment?
RMS has nothing to do with it. The authors of the kernel code are the ones that GPL'ed their code, and intended that others abide by that license. You're perfectly free to license your software how you want, but don't go telling others how to license their software.
Yes it does. When you distribute a work, you're distributing only a license to use that work. You still hold the exclusive copyright to that work. The GPL merely defines terms and conditions for the redistribution of the work and the propogation of the license. Even if the GPL is struck down (which is pretty much an impossibility, because it calls into question software licensing in general) then the only thing that happens is that everybody's license to use it gets revoked. Your ownership of the exclusive copyright is never at stake at any time.
Yet, if Linksys had stolen Windows code and used it in their routers, Balmer would be calling the lawyers on them. You can use GPL'ed code all you want, but you can't abuse GPL'ed code, just like you can't abuse proprietory code. At least the FSF tends to be nicer about working with potential violaters than most commercial entities are.
Wow, Goerge W Bush is posting to slashdot now. >>>>>>>>>>>>>>>>>> Hey! You take that back! I've been called a lot of things, but that's the worst!
Seriously, do you believe that all corporations act ethically all the time ?. >>>>>>>>>>>> No, but I believe that most corporations act ethically most of the time. And I believe that "they're just trying to maximize profits" is not a good excuse for unethical behavior, because lots of corporations manage to maximize profits without resorting to unethical behavior.
Saying that "it's called capitalism" isn't a good arguement, its a cop-out. Lot's of companies manage to go about their business maximizing profit without resorting to unethical practices. The ones that don't (think Enron, Tyco, etc) end up on the evening news after getting busted by the government. Our government encourages healthy competition, not unethical behavior. They have laws to that effect. If something seems to be clearly unethical, you're going to need a better reason than just saying that they're trying to maximize their profit.
With reference to WINAPI, I was making a comment about all of Microsoft's nonstandard extensions to C/C++. While I can understand certain extensions being there for special cases (like GCC's alignment directives) you should expose them in the main API!
Doesn't make much sense in the context of your original arguement. What's the difference between system provided APIs and something provided on CPAN? In my experience, the latter are an order of magnitude more comprehensible than a bad but widely used API like Win32.
It all has to do with the fact that: A) Microsoft can't write APIs worth shit. They're over engineered, overly complex, and each one seems to be tainted with the personal ideosynchrosies of whoever wrote it. Worst of all are all the stupid typedefs: why the fuck does LPSTR exist? What's wrong with const char*? What the fuck is a DWORD? Is it like an int? What's a WINAPI? It's like there is a Microsoft-specific superset of C++ that you're supposed to learn before tackling Win32. And don't even get me started about the FORTRAN-like use of capitalization. B) STL strings didn't exist at the time Microsoft wrote the APIs, so they have an excuse for not supporting them. Qt had the same problem, but they've taken more steps to ease compatibility issues.
The system API is generally speaking orders of magnitude less complexe than the programs running on it. >>>>>>>>>>>> Spoken like a man whose never tried to write his own OS:)
no sorting hashing or btree algorithms in there) >>>>>>>>> Disk blocks get sorted by the block device driver, the page cached is hashed, and the filesystem often uses a B+Tree to maintain directory listings.
Maybe you should learn the use the STL first. One of the first things they teach you when learning the STL is that auto_ptr cannot be put in containers (try boost::shared_ptr for that). Its one of the most well documented libraries I've ever used. Try the SGI STL site, as well as Dinkumware's STL reference. Anyway, Google is your friend. A search for auto_ptr nets this article, on using auto_ptr effectively, as the first hit. It has an entire section titled "Things Not To Do, and Why Not To Do Them".
The middle class is usually defined as the 20-90th percentile. As of 1997, that 90th percentile boundry was at ~$63,000. So I guessed it would be about $70,000 today. Either way, even someone making $42,000 American dollars would be considered well-to-do. For example. In Bangladesh, a house worth 1,000,000 taka is pretty equivilent to $300,000 house here in the US. However, the conversion rate means that 1,000,000 taka is only about $20,000-$30,000.
Hmm. I haven't seen the kB and kb distinction very often. At least the places I see (look at any of the computer hardware sites online) the distinguishing method is the ps vs /sec. For example, harddrive speeds are measured in MB/sec, while Firewire and USB2 speeds are measured in mbps.
Hmm, this is irritating. You're mixing kilobits and kilobytes. Traditionally, the distinction is as such:
190k/sec = 190 kilobytes per second
384kb/s = 384 kilobytes per second
1500kbps = 1500 kilo*bits* per second.
Except in python, where
print(1+2)
is a complete, totally legal program.
Not really, it depends on your problem. If you're working on a large dataset, but in a streaming manner, then memory bandwidth is the bottleneck. It's really only if you're randomly accessing the entire dataset that latency becomes the bottleneck.
Similar scenario. I was doing some X-ray diffraction simulations. I was trying to get things fast enough so I could display a few frames per second, so I could maybe implement some interactivity. The fact that even my 1.5GHz (at the time) monster machine took several *minutes* of computation per frame pretty much killed that idea.
Actually, it's surprising how quickly memory banwidth has improved. The new Canterwoord P4's have an incredible 6.4GB/sec of memory bandwidth. I'd say that memory bandwidth is keeping pace quite well with CPU speeds these days.
Quickly now, can you tell me if 'char' is signed or unsigned by default on your C++ compiler? Or how long is an 'int'?
>>>>>>>>
In the common case, you're not supposed to care about the exact details. There are a few cases where you should be using specific-sized types (when dealing with file formats and such) but most of the time you're supposed to use the native types because it allows the compiler to use whatever exact sizes are best for the platform. In case where you need to know sizes because of range issues, then you're supposed to use the standardized limits headers. Microsoft's tendency to redefine standard features like this is just one of the reasons why Win32 sucks so badly compared to POSIX.
For the same reason the following:
typedef int DWORD
typedef char* LPSTR
(yes, burn in hell Microsoft)
are bad. There is a delicate balance in a language between the added intellectual overhead of introducing a new statement versus the savings in time and increase in readability. To something as simple as a function call:
do_foo(5);
When a programmer sees that call, he has to think, "well, WTF does do_foo() do?" Now, if do_foo() is well named, and wraps a lot of other code, the added intellectual overhead of understanding what do_foo() is and what it does is outweighed by the time and energy saved reading and understanding all the code in do_foo(). Now, in these other examples, the intellectual overhead is relatively high (if only because a programmer can easily become suspicious that those macros must be doing something more, because why would anyone create such a simple 1:1 mapping to a built-in feature) and the payoff is zilch, because C programmers except to see || rather than 'or'.
People still use PKZip? Why?
Um, even assuming the minimum number of transistors (29,000) that makes 29 trillion transistors. There are 1000 billions in a trillion.
Therefore, releasing your work under the GPL constitutes an effective and overt waiver of your copyright.
>>>>>>>
First, nothing in the GPL requires you to make copies. It only requires you to make copies if you're redistributing. Second, your arguement is totally non-sensical. Is Nullsoft totally waiving its copyright protection by releasing Winamp for free? How about all those companies that allow you use software free for non-commercial use? The only way you can waive your copyright is to explicity make a statement to that effect. There is nothing in copyright law about implied transfer of copyright. Heck, copyright law is inherently conservative. If you release a work, its automatically copyrighten unless you place it in the public domain, not the other way around.
Wrong. The GPL is not technically a software license.
>>>>>>>>
What??? Since when? I think you're confusing an EULA and a software license.
Your copyright vanishes the instant you put a big sticker on your work that says, "If you take this, you are REQUIRED to distribute copies of it." Poof. Copyright gone.
>>>>>>>
A) That's wrong. It says, "if you change this or redistribute it you are REQUIRED to distribute copies of it."
B) That's an entirely non-sensical arguement. What makes you think that distribution has anything to do with transferal of copyright? For example, lots of people distribute flyers for certain organizations. They will sometimes ask you to give copies to your friends. However, the copyright on the flyer or pamplet still belongs to the person or organization that created it!
You're assessment of "all of them" is clouded by your view of a few of them "Enron." There are lots of corporations that don't do this stuff. You don't hear about it on the evening news, because there is nothing interesting about someone doing what they're supposed to. I think a lot of your view is caused by the fact that a bigger a corporation gets, the more likely they are to resort to these kinds of tactics, while at the same time, they more noticible they are in the public eye.
"Hacker" politics range widely, from left to right, from intensely political to completely uninterested in political issues.
>>>>>>>>>>>>
WTF? ESR's definition is dead on, at least in my experience (and I know a lot of hackers!). Yours is just purposefully vague because you're trying to avoid making any statement of substance.
Let's take a look at his original defintion:
Formerly vaguely liberal-moderate
>>>>>>>
Where did the original hackers come from? Academia. Academia is decidedly liberal. What is the age distribution of the hacker community? Biased towards young people. Again, young people tend to be liberal.
more recently moderate-to-neoconservative (hackers too were affected by the collapse of socialism).
>>>>>
As technology spread to a larger group of people, you started to get certain ideological conservatives. Think about how much of the hacker community exists in western European countries. Note that many of these countries are seeing a resurgance in conservatism. Neoconservativism is an appropriate term, because there is a distinct difference (especially in terms of social and religious beliefs) from traditional conservatism.
There is a strong libertarian contingent which rejects conventional left-right politics entirely.
>>>>>>>
He's simply asserting the existance of a certain group of people. All you have to do is read some Slashdot posts to realize that this contingent of libertarians actually do exist.
The only safe generalization is that hackers tend to be rather anti-authoritarian;
>>>>>>>>>
After hedging several times in the above characterizations, (liberal and conservative tempered by the hypenated "moderate", the use of the word "vaguely") he clearly asserts that the exact orientation is rather hard to pin down. He then asserts that hackers tend to be anti-authoritarian. How many hackers do you know that support China's policies on information control? You'd be totally daft to claim that there isn't a distinct anti-authoritarian bent to hacker culture.
thus, both paleoconservatism
>>>>>>>
Just do a search for paleoconservative on Google. We're talking about your traditional, evangelical Christian, white supremacy conservatism here. There aren't (thankfully!) many of those left in general, much less in the hacker community!
and âhardâ(TM) leftism are rare.
>>>>>>>>>
How many Leninist hackers do you know?
Hackers are far more likely than most non-hackers to either (a) be aggressively apolitical or (b) entertain peculiar or idiosyncratic political ideas and actually try to live by them day-to-day.
>>>>>>>.
Hackers tend to be passionate and quirky, is basically what the above lines boil down to. You disagree with this assessment?
RMS has nothing to do with it. The authors of the kernel code are the ones that GPL'ed their code, and intended that others abide by that license. You're perfectly free to license your software how you want, but don't go telling others how to license their software.
Yes it does. When you distribute a work, you're distributing only a license to use that work. You still hold the exclusive copyright to that work. The GPL merely defines terms and conditions for the redistribution of the work and the propogation of the license. Even if the GPL is struck down (which is pretty much an impossibility, because it calls into question software licensing in general) then the only thing that happens is that everybody's license to use it gets revoked. Your ownership of the exclusive copyright is never at stake at any time.
Yet, if Linksys had stolen Windows code and used it in their routers, Balmer would be calling the lawyers on them. You can use GPL'ed code all you want, but you can't abuse GPL'ed code, just like you can't abuse proprietory code. At least the FSF tends to be nicer about working with potential violaters than most commercial entities are.
Wow, Goerge W Bush is posting to slashdot now. ;
>>>>>>>>>>>>>>>>>>
Hey! You take that back! I've been called a lot of things, but that's the worst!
Seriously, do you believe that all corporations act ethically all the time ?.
>>>>>>>>>>>>
No, but I believe that most corporations act ethically most of the time. And I believe that "they're just trying to maximize profits" is not a good excuse for unethical behavior, because lots of corporations manage to maximize profits without resorting to unethical behavior.
Saying that "it's called capitalism" isn't a good arguement, its a cop-out. Lot's of companies manage to go about their business maximizing profit without resorting to unethical practices. The ones that don't (think Enron, Tyco, etc) end up on the evening news after getting busted by the government. Our government encourages healthy competition, not unethical behavior. They have laws to that effect. If something seems to be clearly unethical, you're going to need a better reason than just saying that they're trying to maximize their profit.
With reference to WINAPI, I was making a comment about all of Microsoft's nonstandard extensions to C/C++. While I can understand certain extensions being there for special cases (like GCC's alignment directives) you should expose them in the main API!
Doesn't make much sense in the context of your original arguement. What's the difference between system provided APIs and something provided on CPAN? In my experience, the latter are an order of magnitude more comprehensible than a bad but widely used API like Win32.
It all has to do with the fact that:
A) Microsoft can't write APIs worth shit. They're over engineered, overly complex, and each one seems to be tainted with the personal ideosynchrosies of whoever wrote it. Worst of all are all the stupid typedefs: why the fuck does LPSTR exist? What's wrong with const char*? What the fuck is a DWORD? Is it like an int? What's a WINAPI? It's like there is a Microsoft-specific superset of C++ that you're supposed to learn before tackling Win32. And don't even get me started about the FORTRAN-like use of capitalization.
B) STL strings didn't exist at the time Microsoft wrote the APIs, so they have an excuse for not supporting them. Qt had the same problem, but they've taken more steps to ease compatibility issues.
The system API is generally speaking orders of magnitude less complexe than the programs running on it. :)
>>>>>>>>>>>>
Spoken like a man whose never tried to write his own OS
no sorting hashing or btree algorithms in there)
>>>>>>>>>
Disk blocks get sorted by the block device driver, the page cached is hashed, and the filesystem often uses a B+Tree to maintain directory listings.
Maybe you should learn the use the STL first. One of the first things they teach you when learning the STL is that auto_ptr cannot be put in containers (try boost::shared_ptr for that). Its one of the most well documented libraries I've ever used. Try the SGI STL site, as well as Dinkumware's STL reference. Anyway, Google is your friend. A search for auto_ptr nets this article, on using auto_ptr effectively, as the first hit. It has an entire section titled "Things Not To Do, and Why Not To Do Them".
The middle class is usually defined as the 20-90th percentile. As of 1997, that 90th percentile boundry was at ~$63,000. So I guessed it would be about $70,000 today. Either way, even someone making $42,000 American dollars would be considered well-to-do. For example. In Bangladesh, a house worth 1,000,000 taka is pretty equivilent to $300,000 house here in the US. However, the conversion rate means that 1,000,000 taka is only about $20,000-$30,000.
Man, you just described my college, right on the dot...