Valve have a framework in place, that a lot of PC gamers, they claim over 15 million of them, are quite pleased with
Sounds like a bit of creative extrapolation.
I'd say "15 million of them are either quite pleased with, or begrudgingly put up with."
(I'll admit that I'm a lot more pleased with Steam than other forms of DRM, and I choose to use it, but I'm not too "pleased" with the idea that Valve can terminate my "subscription" to the games I own, including the ones I purchased before Steam even existed, at any time. Usage != Pleased.)
I'm sorry, but as a parent, your opinion doesn't count. This isn't for protecting children, it's for preventing crime. Computer crimes, that we all commit day in, day out, and soon will be free of forever!
I think if you are trying to resist, you must be a paedophile.
I kind of knew about this (though not its extent) when I voted for him. Unfortunately, the system isn't really set up for people to have any real kind of expression. You vote for one face, or another, and all the policies that come with it.
I can't say I regret voting him in; better than another term of Howard and all the *other* shit he's dragged us through (ie. Iraq, among other things).
I say it's foolish to argue about who should or shouldn't have been voted in, and better to reason with whoever was voted in. Time to get out my big fat... letter-writing pen!
On the "Fiesty" / "Gutsy" issue... they are only codenames, like Longhorn (except they are used by the masses long after the release).
Officially, Ubuntu releases are called "Ubuntu 8.04", etc. Which is not very different from the "Windows 7" naming scheme (except Ubuntu is also cunningly date-based).
OK I've always had trouble understanding the difference between economics and finance (and commerce, but let's save that one for another day).
Are you saying "economics" is not the study of money, per se, but also any kind of perceived "benefit" and "loss" that someone can gain or lose? So if I derive enjoyment from producing software, I am making an economic gain?
Furthermore, in legal terms, when we say "copyright protects economic rights", are you saying that it protects other kinds of "benefit" besides money?
And note that Google Chrome is beta. Yet it's being championed as "the new web browser". Google are using the "it's beta" line while Real People are already using this as their browser.
The whole community was tugging at their collars when Ubuntu released 8.04 with Firefox 3 beta.
Yet with Chrome, everybody's overlooked the fact that it's beta. Newspapers and other mainstream media are going nuts over it and non-technical people are using it as their primary web browser. Maybe some responsibility needs to be taken here?
So, basically, if you do want to do something that actually approaches infinite (say the 1,000,000,000th Fibonacci number), Haskell will croak trying to keep all one billion numbers of the list around, while other languages will just output the result (although it would take a fairly long time, I suspect).
Uh, yes, I believe that's the gist of it. And no, I don't think a "good" Haskell implementation can really throw them away, in case you need to use it again (though a really good static analysis possibly could throw it away on the last usage).
As I said, it was probably a bad example. What this stuff is good for is the dynamic programming where you actually do need to explicitly track the other data elements. Haskell will of course also allow you to write an explicit version which works exactly like your C version.
But yes, the point of this is not to make things more efficient, but make them more elegant from the programmer's point of view. (Though as a programmer I think I'd rather have explicit control of my data structures than mathematical elegance -- I'm not defending Haskell, just explaining it).
Sounds like you are advocating DRM on the laptop;)
I swear on the name of Slashdot itself I am not advocating DRM on anything!!!
I was referring to root access. Basically anyone adept enough to figure out root should be able to figure "ok anything I do with sudo is dangerous. Anything I do without sudo is (supposedly) not".
TBH what is needed is a decent recovery partition with either OS.
Also a good idea, but remember these are extremely tiny devices. They don't even hold Windows XP*.
* Note that the Windows versions of the machine are running Windows off an SD card - yet another puke-filled reason to not put Windows on them "just because it's what the rest of the world uses".
I honestly dont think that having to download a package to program is an unnecessary hurdle. *shrug*
Once again, you're used to a far better standard of Internet than these children.
Okay so maybe they shouldn't be tinkering with the operating system itself, but writing their own small programs. No arguments there.
Sugar+Linux would give them instant access to a Python shell where they can start playing around with programming right away. Having taught C and Python for several years, I can tell you it's much easier for students to grasp Python, and much easier to tinker.
On Windows you will have the same issue as above - you'll have to download Python to use it, and that is a high barrier to entry.
There is not a good case for using Windows vs Linux just because they might tinker with Linux too much. Access control is what prevents accidental tinkering, NOT proprietary software, and Linux has far better access controls than Windows XP.
Now, if Haskell is smart enough to be able to cache the result of the 100th Fibonacci number and use it later (like as the starting point for the calculation of the 200th), that would be useful.
Well Haskell isn't "smart" in the sense that it goes out and arbitrarily caches things it thinks may be helpful (that way leads to madness).
It does cache computations it's made if you store them in a variable or part of a data structure, so if you plan things right, you can get the behaviour you want.
Basically, here's one advanced way of calculating fibs in Haskell:
fibs = 0 : 1 : [ a + b | (a, b) <- zip fibs (tail fibs)]
This takes a bit of thinking to work out, but basically it declares fibs as a list of ints, which is infinitely long, the first two elements are 0 and 1, and each subsequent element is the sum of the previous two.
But there's a catch - unlike C where declaring an infinite data structure would be absurd, Haskell stores it this way:
[0, 1, <some vague concept of the remaining computation>] - a finite data structure of in fact just three elements.
Now you request the 100th fibonacci number, like this: (fibs !! 99). Haskell doesn't know the value of elements 2 through 99, so it unrolls it, performing the computation as much as possible - that's the laziness. Now it stores:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,... , 218922995834555169026, <some vague concept of the remaining computation>]
And it returns you the value 218922995834555169026 which is the last *known* element of the list. Note however that the computed list so far remains.
Now you request the 200th fibonacci number, like this: (fibs !! 199). And Haskell figures it has to do some more computation, but it already knows the first 100. So it just unrolls the next 100 elements, and gives you the 200th fib. You could subsequently request (fibs !! 37) and it would look it up without recomputing.
Note that this is a bit of a bad example, as Haskell uses linked lists, the lookup itself is linear, which is the same as the computation time. But other more expensive computations could be done using this technique.
Also note that my definition is a lot smaller and closer to the mathematical definition of Fibonacci sequence than your C code. Functional programming is (or at least tries to be) about defining what you want to compute, not how you want to compute it. Having said that, it does often mess with my head and I tend to use imperative languages for this reason;)
So Microsoft's new slogan is "Windows: Life Without Walls"... which curiously seems to be derived from the common hacker sig around these parts, "In a world without fences and walls, who needs gates and windows?"
Perhaps it's time to start a grassroots Internet campaign for free software: "In a life without walls, who needs Windows?"
What did you find easier when you started hacking?
a) Reading HTML source code to websites, and making your own HTML, or b) Downloading Linux/BSD/etc, booting it, setting up partitions so it won't clobber your important Windows partition, installing it, and loading it, then having to still actively go and seek out the source code?
The point about HTML is important because it's just so damn easy to view the source to a web page. On Sugar, they were planning to allow program source viewing in much the same way as a web browser has a "view source" button (and it's fairly easy for more advanced students to get into Python sources at least). Granted, harder than reading HTML, but much easier than getting into it the way we did.
Also note that for people in remote parts of the world, downloading a Linux distro is a lot harder than for us.
So *if* you had the goal of having students able to tinker with their machine, having Windows installed vs Sugar is a major step against that. Even those students actively interested in having a look will have a much harder time of it now.
Be it just me, or d' Google do a half-britched job o' this translation... just the front page be all t'were translated. At least fer what me eyes be seein'. Arrrrr!!!
I really don't think that Google wants to enter the browser wars. They will make no money from Chrome; it is just a means to an end. What they are trying to do is just make sure that the rapid pace of browser development over the past few years continues unabated, so Microsoft doesn't pull another IE6 on us.
One thing I never understood was how Microsoft profits from Internet Explorer. (ie. Why should they care if people buy Windows and install some other browser?)
It's kind of a non-sensical concept because Javascript as a language is capable of things C can't do, like eval new code at run time, modify existing types etc.
Yeah, so some of these things (like eval), you don't optimize. But the rest, you might be able to. It isn't nonsensical. Just non-optimal.
"God grant me the serenity to accept the things I cannot optimize, courage to optimize the things I can, and the wisdom to know the difference."
Sounds like a bit of creative extrapolation.
I'd say "15 million of them are either quite pleased with, or begrudgingly put up with."
(I'll admit that I'm a lot more pleased with Steam than other forms of DRM, and I choose to use it, but I'm not too "pleased" with the idea that Valve can terminate my "subscription" to the games I own, including the ones I purchased before Steam even existed, at any time. Usage != Pleased.)
Are you insane?
Then proprietary governments around the world will steal our ideas, improve upon them, and not release them back to us.
Ah, it's good that we have Adobe to tell us when Linux is a first-class desktop operating system citizen. Thanks guys!
I'm sorry, but as a parent, your opinion doesn't count. This isn't for protecting children, it's for preventing crime. Computer crimes, that we all commit day in, day out, and soon will be free of forever!
I think if you are trying to resist, you must be a paedophile.
I kind of knew about this (though not its extent) when I voted for him. Unfortunately, the system isn't really set up for people to have any real kind of expression. You vote for one face, or another, and all the policies that come with it.
I can't say I regret voting him in; better than another term of Howard and all the *other* shit he's dragged us through (ie. Iraq, among other things).
I say it's foolish to argue about who should or shouldn't have been voted in, and better to reason with whoever was voted in. Time to get out my big fat ... letter-writing pen!
Why is "Windows 1" (by your proposed retroactive naming scheme) version 3.1?
On the "Fiesty" / "Gutsy" issue ... they are only codenames, like Longhorn (except they are used by the masses long after the release).
Officially, Ubuntu releases are called "Ubuntu 8.04", etc. Which is not very different from the "Windows 7" naming scheme (except Ubuntu is also cunningly date-based).
That's an excellent way to describe the president: "a fictional clown that was invented by marketing people".
OK I've always had trouble understanding the difference between economics and finance (and commerce, but let's save that one for another day).
Are you saying "economics" is not the study of money, per se, but also any kind of perceived "benefit" and "loss" that someone can gain or lose? So if I derive enjoyment from producing software, I am making an economic gain?
Furthermore, in legal terms, when we say "copyright protects economic rights", are you saying that it protects other kinds of "benefit" besides money?
(These are actual, not rhetorical, questions).
from __future__ import division has actually worked since Python 2.2.
It's just that Python 3.0 finally gives them an excuse to make it compulsory.
And note that Google Chrome is beta. Yet it's being championed as "the new web browser". Google are using the "it's beta" line while Real People are already using this as their browser.
The whole community was tugging at their collars when Ubuntu released 8.04 with Firefox 3 beta.
Yet with Chrome, everybody's overlooked the fact that it's beta. Newspapers and other mainstream media are going nuts over it and non-technical people are using it as their primary web browser. Maybe some responsibility needs to be taken here?
But not 'single' quotes!
I'm from Australia too :)
Uh, yes, I believe that's the gist of it. And no, I don't think a "good" Haskell implementation can really throw them away, in case you need to use it again (though a really good static analysis possibly could throw it away on the last usage).
As I said, it was probably a bad example. What this stuff is good for is the dynamic programming where you actually do need to explicitly track the other data elements. Haskell will of course also allow you to write an explicit version which works exactly like your C version.
But yes, the point of this is not to make things more efficient, but make them more elegant from the programmer's point of view. (Though as a programmer I think I'd rather have explicit control of my data structures than mathematical elegance -- I'm not defending Haskell, just explaining it).
I swear on the name of Slashdot itself I am not advocating DRM on anything!!!
I was referring to root access. Basically anyone adept enough to figure out root should be able to figure "ok anything I do with sudo is dangerous. Anything I do without sudo is (supposedly) not".
Also a good idea, but remember these are extremely tiny devices. They don't even hold Windows XP*.
* Note that the Windows versions of the machine are running Windows off an SD card - yet another puke-filled reason to not put Windows on them "just because it's what the rest of the world uses".
Once again, you're used to a far better standard of Internet than these children.
Okay so maybe they shouldn't be tinkering with the operating system itself, but writing their own small programs. No arguments there.
Sugar+Linux would give them instant access to a Python shell where they can start playing around with programming right away. Having taught C and Python for several years, I can tell you it's much easier for students to grasp Python, and much easier to tinker.
On Windows you will have the same issue as above - you'll have to download Python to use it, and that is a high barrier to entry.
There is not a good case for using Windows vs Linux just because they might tinker with Linux too much. Access control is what prevents accidental tinkering, NOT proprietary software, and Linux has far better access controls than Windows XP.
Well Haskell isn't "smart" in the sense that it goes out and arbitrarily caches things it thinks may be helpful (that way leads to madness).
It does cache computations it's made if you store them in a variable or part of a data structure, so if you plan things right, you can get the behaviour you want.
Basically, here's one advanced way of calculating fibs in Haskell:
(From Haskell for C Programmers).
This takes a bit of thinking to work out, but basically it declares fibs as a list of ints, which is infinitely long, the first two elements are 0 and 1, and each subsequent element is the sum of the previous two.
But there's a catch - unlike C where declaring an infinite data structure would be absurd, Haskell stores it this way:
[0, 1, <some vague concept of the remaining computation>] - a finite data structure of in fact just three elements.
Now you request the 100th fibonacci number, like this: (fibs !! 99). Haskell doesn't know the value of elements 2 through 99, so it unrolls it, performing the computation as much as possible - that's the laziness. Now it stores:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... , 218922995834555169026, <some vague concept of the remaining computation>]
And it returns you the value 218922995834555169026 which is the last *known* element of the list. Note however that the computed list so far remains.
Now you request the 200th fibonacci number, like this: (fibs !! 199). And Haskell figures it has to do some more computation, but it already knows the first 100. So it just unrolls the next 100 elements, and gives you the 200th fib. You could subsequently request (fibs !! 37) and it would look it up without recomputing.
Note that this is a bit of a bad example, as Haskell uses linked lists, the lookup itself is linear, which is the same as the computation time. But other more expensive computations could be done using this technique.
Also note that my definition is a lot smaller and closer to the mathematical definition of Fibonacci sequence than your C code. Functional programming is (or at least tries to be) about defining what you want to compute, not how you want to compute it. Having said that, it does often mess with my head and I tend to use imperative languages for this reason ;)
So Microsoft's new slogan is "Windows: Life Without Walls" ... which curiously seems to be derived from the common hacker sig around these parts, "In a world without fences and walls, who needs gates and windows?"
Perhaps it's time to start a grassroots Internet campaign for free software: "In a life without walls, who needs Windows?"
But it's a much higher barrier to entry.
What did you find easier when you started hacking?
a) Reading HTML source code to websites, and making your own HTML, or
b) Downloading Linux/BSD/etc, booting it, setting up partitions so it won't clobber your important Windows partition, installing it, and loading it, then having to still actively go and seek out the source code?
The point about HTML is important because it's just so damn easy to view the source to a web page. On Sugar, they were planning to allow program source viewing in much the same way as a web browser has a "view source" button (and it's fairly easy for more advanced students to get into Python sources at least). Granted, harder than reading HTML, but much easier than getting into it the way we did.
Also note that for people in remote parts of the world, downloading a Linux distro is a lot harder than for us.
So *if* you had the goal of having students able to tinker with their machine, having Windows installed vs Sugar is a major step against that. Even those students actively interested in having a look will have a much harder time of it now.
Avast me hearties!
Be it just me, or d' Google do a half-britched job o' this translation ... just the front page be all t'were translated. At least fer what me eyes be seein'. Arrrrr!!!
You can get over 2/3 of the way through the FAQ without seeing the word "synergies".
Exactly. Which is why there are no facts in these commercials.
One thing I never understood was how Microsoft profits from Internet Explorer. (ie. Why should they care if people buy Windows and install some other browser?)
Ah yes, you're right! So CPython itself is just a straight bytecode interpreter.
Yeah, so some of these things (like eval), you don't optimize. But the rest, you might be able to. It isn't nonsensical. Just non-optimal.
"God grant me the serenity to accept the things I cannot optimize, courage to optimize the things I can, and the wisdom to know the difference."