What appeal could they find in a well organized toolbox, when all they really want is a shiny red hammer?
Hey, if using Debian makes you feel like your ePenis is a little bit bigger, more power to you.
Me, I've gotten over it. I was a Debian user for years after suffering through Slack and RedHat (if you've never installed Slack from floppies, you don't know pain...). Then I discovered Ubuntu. What? Suddenly things like networking and wireless just working without having to hack config files for hours? A modern package set? *And* apt-based package management? Since then, I've never looked back.
Well, okay, that's not true. Ubuntu has bungled the last couple upgrades to the point where I'm no longer willing to perform an in-place upgrade, which rather sucks... maybe its time to take another look at Debian unstable...
Simple: geeks like to justify their superiority complex.
No, really. I started off in the bad old Slackware days, and you couldn't help but feel hardcore when you got your damned printer to work after fiddling with lpd and magic filters. But guess what happens as you get a little older? You stop giving a shit about that stuff. You just want to get on with it, already. Suddenly tweaking and fiddling with config files in/etc doesn't feel hardcore, it feels really fucking boring.
So while the rest of us pick a distro that just works out of the box, and so is labeled "dumbed down" because we don't have to manually edit config files, the young geeks can go on showing off how awesome they are because they switched to Gentoo and get to fiddle with their compiler flags.
As an aside, I still think Debian kicks ass. But no one would ever claim its a polished desktop Linux distribution (it can certainly become one with a bit of effort, but I've gotten past enjoying that kind of effort)... for a server, though, it's peerless, IMHO.
'course, I just realized my post makes it seem like I think Debian sucks.
Frankly, Debian kicks ass. For a server, I'd consider nothing else. I've long believed that apt is, hands down, the best package management system ever invented. And Debian has done a truly marvelous job of ensuring that upgrades Just Work... unlike Ubuntu or Redhat, I have never feared doing a full distro update on Debian. Their package quality is simply through the roof (well, minus that pesky sshd bug they introduced;).
Heck, I should given Debian a try again. It's been a couple years since I made the leap to Ubuntu, and it may be that Debian unstable could now fill the roll that Ubuntu fills for me today (as a modern desktop distro)... particularly given how incredibly painful Ubuntu in-place upgrades can be. OTOH, I am spoiled by the fact that Ubuntu has the nVidia blob drivers incorporated into their software repo...
Being a Debian user for 15 years I'm sad to see it relegated to being only identified in the mainstream as something that a dumbed-down desktop distro is based on.
As opposed to what?
Look, my path to Linux took me through Slackware 15 years ago (wow I don't miss installing Linux from dozens of floppies) through RedHat, and then Debian. And I was happy for a while. Sure, Debian packages are decidedly archaic, but you couldn't ask for a more stable Linux distribution. Everything just seemed to work.
And then I tried Ubuntu. Suddenly things I just assumed wouldn't work out of the box (basic crap like wireless, USB printers and mass storage devices just working and integrating with the desktop, and god knows what else) just... did. I mean, sure, I could always get Debian there eventually, with enough tinkering. But dear god, Ubuntu did all the tinkering for me! And I got a more modern package set to boot. Not to mention PPAs, which make taking on non-standard repositories dead simple.
So, because Ubuntu took the rather rough diamond that is Debian and polished it up, it's somehow "dumbed down"? Really?
Frankly, it seems to me there is a choice: either you run a rough distro that forces the user to roll up their sleeves and get dirty, and then you can feel all smart and superior, or you can make something that actually works for your average user, and lets us power users just fucking get on with it already, and then get labeled "dumbed down". Which is, frankly, pretty fucking stupid, but such is the world of tech geeks who feel its cool to have to manually hack files in/etc in order to get their god damned printer to just print already.
Given an entire generation (the boomers) was wowed by it, and then their kids exposed to it, thus comprising many *many* millions of people, I think its safe to say the answer is 'yes'.
So, maybe you need to do something like that - that will be a nice memory and a surprise when you find it. Maybe better if you don't know what it says, too.
Not to sound cold, but that sounds like a great idea until you imagine what it'd be like to be wandering around the house, suffering with the pain of loss, only to have the scab ripped off while randomly organizing a bookshelf or rifling through the pantry...
The impressive part is that Chrome has managed already to beat Firefox in several areas
In a few areas, yes, and only because they could benefit from the many years of experience gathered in the development of web browsers. When Firefox first hit the scene, a JITing JS engine wasn't even a consideration, as top-notch JS performance simply wasn't that important. The same goes with things like tab and plugin isolation, etc.
I mean, don't get me wrong, Chrome is a very nice piece of work, and Google has the advantage of having a number of paid engineers working on it full time, with a focused vision. My comment was only meant to inject a little perspective into the discussion.
It's become pretty clear that Google is able to develop Chrome much faster than Mozilla is able to develop Firefox.
It is? Huh. I mean, sure, they've done great work on their Javascript engine, and kudos to them for that. But according to Wikipedia, it was first released in September 2008. It took until January *2010* for them to implement a freakin' extension system. Hell, it took them 8 months just to implement mouse wheel support and full screen mode!
No, I think its more accurate to say Chrome has just had a lot further to go, and so their pace of development looks impressive when compared to an established project like Firefox.
Wait, so to be an innovator, you can't focus on design aesthetics, battery life, and other practical concerns? If its not bleeding edge, its not innovative?
Maybe you need to get your head out of your ass and realize that "innovation" != Ghz.
You can eliminate a lot of == vs = bugs simply by putting the error constant on the left since assigning anything to a constant is a syntax error.
Eh, most C compilers will catch it for you, anyway, and display warning. Meanwhile, putting the constant on the left just looks... funny. Yeah, it was a good tip back when compilers sucked, but these days, it's simply not necessary. Just add -Wall to your compiler flags and move on.
C/C++ is very different, because in C, variables represent locations, while in Haskell they represent values directly.
It's only "very different" if you start concerning yourself with how the compiler implements the operator. But logically, the '=' is still taking a name, and associating a value with it. C and C++ force you to understand that that name also represents a slot in memory, but that's entirely beside the point for this discussion.
And that point is, once again, this: C and Haskell use '=' and '==' the same way. They use '=' for associating variable names with values, and '==' for boolean operations. I'm not sure how you can argue anything else.
That's not "technically". The point is that "=" in Haskell is not an assignment. It defines an equation!
No, that's a technicality. You could say the same thing of C, we just all know that the LHS of a name-value binding in that and similar languages is evaluated eagerly. But fundamentally, it's still a name-value binding.
The original claim was that:= should be used for binding a name to a value and = should be used for logical comparison, because that's more, uhh, math-y. Haskell *clearly* does the exact opposite, and in fact mirrors what C does, using = for name-value binding, and == for logical equality.
The only thing you can do is increase single-thread performance
That's what I said. What part of "serial" don't you understand? If you're running multiple threads to achieve a job, you're doing that job in parallel.
which isn't just about clock rate.
Absolutely, it's also about cache performance, instruction pipelining, etc. But multicore *does not help*. At best, it could improve cache performance, as you could dedicate a single CPU to a single job, thus reducing cache contention between tasks.
Which ThinkPad rev? I have a T61, and FBSD failed horribly on suspend/resume... and I *really* wanted to like it, too. I then tried NetBSD, but alas, accelerated video is basically a no-go (among other things), and thus ended my BSD experiment...
Trust me, what you're seeing is *not* what you think you're seeing. Windows isn't magically auto-parallelizing your code. That's a hot topic of research today, and it's really fucking hard.
And today, we already know the problem with this approach: most everyday problems aren't easily parallelizable. Yes, there are specific areas where the problems are sometimes embarrassingly parallel (some scientific/number crunching applications, graphics rendering, etc), but generally speaking, your average software problem is unfortunately very serial. As such, those multiple cores don't provide much benefit for any single task. So if you want to execute one of these problems faster, the only thing you can do is ramp up the clock rate.
Wireless spectrum (especially the portion that gives a large enough range at safe signal levels) is a limited resource.
Yes, but it's not a barrier to entry.
The other more pressing issue is where to place the towers?
But *that* is a legitimate concern, and may very well justify market regulation. The problem is, *we don't really know yet*.
Again, this is Google's point: barrier to entry into the market is clearly lower than in the hard-wired internet space. But is it low enough to allow competition to thrive sufficiently to obviate the need for regulation? Maybe. Maybe not. Certainly, given most cities have at least a few options for wireless providers, it seems competition in that market is more healthy than in the hard-line internet space (where most people have *maybe* two options, if they're lucky).
Do you expect a competitor to reach a similar level of availability with these obstacles. How's WiMax doing?
I'm not at all willing to believe the problem with WiMax is tower location. Far more likely is that the technology simply isn't being adopted because 4G solves the same problem, and is more widely deployed in handsets and other devices.
Meanwhile, again, most cities have at least a few wireless providers available (even Canada, which has traditionally had dismal telecom competition, has a few major competitors, and a couple new ones coming online in the next year), which indicates that competition in the space is at least possible.
Much as I know you're joking, I'd really love to get rid of this bane that C has brought upon us. Many previous languages used:= to mean assignment, hence avoiding the clash with the mathematically well defined = symbol.
I really don't think things are that clear. The problem, I think, is that it's the field of *mathematics* that's guilty of overloading the definition of '='. For example, when I write:
let a = 2 let b = 3
z = a * b
Those let expressions define what a and b represent. They are, in essence, variable assignments. What they are saying is "the symbol named 'X' has the value 'Y'". That sounds like assignment to me.
But it's also used when performing comparisons. When we ask the question "Is x = y?", we are implicitly performing a logical operation..
So, TBH, I don't think there is a right answer, here, as you can interpret '=' to be either variable assignment or logical comparison, depending on the context.
And as an aside, its interesting to note that Haskell, probably one of the most mathematically inspired languages in common use today, uses '=' for 'assignment' (technically it's symbol binding, but nevertheless...):
If there is no government money involved in creating the infrastructure for these services, then government cannot force their own vision of contract between the service provider and a customer.
More importantly, if that's true, then it's probably because the barrier to entry in the market is a hell of a lot lower (unlike, say, laying cable, which requires easements, and tons of dough to lay the line). As such, the market is less of a natural monopoly, and so competition is more likely to thrive. Thus regulation may not be necessary.
What appeal could they find in a well organized toolbox, when all they really want is a shiny red hammer?
Hey, if using Debian makes you feel like your ePenis is a little bit bigger, more power to you.
Me, I've gotten over it. I was a Debian user for years after suffering through Slack and RedHat (if you've never installed Slack from floppies, you don't know pain...). Then I discovered Ubuntu. What? Suddenly things like networking and wireless just working without having to hack config files for hours? A modern package set? *And* apt-based package management? Since then, I've never looked back.
Well, okay, that's not true. Ubuntu has bungled the last couple upgrades to the point where I'm no longer willing to perform an in-place upgrade, which rather sucks... maybe its time to take another look at Debian unstable...
Simple: geeks like to justify their superiority complex.
No, really. I started off in the bad old Slackware days, and you couldn't help but feel hardcore when you got your damned printer to work after fiddling with lpd and magic filters. But guess what happens as you get a little older? You stop giving a shit about that stuff. You just want to get on with it, already. Suddenly tweaking and fiddling with config files in /etc doesn't feel hardcore, it feels really fucking boring.
So while the rest of us pick a distro that just works out of the box, and so is labeled "dumbed down" because we don't have to manually edit config files, the young geeks can go on showing off how awesome they are because they switched to Gentoo and get to fiddle with their compiler flags.
As an aside, I still think Debian kicks ass. But no one would ever claim its a polished desktop Linux distribution (it can certainly become one with a bit of effort, but I've gotten past enjoying that kind of effort)... for a server, though, it's peerless, IMHO.
'course, I just realized my post makes it seem like I think Debian sucks.
Frankly, Debian kicks ass. For a server, I'd consider nothing else. I've long believed that apt is, hands down, the best package management system ever invented. And Debian has done a truly marvelous job of ensuring that upgrades Just Work... unlike Ubuntu or Redhat, I have never feared doing a full distro update on Debian. Their package quality is simply through the roof (well, minus that pesky sshd bug they introduced ;).
Heck, I should given Debian a try again. It's been a couple years since I made the leap to Ubuntu, and it may be that Debian unstable could now fill the roll that Ubuntu fills for me today (as a modern desktop distro)... particularly given how incredibly painful Ubuntu in-place upgrades can be. OTOH, I am spoiled by the fact that Ubuntu has the nVidia blob drivers incorporated into their software repo...
Being a Debian user for 15 years I'm sad to see it relegated to being only identified in the mainstream as something that a dumbed-down desktop distro is based on.
As opposed to what?
Look, my path to Linux took me through Slackware 15 years ago (wow I don't miss installing Linux from dozens of floppies) through RedHat, and then Debian. And I was happy for a while. Sure, Debian packages are decidedly archaic, but you couldn't ask for a more stable Linux distribution. Everything just seemed to work.
And then I tried Ubuntu. Suddenly things I just assumed wouldn't work out of the box (basic crap like wireless, USB printers and mass storage devices just working and integrating with the desktop, and god knows what else) just... did. I mean, sure, I could always get Debian there eventually, with enough tinkering. But dear god, Ubuntu did all the tinkering for me! And I got a more modern package set to boot. Not to mention PPAs, which make taking on non-standard repositories dead simple.
So, because Ubuntu took the rather rough diamond that is Debian and polished it up, it's somehow "dumbed down"? Really?
Frankly, it seems to me there is a choice: either you run a rough distro that forces the user to roll up their sleeves and get dirty, and then you can feel all smart and superior, or you can make something that actually works for your average user, and lets us power users just fucking get on with it already, and then get labeled "dumbed down". Which is, frankly, pretty fucking stupid, but such is the world of tech geeks who feel its cool to have to manually hack files in /etc in order to get their god damned printer to just print already.
Uhuh. The you don't know what a Ponzi scheme is, and it's the *facebook* users that are the morons... riiiight.
It never went anywhere because they couldn't figure out a way to get the throughput that the park operators where looking for.
Someone needs to go on the Mars simulator ride at Epcot... it's *precisely* this technology. Pretty cool, too.
Brett.
Given an entire generation (the boomers) was wowed by it, and then their kids exposed to it, thus comprising many *many* millions of people, I think its safe to say the answer is 'yes'.
So, maybe you need to do something like that - that will be a nice memory and a surprise when you find it. Maybe better if you don't know what it says, too.
Not to sound cold, but that sounds like a great idea until you imagine what it'd be like to be wandering around the house, suffering with the pain of loss, only to have the scab ripped off while randomly organizing a bookshelf or rifling through the pantry...
The impressive part is that Chrome has managed already to beat Firefox in several areas
In a few areas, yes, and only because they could benefit from the many years of experience gathered in the development of web browsers. When Firefox first hit the scene, a JITing JS engine wasn't even a consideration, as top-notch JS performance simply wasn't that important. The same goes with things like tab and plugin isolation, etc.
I mean, don't get me wrong, Chrome is a very nice piece of work, and Google has the advantage of having a number of paid engineers working on it full time, with a focused vision. My comment was only meant to inject a little perspective into the discussion.
It's become pretty clear that Google is able to develop Chrome much faster than Mozilla is able to develop Firefox.
It is? Huh. I mean, sure, they've done great work on their Javascript engine, and kudos to them for that. But according to Wikipedia, it was first released in September 2008. It took until January *2010* for them to implement a freakin' extension system. Hell, it took them 8 months just to implement mouse wheel support and full screen mode!
No, I think its more accurate to say Chrome has just had a lot further to go, and so their pace of development looks impressive when compared to an established project like Firefox.
Wait, so to be an innovator, you can't focus on design aesthetics, battery life, and other practical concerns? If its not bleeding edge, its not innovative?
Maybe you need to get your head out of your ass and realize that "innovation" != Ghz.
Most non-C based languages use = for both assignment and comparison.
Uh, that's totally false. Let's see: Obviously neither Lisp nor Scheme do this. Smalltalk doesn't. Neither does Haskell. Or Prolog.
I'd continue, but Abcd1234 == bored.
You can eliminate a lot of == vs = bugs simply by putting the error constant on the left since assigning anything to a constant is a syntax error.
Eh, most C compilers will catch it for you, anyway, and display warning. Meanwhile, putting the constant on the left just looks... funny. Yeah, it was a good tip back when compilers sucked, but these days, it's simply not necessary. Just add -Wall to your compiler flags and move on.
C/C++ is very different, because in C, variables represent locations, while in Haskell they represent values directly.
It's only "very different" if you start concerning yourself with how the compiler implements the operator. But logically, the '=' is still taking a name, and associating a value with it. C and C++ force you to understand that that name also represents a slot in memory, but that's entirely beside the point for this discussion.
And that point is, once again, this: C and Haskell use '=' and '==' the same way. They use '=' for associating variable names with values, and '==' for boolean operations. I'm not sure how you can argue anything else.
Err... make that the RHS of a name-value binding is evaluated eagerly... man, it's way too late for programming language debates... :)
That's not "technically". The point is that "=" in Haskell is not an assignment. It defines an equation!
No, that's a technicality. You could say the same thing of C, we just all know that the LHS of a name-value binding in that and similar languages is evaluated eagerly. But fundamentally, it's still a name-value binding.
The original claim was that := should be used for binding a name to a value and = should be used for logical comparison, because that's more, uhh, math-y. Haskell *clearly* does the exact opposite, and in fact mirrors what C does, using = for name-value binding, and == for logical equality.
Please, rivalry and secrecy have been the way of things since the dawn of human history, ffs...
The only thing you can do is increase single-thread performance
That's what I said. What part of "serial" don't you understand? If you're running multiple threads to achieve a job, you're doing that job in parallel.
which isn't just about clock rate.
Absolutely, it's also about cache performance, instruction pipelining, etc. But multicore *does not help*. At best, it could improve cache performance, as you could dedicate a single CPU to a single job, thus reducing cache contention between tasks.
Which ThinkPad rev? I have a T61, and FBSD failed horribly on suspend/resume... and I *really* wanted to like it, too. I then tried NetBSD, but alas, accelerated video is basically a no-go (among other things), and thus ended my BSD experiment...
FreeBSD, OTOH, is plenty competitive with Linux, and has good ZFS support.
Tell that to my laptop. FreeBSD's suspend/resume support is, amazingly, even worse than Linux's...
Trust me, what you're seeing is *not* what you think you're seeing. Windows isn't magically auto-parallelizing your code. That's a hot topic of research today, and it's really fucking hard.
Well done, you've just described... today!
And today, we already know the problem with this approach: most everyday problems aren't easily parallelizable. Yes, there are specific areas where the problems are sometimes embarrassingly parallel (some scientific/number crunching applications, graphics rendering, etc), but generally speaking, your average software problem is unfortunately very serial. As such, those multiple cores don't provide much benefit for any single task. So if you want to execute one of these problems faster, the only thing you can do is ramp up the clock rate.
Wireless spectrum (especially the portion that gives a large enough range at safe signal levels) is a limited resource.
Yes, but it's not a barrier to entry.
The other more pressing issue is where to place the towers?
But *that* is a legitimate concern, and may very well justify market regulation. The problem is, *we don't really know yet*.
Again, this is Google's point: barrier to entry into the market is clearly lower than in the hard-wired internet space. But is it low enough to allow competition to thrive sufficiently to obviate the need for regulation? Maybe. Maybe not. Certainly, given most cities have at least a few options for wireless providers, it seems competition in that market is more healthy than in the hard-line internet space (where most people have *maybe* two options, if they're lucky).
Do you expect a competitor to reach a similar level of availability with these obstacles. How's WiMax doing?
I'm not at all willing to believe the problem with WiMax is tower location. Far more likely is that the technology simply isn't being adopted because 4G solves the same problem, and is more widely deployed in handsets and other devices.
Meanwhile, again, most cities have at least a few wireless providers available (even Canada, which has traditionally had dismal telecom competition, has a few major competitors, and a couple new ones coming online in the next year), which indicates that competition in the space is at least possible.
Much as I know you're joking, I'd really love to get rid of this bane that C has brought upon us. Many previous languages used := to mean assignment, hence avoiding the clash with the mathematically well defined = symbol.
I really don't think things are that clear. The problem, I think, is that it's the field of *mathematics* that's guilty of overloading the definition of '='. For example, when I write:
let a = 2
let b = 3
z = a * b
Those let expressions define what a and b represent. They are, in essence, variable assignments. What they are saying is "the symbol named 'X' has the value 'Y'". That sounds like assignment to me.
But it's also used when performing comparisons. When we ask the question "Is x = y?", we are implicitly performing a logical operation..
So, TBH, I don't think there is a right answer, here, as you can interpret '=' to be either variable assignment or logical comparison, depending on the context.
And as an aside, its interesting to note that Haskell, probably one of the most mathematically inspired languages in common use today, uses '=' for 'assignment' (technically it's symbol binding, but nevertheless...):
f :: Int -> Int
f a = a * 2
And '==' for comparison:
f :: Int -> Bool
f a = a == 2
If there is no government money involved in creating the infrastructure for these services, then government cannot force their own vision of contract between the service provider and a customer.
More importantly, if that's true, then it's probably because the barrier to entry in the market is a hell of a lot lower (unlike, say, laying cable, which requires easements, and tons of dough to lay the line). As such, the market is less of a natural monopoly, and so competition is more likely to thrive. Thus regulation may not be necessary.
Which is, of course, Google's entire point.