Joe Blow will never be a Unix hacker, and giving them a system that relies on loads of arcane textual configuration files, command line tools, and shell scripts is asking for trouble.
As opposed to a registry? The information has to be somewhere, and unless you buy into the "trusted computing" garbage, it will always be theoretically possible for users to muck things up. But on OS X or good Linux distributions, you really have to make an effort to do so.
The good job that they've done is in hiding away the most of the complex unixy stuff, but open up Terminal and you'll find its all there and that the system relies on a great deal of it.
Many Mac users have no idea that they're running Unix, or that Terminal.app or/etc even exist. They're not going to be randomly firing up bash and typing "rm -rf/". And on the plus side, Mac developers can rely on the existence of Perl and Python and standard Unix libraries, thereby simplifying packaging and configuration.
1. The fossil records do not show the transitionary fossils required by the theory.
This is blatantly false. On the off chance that you aren't deliberately lying or determined to remain willfully ignorant, you can start to educate yourself here.
Unfortunately this is not true. As a conservative I believe in limited government and individual freedom, neither of which is terribly popular with the current administration.
(Sadly, this is a somewhat bipartisan problem, but the dems don't have enough power to be truly corrupted)
Yet. I'm hoping we can go back to divided government for a while.
That really doesn't make any sense. It restricts your ability to play certain content. How does that in any way effect innovation?
It certainly doesn't "effect" innovation; exactly the opposite. Consider a program that records the contents of your screen as a video. There are tons of legitimate uses for this, but under a DRM regime it must be prohibited because you could use it to record copyrighted content. The problem isn't with the DRM restrictions themselves; it's the restrictions that are placed on other software that has the potential to circumvent the DRM, regardless of its other uses.
But DRM is here to stay, and I'm actually happy about that
I'm hoping you're a troll or an astroturfer, because if you're serious it's just depressing.
it wil lead to MORE choices, not fewer
BS. When content providers say they won't release anything without super-DRM, they're lying. Most CDs have no DRM, that hasn't stopped the record labels from shipping them by the billions. The DRM on DVDs is cracked wide open, again that hasn't stopped Hollywood. And remember when CBS wasn't going to air anything in HD if the broadcast flag wasn't mandated?
Nothing in the history of capitalism that could have lead to less of something that was good for the corporation and bad for the consumer has ever done so.
I can't not fail to disagree with the opposite of this.
Least of all advertising, which is now so pervasive there are ads in front of the cart facing you, in the seat, on the order seperation bar, and on the payment counter where I put down my purse.
It's an arms race, and consumers are at least breaking even. I don't terribly mind ads on shopping carts because they don't waste my time, unlike TV commercials which I now never see thanks to my DVR.
I know. Everybody is stupid except you. If we all just used Erland and Haskell, it would be ITopia.
Of course not, that's just silly. We should all use Python:)
Seriously, you're right that functional programming is not a magic bullet. In my experience it makes many hard things easy but many easy things hard (Exhibit A: LISP loops). That's why I like Python and to a lesser extent Ruby (syntax is too Perlish). You get a lot of the power of functional languages but in a format that's more approachable and familiar.
And the big one which politicans can't say publicly is that radical fundamentalist Islam is incompatible with civilization and must be expunged just as Naziism and Stalinism were. A key goal in Iraq was to create a democracy in the heart of the Muslim world and cause a domino effect. Obviously this has not gone exactly according to plan, but the underlying idea is valid.
Here we have a group of people were the evidence sugest things could be one way, but lack a total liniage of proof, stating in a state mandated forumn that your religion is wrong, "ours is right" and you are a lesser person for believing otherwise.
The evidence for evolution is much stronger than you acknowledge, and science is not a religion.
They are aserting "the bubble theory" in that evolution only strengthens the species instead of creating new ones
Wait, I know this one: "variation within kinds", right?
You need to define the wikipedia variable, but that's easy enough to do by first executing another instance of the program and setting wikipedia to the output.
In theory, you can end up with a location that takes a number so large that you need more than 100MB (mb = milibits ?) to store it.
Not only can, but will the vast majority of the time. Most strings are incompressible by *any* algorithm. (Strings consisting of human-readable text are of course exceptions). And yet, past a certain size it is unprovable that any specific string is incompressible. Algorithmic information theory is wacky.
unless the media companies take draconian action to protect their products, they will sell ONE copy to the first guy who can rip it.
Both parts of this are just wrong. First, CDs and DVDs are easily copyable, yet they continue to sell. Second, "draconian" DRM will likely hurt the media companies more than it helps. Eliminating piracy is impossible; even if they come up with DRM that actually works (which among other things would require mandating "trusted" computing everywhere), all it takes is one guy willing to point a decent camera at a monitor. Furthermore, the more obnoxious the DRM, the better a pirated copy is in comparison. I'll pay for DVDs because I know I can easily rip them for more convenient access. If I couldn't, I'd either do without or acquire the content through less legal means.
I don't think there's a credible alternative explanation. The "undisclosed technology" thing has been revealed to be utterly untrue.
Why? The x86 kernel sources almost certainly have references to Woodcrest and quad CPUs, which Apple wouldn't have wanted to expose until the hardware announcements.
Objective C has one of the most elegant reference counting implementations on the planet.
It's clever and it works well most of the time, but I wouldn't call it "elegant". Witness the frequent debates on how to properly write accessor methods.
Garbage collection is a step backward, IMO, but every language seems to be moving in this direction.
And with good reason. As Paul Graham has noted, eventually higher levels of abstraction always win.
I really do believe that resource awareness is crucial to efficient programming.
Most of the time, efficiency doesn't really matter (specifically, the constant in the big-O doesn't matter, within reason). I don't care if my bittorrent client uses 4% CPU time instead of 2%. I do care if it has a memory management bug exposes my system to a remote exploit.
I'm sure 40 years ago assembly guys were saying the same thing about FORTRAN. But maybe it's possible that not having to worry about deallocating every dinky little string frees up time to focus on the real bottlenecks.
And some programmers think that they are good enough to avoid those mistakes. But, you know what? I seriously doubt that.
Exactly. It's like how everybody thinks they're an above-average driver.
Java doesn't guarantee correctness, but it catches more bugs, and it makes some of the more dangerous ones - the buffer overflows, the stack overflows, etc, etc - practically impossible. I'd be curious to know if Objective C does the same thing
Unfortunately no; ObjC is just C with some syntax changes to support OOP. Like C and C++, you can still stomp all over memory and dereference null and enjoy buffer overruns. The Cocoa class libraries help some (e.g. the collections classes do bounds-checking), but it would be good to have a "managed code" option, such as officially supported Python and/or Ruby bindings for Cocoa.
The reason you arent going to see OS X for PCs any time soon has little to do with profit, and a lot to do with the fact that doing so means a fight to the death with Microsoft
Exactly. I believe this is also the reason iWork doesn't have a spreadsheet, so as not to directly compete with Office. If they went to a deathmatch, I'd give MS a 75% chance of effectively destroying Apple's computing division (they'd still exist as the iPod company), and Apple a 25% chance of cracking the Windows monopoly. Neither of them wants to take those risks.
WebObjects is a fantastic technology, but it's been ignored for so long that Django and Rails and even J2EE are now catching up to it. With the two major disadvantages of being closed source and having a questionable future, I couldn't recommend starting out with WO today.
You think Verizon will allow users to download songs directly from ITMS, and bypass their network?
Verizon: "We won't allow iPhones on our network if they can download songs from iTMS."
Apple: "Fair enough, we'll just explain to our customers that you're a bunch of pricks and that they should use Cingular or T-Mobile. Here's our conservative estimates of the revenue you will not be receiving. Have a nice day."
I wonder where people get so ingrained in thinking that free stuff is crap.
Because in the physical world it's a pretty good rule of thumb. Nobody gives away free cars, and if somebody is giving away "free" iPods it's typically a pyramid scheme. Software is fundamentally different because the marginal cost is zero, but many people haven't realized this yet.
I really *am* tons more productive in Python than in Java or C++. I found that when I went from C++ to Java, I got maybe a 1/3 reduction in the time it took to complete comparable projects. My Python projects probably take only 50% as long to complete as comparable work in C++.
Have you guys had similar experiences?
Absolutely. Of all the languages I've used, Python puts up the fewest barriers between my thoughts and converting them to working software. It's certainly not a magic bullet because it won't do your thinking for you, but I'm significantly more productive in Python with 6 months of experience than I am in Java after 10 years.
Plenty of cards have no annual fee, and still give you miles/cashback/etc. Mine does 1% off everything and 5% off gas, which is especially useful these days.
Then again, I'm sure the credit card companies hate people like me, who are essentially taking advantage of the system.
Of course they'd rather we spend like typical consumers, but they still make a profit off the transaction fees.
Joe Blow will never be a Unix hacker, and giving them a system that relies on loads of arcane textual configuration files, command line tools, and shell scripts is asking for trouble.
/etc even exist. They're not going to be randomly firing up bash and typing "rm -rf /". And on the plus side, Mac developers can rely on the existence of Perl and Python and standard Unix libraries, thereby simplifying packaging and configuration.
As opposed to a registry? The information has to be somewhere, and unless you buy into the "trusted computing" garbage, it will always be theoretically possible for users to muck things up. But on OS X or good Linux distributions, you really have to make an effort to do so.
The good job that they've done is in hiding away the most of the complex unixy stuff, but open up Terminal and you'll find its all there and that the system relies on a great deal of it.
Many Mac users have no idea that they're running Unix, or that Terminal.app or
1. The fossil records do not show the transitionary fossils required by the theory.
This is blatantly false. On the off chance that you aren't deliberately lying or determined to remain willfully ignorant, you can start to educate yourself here.
Guess what? Your team runs the country! You won!
Unfortunately this is not true. As a conservative I believe in limited government and individual freedom, neither of which is terribly popular with the current administration.
(Sadly, this is a somewhat bipartisan problem, but the dems don't have enough power to be truly corrupted)
Yet. I'm hoping we can go back to divided government for a while.
That really doesn't make any sense. It restricts your ability to play certain content. How does that in any way effect innovation?
It certainly doesn't "effect" innovation; exactly the opposite. Consider a program that records the contents of your screen as a video. There are tons of legitimate uses for this, but under a DRM regime it must be prohibited because you could use it to record copyrighted content. The problem isn't with the DRM restrictions themselves; it's the restrictions that are placed on other software that has the potential to circumvent the DRM, regardless of its other uses.
But DRM is here to stay, and I'm actually happy about that
I'm hoping you're a troll or an astroturfer, because if you're serious it's just depressing.
it wil lead to MORE choices, not fewer
BS. When content providers say they won't release anything without super-DRM, they're lying. Most CDs have no DRM, that hasn't stopped the record labels from shipping them by the billions. The DRM on DVDs is cracked wide open, again that hasn't stopped Hollywood. And remember when CBS wasn't going to air anything in HD if the broadcast flag wasn't mandated?
It's not about piracy, it's about control.
launchd is open source; it even uses the Apache license instead of the APSL.
I can't not fail to disagree with the opposite of this.
Least of all advertising, which is now so pervasive there are ads in front of the cart facing you, in the seat, on the order seperation bar, and on the payment counter where I put down my purse.
It's an arms race, and consumers are at least breaking even. I don't terribly mind ads on shopping carts because they don't waste my time, unlike TV commercials which I now never see thanks to my DVR.
I know. Everybody is stupid except you. If we all just used Erland and Haskell, it would be ITopia.
:)
Of course not, that's just silly. We should all use Python
Seriously, you're right that functional programming is not a magic bullet. In my experience it makes many hard things easy but many easy things hard (Exhibit A: LISP loops). That's why I like Python and to a lesser extent Ruby (syntax is too Perlish). You get a lot of the power of functional languages but in a format that's more approachable and familiar.
There are many more.
And the big one which politicans can't say publicly is that radical fundamentalist Islam is incompatible with civilization and must be expunged just as Naziism and Stalinism were. A key goal in Iraq was to create a democracy in the heart of the Muslim world and cause a domino effect. Obviously this has not gone exactly according to plan, but the underlying idea is valid.
Here we have a group of people were the evidence sugest things could be one way, but lack a total liniage of proof, stating in a state mandated forumn that your religion is wrong, "ours is right" and you are a lesser person for believing otherwise.
The evidence for evolution is much stronger than you acknowledge, and science is not a religion.
They are aserting "the bubble theory" in that evolution only strengthens the species instead of creating new ones
Wait, I know this one: "variation within kinds", right?
You need to define the wikipedia variable, but that's easy enough to do by first executing another instance of the program and setting wikipedia to the output.
In theory, you can end up with a location that takes a number so large that you need more than 100MB (mb = milibits ?) to store it.
Not only can, but will the vast majority of the time. Most strings are incompressible by *any* algorithm. (Strings consisting of human-readable text are of course exceptions). And yet, past a certain size it is unprovable that any specific string is incompressible. Algorithmic information theory is wacky.
Piracy is here to stay
Correct.
unless the media companies take draconian action to protect their products, they will sell ONE copy to the first guy who can rip it.
Both parts of this are just wrong. First, CDs and DVDs are easily copyable, yet they continue to sell. Second, "draconian" DRM will likely hurt the media companies more than it helps. Eliminating piracy is impossible; even if they come up with DRM that actually works (which among other things would require mandating "trusted" computing everywhere), all it takes is one guy willing to point a decent camera at a monitor. Furthermore, the more obnoxious the DRM, the better a pirated copy is in comparison. I'll pay for DVDs because I know I can easily rip them for more convenient access. If I couldn't, I'd either do without or acquire the content through less legal means.
I don't think there's a credible alternative explanation. The "undisclosed technology" thing has been revealed to be utterly untrue.
Why? The x86 kernel sources almost certainly have references to Woodcrest and quad CPUs, which Apple wouldn't have wanted to expose until the hardware announcements.
Objective C has one of the most elegant reference counting implementations on the planet.
It's clever and it works well most of the time, but I wouldn't call it "elegant". Witness the frequent debates on how to properly write accessor methods.
Garbage collection is a step backward, IMO, but every language seems to be moving in this direction.
And with good reason. As Paul Graham has noted, eventually higher levels of abstraction always win.
I really do believe that resource awareness is crucial to efficient programming.
Most of the time, efficiency doesn't really matter (specifically, the constant in the big-O doesn't matter, within reason). I don't care if my bittorrent client uses 4% CPU time instead of 2%. I do care if it has a memory management bug exposes my system to a remote exploit.
Garbage collection encourages lazy programming habits
I'm sure 40 years ago assembly guys were saying the same thing about FORTRAN. But maybe it's possible that not having to worry about deallocating every dinky little string frees up time to focus on the real bottlenecks.
And some programmers think that they are good enough to avoid those mistakes. But, you know what? I seriously doubt that.
Exactly. It's like how everybody thinks they're an above-average driver.
Java doesn't guarantee correctness, but it catches more bugs, and it makes some of the more dangerous ones - the buffer overflows, the stack overflows, etc, etc - practically impossible. I'd be curious to know if Objective C does the same thing
Unfortunately no; ObjC is just C with some syntax changes to support OOP. Like C and C++, you can still stomp all over memory and dereference null and enjoy buffer overruns. The Cocoa class libraries help some (e.g. the collections classes do bounds-checking), but it would be good to have a "managed code" option, such as officially supported Python and/or Ruby bindings for Cocoa.
The reason you arent going to see OS X for PCs any time soon has little to do with profit, and a lot to do with the fact that doing so means a fight to the death with Microsoft
Exactly. I believe this is also the reason iWork doesn't have a spreadsheet, so as not to directly compete with Office. If they went to a deathmatch, I'd give MS a 75% chance of effectively destroying Apple's computing division (they'd still exist as the iPod company), and Apple a 25% chance of cracking the Windows monopoly. Neither of them wants to take those risks.
If your neighbor sues you with the law, yield to him.
Um, ok. What is the proper Biblical response to SCO?
WebObjects is a fantastic technology, but it's been ignored for so long that Django and Rails and even J2EE are now catching up to it. With the two major disadvantages of being closed source and having a questionable future, I couldn't recommend starting out with WO today.
You think Verizon will allow users to download songs directly from ITMS, and bypass their network?
Verizon: "We won't allow iPhones on our network if they can download songs from iTMS."
Apple: "Fair enough, we'll just explain to our customers that you're a bunch of pricks and that they should use Cingular or T-Mobile. Here's our conservative estimates of the revenue you will not be receiving. Have a nice day."
Also, Apple will never relase a video iPod, or a cheap headless desktop. And they'd certainly never use Intel CPUs.
GPU virtualization, for starters.
I wonder where people get so ingrained in thinking that free stuff is crap.
Because in the physical world it's a pretty good rule of thumb. Nobody gives away free cars, and if somebody is giving away "free" iPods it's typically a pyramid scheme. Software is fundamentally different because the marginal cost is zero, but many people haven't realized this yet.
W00t. No guarantees in Usability.
To be fair, that's what just about every software package says. Most just hide it in the warranty disclaimer.
I really *am* tons more productive in Python than in Java or C++. I found that when I went from C++ to Java, I got maybe a 1/3 reduction in the time it took to complete comparable projects. My Python projects probably take only 50% as long to complete as comparable work in C++.
Have you guys had similar experiences?
Absolutely. Of all the languages I've used, Python puts up the fewest barriers between my thoughts and converting them to working software. It's certainly not a magic bullet because it won't do your thinking for you, but I'm significantly more productive in Python with 6 months of experience than I am in Java after 10 years.
and outweight the annual fee you have to pay
Plenty of cards have no annual fee, and still give you miles/cashback/etc. Mine does 1% off everything and 5% off gas, which is especially useful these days.
Then again, I'm sure the credit card companies hate people like me, who are essentially taking advantage of the system.
Of course they'd rather we spend like typical consumers, but they still make a profit off the transaction fees.