If you ever upgrade to Longhorn or Tiger or the Xorg, then you've got a reason to have 512M right there. In order to get accelerated window drawing and double buffering, you'll have 200MB+ of data stored on the graphics card for window buffers. If you want to have anything left for running games or a 3D modeler, well, there you go.
That's just a stupid, knee-jerk reaction. First, This OS, being programmed in a safe language, was naturally impervious to buffer overruns, which plague OSs written in C. Second, you're assuming that there were no safety mechanisms in place. In an OS written in a safe language, the kernel/userspace boundry ceases to exist. Since the boundry is no longer necessary for protection (don't want the user to touch a critical piece of data? Easy, just don't give them a reference to it --- there is no other way for them to get at it). So you can keep core functionality behind protected interfaces, and expose the stuff that's safe for the user to userland. Think of it in like the HURD. You allow the user a tremendous amount of flexibility (eg: write their own translators, mount their own devices), and use a fine-grained protection mechanism to make it safe.
(1) is a useless statement, because in the absence of examples, there is no way to rationally respond to your post.
(2) is just a sign you're not using a good IDE.
Re:Static code verifications, anyone?
on
Practical Common Lisp
·
· Score: 2, Interesting
It's not an odd claim to say that he doesn't make type errors. Generally, if you're rigorous about the design of your system, the types fall out naturally. It's also important to note that Lisp code generally uses far fewer types than Java code. Java code makes a new type for everything, because that's the only real expressive mechanism Java has --- classes. Lisp is far more expressive, so types are generally created when the problem domain requires it. Thus, it's much more clear and obvious what the types of an expression are at any given point, which minimizes errors.
Ask a Python programmer how often he makes type errors. After the first few weeks of using Python, I realized I very rarely made type errors. That's partly because my code was much simpler, shorter, and more logical than the equivalent C++ or Java code.
As for (b), the insight your missing is type checking is fundementally a way of declaring a contract. The problem is that C++ and Java force you to declare that contract whenever you use a variable, instead of just when it makes sense. Consider a producer/consumer problem where the product is passed between some number of intermediaries. Logically, type contracts only need to be enforced between the producer and the consumer --- the intermediaries don't care what the types are. In C++/Java, you can't do that. You're either forced to pick a type, and then forced to change all the intermediaries when the producer/consumer changes, or you're forced to create yet another class heierarchy, just to insulate the intermediaries from those changes. That's why Java code tends to have such overengineered heierarchies --- the language prevents the programmer from making more rational ones. Think of why every popular Java IDE has a tool to automatically 'refactor' the code when a type changes. If you think about it, it's an enormous hack. It's just an automated way to do grunt-work that is only necessary because the language is too limited to express what the code really needs to say.
Um, what the heck are you talking about? Common Lisp does have static code verification, through type declarations. The general development pattern of Lisp code is to develop the code bottom-up, in a dynamic manner, then introduce type declarations in certain places to either enforce contracts or improve performance. If your code is properly modularized, then contract enforcement should only really be necessary between modules.
And it's not that Lisp runtimes cannot detect that a function is missing (they can, and good environments will warn you that it is), it's that Lisp allows you to create functions and classes at runtime, so the compiler has no way of knowing whether the function will exist in the future. And string multiplication with a float is never fine in Lisp: if you do the type declarations, the compiler will give you an error at compile time, otherwise, it will give you an error at runtime.
It depends on the compiler. Nearly all Lisp systems have what's called an FFI, to access native libraries. Interpreters like Clisp have the runtime intercept ffi calls, and call the shared library. Compilers that compile to native code just use whatever ABI is specified by the platform. The system just sees machine code, it has no idea whether that code comes from cmucl or gcc.
That's the problem, it's *not* a better, faster, more intuitive way of doing things. It just looks nicer to some people. The varied colors and varied profiles of the other icons was far better from an efficiency point of view. That was the beauty of the classic MacOS, which Apple seems to have gotten away from. It was never the prettiest OS, but it was always functional and efficient.
The HIG is based on scientific evidence, and frankly, a lot of common sense. It doesn't take a genius to figure out that big buttons with markedly different outlines are a lot easier to find and click than smaller buttons that all have the same outline.
No, because Siracusa is basing his analysis on basic human interface ideals that Apple itself pioneered (and still have in the HIG), while you're basing it on your personal reaction. Scientifically, your personal reaction counts for zilch, because it's been shown that users rarely know what's efficient for them until somebody gets in a lab and measures things.
1) Actually, the PPC 970 is the first 64-bit PowerPC chip. The other 64-bit chips were POWER chips, which are a different (though related architecture). Okay, the Motorola 620 was the first 64-bit PowerPC chip, but it flopped instantly, and was an architectural dead-end. The PPC 970 is a new 64-bit take on the PPC architecture.
2) The point is that at a $3000 price point, you expect a high-end graphics card. If you want a quiet machine, you could always take the option of a slow, cheap graphics card, but then the price of the machine should be adjusted accordingly. I'm building a super-quiet $850 machine right now (much quieter than the G5, which is quite a loud machine), and it has a better graphics card than this $3000 PowerMac. The secret is a mid-range graphics card, large heatsinks, and large (120 mm fans). THe reason current-gen midrange cards are better is that they are built on smaller processes (0.11 vs 0.13), so they use less power and create less heat.
The principle that non-political positions are filled via a meritocracy, not just favors to be given out to political allies. I'm not under the impression that this sort of thing doesn't happen, but abandoning all pretense of composure means rejecting the principle as valid.
There is an enormous difference between breaking the principles of society, and rejecting those principles as invalid. In the former cases, people at least acknowledge where the lines are, and if they overstep them, they know they are doing something wrong. In the latter case, people reject the idea that there are any lines, and that has enormous ramifications for the people who follow them.
Kant's legacy, in the political realm, is his insistence that democratic republics are the ideal form of government (to the extent that one is possible), and that republics do not make war on other republics. That's the ideal underlying Bush's actions --- he believes that everybody should have democracy, and his Christian faith kicks in and adds militant evangelism to the mix. Ergo, wars to bring democracy to foreign peoples.
Of course, he's completely off from Kant's ethical theories, and I don't want to malign Kant by associating him with Bush, I just want to point out that Bush's view of democracy and the role of democracies in international society is a particularly liberal one.
At no point in your post did you hit upon anything approaching a logical statement. You can't just summarily ignore parts of an article dismissing it as "media biases". The article claimed to quote industry sources. Either suggest to me why that is not believable, or stop with the wild accusations.
Such argumentative techniques are the height of idiocy, becauase there is no way a rational person can counter them. It's just a bunch of meaningless handwaving.
Negative impact aside, it's the principle of the thing. I have no allusions about the corruption of previous governments, but for God's sake, at least they tried to maintain the pretense of honesty!
Hillary will *never* win. There is no way Americans will elect a women to the Whitehouse. If Dems push Hillary for '08, you Republicans can rest comfortable in the knowledge of having another Republican President until 2016.
What conservative stance? Not to beat a dead horse, but the last conservative President we've had was Nixon. How can anybody possibly consider Bush conservative? He's a fairly classic case of a Kantian liberal, perhaps with populist social leanings.
I'm living in this alternate world where I as a liberal democrat am more conservative than Republicans, and it's getting old real fast...
But compared to some of the utter shit that infests tv, was it really so bad? Worse than soap operas? Or reality tv? Or those pop idol things?
You can't compare those other shows to Enterprise, they're not in the same genre. For people whose tastes run to that sort of thing, "American Idol" is a good show. For people whose tastes run to sci-fi, Enterprise was not a good show (otherwise, people would have watched it).
I think a lot of the vitriol comes from the fact that Enterprise wasn't just a bad show, it was personally offensive to sci-fi fans. Take the time-travel crap. Poorly-done time travel plots are such a staple of bad sci-fi, that they don't just make for a bad show, but actively piss off viewers.
If you think I am a vegetable who "used to be human", then you're a moron. It is characteristic of vegetables to have very limited reactions to the outside environment, while I am clearly capable of interacting strongly with the outside environment. Vegetables have no abstract communication, while I am (in typing this post), obviously capable of it. Vegetables are capable of processing nourishment, (vitamins and water), but incapable of providing it for themselves. Since I had a sandwich for dinner, that is clearly untrue of me. In all these regards, I am dissimilar to a vegetable, while somebody in a coma is not...
No, I don't disagree with that. However, you're kind of missing my point. When we say something in science is an accepted "theory", we mean "this is the truth as far as we know". It's obvious that the theory might need to be modified, or even thrown away, but just because of that, it doesn't mean that it is invalid. Yes, evolution is a "theory" and has not been proven. Aerodynamics also consists of "theories" that have not been proven. However, they are still valid, because they work, and we don't have much evidence to disprove them.
If you ever upgrade to Longhorn or Tiger or the Xorg, then you've got a reason to have 512M right there. In order to get accelerated window drawing and double buffering, you'll have 200MB+ of data stored on the graphics card for window buffers. If you want to have anything left for running games or a 3D modeler, well, there you go.
They keyboard on the G5 iMacs is not that well built. It's kinda mushy, to tell the the truth.
That's just a stupid, knee-jerk reaction. First, This OS, being programmed in a safe language, was naturally impervious to buffer overruns, which plague OSs written in C. Second, you're assuming that there were no safety mechanisms in place. In an OS written in a safe language, the kernel/userspace boundry ceases to exist. Since the boundry is no longer necessary for protection (don't want the user to touch a critical piece of data? Easy, just don't give them a reference to it --- there is no other way for them to get at it). So you can keep core functionality behind protected interfaces, and expose the stuff that's safe for the user to userland. Think of it in like the HURD. You allow the user a tremendous amount of flexibility (eg: write their own translators, mount their own devices), and use a fine-grained protection mechanism to make it safe.
(1) is a useless statement, because in the absence of examples, there is no way to rationally respond to your post.
(2) is just a sign you're not using a good IDE.
It's not an odd claim to say that he doesn't make type errors. Generally, if you're rigorous about the design of your system, the types fall out naturally. It's also important to note that Lisp code generally uses far fewer types than Java code. Java code makes a new type for everything, because that's the only real expressive mechanism Java has --- classes. Lisp is far more expressive, so types are generally created when the problem domain requires it. Thus, it's much more clear and obvious what the types of an expression are at any given point, which minimizes errors.
Ask a Python programmer how often he makes type errors. After the first few weeks of using Python, I realized I very rarely made type errors. That's partly because my code was much simpler, shorter, and more logical than the equivalent C++ or Java code.
As for (b), the insight your missing is type checking is fundementally a way of declaring a contract. The problem is that C++ and Java force you to declare that contract whenever you use a variable, instead of just when it makes sense. Consider a producer/consumer problem where the product is passed between some number of intermediaries. Logically, type contracts only need to be enforced between the producer and the consumer --- the intermediaries don't care what the types are. In C++/Java, you can't do that. You're either forced to pick a type, and then forced to change all the intermediaries when the producer/consumer changes, or you're forced to create yet another class heierarchy, just to insulate the intermediaries from those changes. That's why Java code tends to have such overengineered heierarchies --- the language prevents the programmer from making more rational ones. Think of why every popular Java IDE has a tool to automatically 'refactor' the code when a type changes. If you think about it, it's an enormous hack. It's just an automated way to do grunt-work that is only necessary because the language is too limited to express what the code really needs to say.
Um, what the heck are you talking about? Common Lisp does have static code verification, through type declarations. The general development pattern of Lisp code is to develop the code bottom-up, in a dynamic manner, then introduce type declarations in certain places to either enforce contracts or improve performance. If your code is properly modularized, then contract enforcement should only really be necessary between modules.
And it's not that Lisp runtimes cannot detect that a function is missing (they can, and good environments will warn you that it is), it's that Lisp allows you to create functions and classes at runtime, so the compiler has no way of knowing whether the function will exist in the future. And string multiplication with a float is never fine in Lisp: if you do the type declarations, the compiler will give you an error at compile time, otherwise, it will give you an error at runtime.
It depends on the compiler. Nearly all Lisp systems have what's called an FFI, to access native libraries. Interpreters like Clisp have the runtime intercept ffi calls, and call the shared library. Compilers that compile to native code just use whatever ABI is specified by the platform. The system just sees machine code, it has no idea whether that code comes from cmucl or gcc.
That's the problem, it's *not* a better, faster, more intuitive way of doing things. It just looks nicer to some people. The varied colors and varied profiles of the other icons was far better from an efficiency point of view. That was the beauty of the classic MacOS, which Apple seems to have gotten away from. It was never the prettiest OS, but it was always functional and efficient.
Oh come on. I'm actually a big fan of Apple. I just thought that the obvious fellatio was a bit comical...
The HIG is based on scientific evidence, and frankly, a lot of common sense. It doesn't take a genius to figure out that big buttons with markedly different outlines are a lot easier to find and click than smaller buttons that all have the same outline.
In terms of technology, Tiger is in Longhorn territory. Longhorn assuredly will not run on anything resembling a P2 400...
Slurp...
I'm done now Mr. Jobs.
Thanks Doofus, same time next week?
No, because Siracusa is basing his analysis on basic human interface ideals that Apple itself pioneered (and still have in the HIG), while you're basing it on your personal reaction. Scientifically, your personal reaction counts for zilch, because it's been shown that users rarely know what's efficient for them until somebody gets in a lab and measures things.
The PPC970 is true 64-bit, it's just that MacOS X doesn't yet fully support the 64-bit address space.
1) Actually, the PPC 970 is the first 64-bit PowerPC chip. The other 64-bit chips were POWER chips, which are a different (though related architecture). Okay, the Motorola 620 was the first 64-bit PowerPC chip, but it flopped instantly, and was an architectural dead-end. The PPC 970 is a new 64-bit take on the PPC architecture.
2) The point is that at a $3000 price point, you expect a high-end graphics card. If you want a quiet machine, you could always take the option of a slow, cheap graphics card, but then the price of the machine should be adjusted accordingly. I'm building a super-quiet $850 machine right now (much quieter than the G5, which is quite a loud machine), and it has a better graphics card than this $3000 PowerMac. The secret is a mid-range graphics card, large heatsinks, and large (120 mm fans). THe reason current-gen midrange cards are better is that they are built on smaller processes (0.11 vs 0.13), so they use less power and create less heat.
The principle that non-political positions are filled via a meritocracy, not just favors to be given out to political allies. I'm not under the impression that this sort of thing doesn't happen, but abandoning all pretense of composure means rejecting the principle as valid.
There is an enormous difference between breaking the principles of society, and rejecting those principles as invalid. In the former cases, people at least acknowledge where the lines are, and if they overstep them, they know they are doing something wrong. In the latter case, people reject the idea that there are any lines, and that has enormous ramifications for the people who follow them.
Excellent point.
Kant's legacy, in the political realm, is his insistence that democratic republics are the ideal form of government (to the extent that one is possible), and that republics do not make war on other republics. That's the ideal underlying Bush's actions --- he believes that everybody should have democracy, and his Christian faith kicks in and adds militant evangelism to the mix. Ergo, wars to bring democracy to foreign peoples.
Of course, he's completely off from Kant's ethical theories, and I don't want to malign Kant by associating him with Bush, I just want to point out that Bush's view of democracy and the role of democracies in international society is a particularly liberal one.
At no point in your post did you hit upon anything approaching a logical statement. You can't just summarily ignore parts of an article dismissing it as "media biases". The article claimed to quote industry sources. Either suggest to me why that is not believable, or stop with the wild accusations.
Such argumentative techniques are the height of idiocy, becauase there is no way a rational person can counter them. It's just a bunch of meaningless handwaving.
Negative impact aside, it's the principle of the thing. I have no allusions about the corruption of previous governments, but for God's sake, at least they tried to maintain the pretense of honesty!
Hillary will *never* win. There is no way Americans will elect a women to the Whitehouse. If Dems push Hillary for '08, you Republicans can rest comfortable in the knowledge of having another Republican President until 2016.
What conservative stance? Not to beat a dead horse, but the last conservative President we've had was Nixon. How can anybody possibly consider Bush conservative? He's a fairly classic case of a Kantian liberal, perhaps with populist social leanings.
I'm living in this alternate world where I as a liberal democrat am more conservative than Republicans, and it's getting old real fast...
But compared to some of the utter shit that infests tv, was it really so bad? Worse than soap operas? Or reality tv? Or those pop idol things?
You can't compare those other shows to Enterprise, they're not in the same genre. For people whose tastes run to that sort of thing, "American Idol" is a good show. For people whose tastes run to sci-fi, Enterprise was not a good show (otherwise, people would have watched it).
I think a lot of the vitriol comes from the fact that Enterprise wasn't just a bad show, it was personally offensive to sci-fi fans. Take the time-travel crap. Poorly-done time travel plots are such a staple of bad sci-fi, that they don't just make for a bad show, but actively piss off viewers.
If you think I am a vegetable who "used to be human", then you're a moron. It is characteristic of vegetables to have very limited reactions to the outside environment, while I am clearly capable of interacting strongly with the outside environment. Vegetables have no abstract communication, while I am (in typing this post), obviously capable of it. Vegetables are capable of processing nourishment, (vitamins and water), but incapable of providing it for themselves. Since I had a sandwich for dinner, that is clearly untrue of me. In all these regards, I am dissimilar to a vegetable, while somebody in a coma is not...
No, I don't disagree with that. However, you're kind of missing my point. When we say something in science is an accepted "theory", we mean "this is the truth as far as we know". It's obvious that the theory might need to be modified, or even thrown away, but just because of that, it doesn't mean that it is invalid. Yes, evolution is a "theory" and has not been proven. Aerodynamics also consists of "theories" that have not been proven. However, they are still valid, because they work, and we don't have much evidence to disprove them.