Time Warner was bought by AOL, not the other way around. It was an Apple-buys-NeXT type aquisition in the end, in the sense that ultimately the TW people took over AOL, but it was AOL's money given to TW shareholders, not vice-versa.
Shit means shit. Excrement. That's all it means. Southerners have stretched it to indirectly mean other things, but it's essentially all about the brown stuff.
The sound Wii means "we", a term refering to a group of us. It's also an exclaimation of excitement. It's also a French word meaning "Yes". It also happens to be a slang word meaning urine. None of those other meanings are indirect.
I think, quite honestly, your point is ridiculous. Most people, on seeing the console introduced the right way (like, via the flash animation at revolution.nintendo.com and similarly styled ads) are not going to think "urine" as their first thought, any more than people watching a group of rollercoaster riders think "Wow. They just shouted "Urine"", or someone interprets the sentence "We're all going on a summer holiday" as meaning anything about urine going on a summer holiday, except, perhaps, those who associate Cliff Richard with urine.
I think by "Amazons" he was refering to Dot Coms. Albertsons, like Tesco, is an existing, established, real-world Supermarket chain.
For the most part, that's where I only see online grocery businesses - from the existing, established, stores, not from web startups. It makes sense not just because starting your own chain is extremely expensive, but also because you already have a network of local distribution centers, all you have to do is add a delivery service to that. The margins should be similar to the pizza delivery business, which like online groceries, would be ridiculously expensive if you tried to serve an entire county or state from one kitchen.
Re:I think I speak for most of us when I say...
on
Can You Spoof IP Packets?
·
· Score: 2, Interesting
Any trick you can do with spoofing, you can do without
No, you can't.
You could argue that it's easier to run your P2P applications without a firewall since you don't have to go to all that extra trouble to set up the firewall.
The example I gave had nothing to do with firewalls. It's about NAT. NAT's a technology that means multiple devices can share a single Internet connection. Getting multiple IPs isn't an option for most households, nor is dedicating the entire connection to one machine always practical, and gateway configuration has limits.
Until we move to IPv6, tricks like this (and NAT to begin with) are absolutely necessary to make certain types of system viable.
IP spoofing isn't as dangerous, but, it definitely has its security problems. Overall people are better off without spoofing even for things that can legitimately benefit.
IP spoofing only allows really security exploits for badly designed security systems, save for preventing a particular type of DDoS attack that's arguably better dealt with via other means. It's hard to see what we gain by preventing it, and as I showed above, there's at least one example of a technology where it's useful.
Right now, the Internet is becoming more reliant on patchworks of hacks to get around limitations that are increasingly more problematic for end users. The only way we're going to fix that is to move to IPv6. In the mean time, we should be avoiding unnecessary breaks in network infrastructure to fix problems that, for the most part, do not really exist. We don't want to fuck up routing like we did email.
Re:I think I speak for most of us when I say...
on
Can You Spoof IP Packets?
·
· Score: 4, Interesting
I'm having difficulty figuring it out too.
IP spoofing isn't even a bad thing. There's a work-around that allows two hosts hidden behind NAT gateways to communicate directly with one another by having them both spoof a cooperating proxy. (It goes something like: Host A establishes a UDP link with the proxy, Host B establishes a UDP link with a proxy, Proxy then gives A enough information to allow it to spoof packets as Proxy and send them directly to B, and proxy gives B the information needed to spoof packets from Proxy to A.)
This is useful in some P2P applications, notably VoIP.
This is going to break if spoofing some how gets prevented completely, and from what I can figure out, that's what the above system is treating as some kind of "hole" that needs to be fixed.
Longhorn's taken too. It's the name of a surprisingly good chain of steakhouses in the Outback genre (except with a Texan theme, good bread, and steaks that don't taste like they've had the flavour boiled out of them.)
So that can't be it.
Personally I kind of like Vista, but then I don't have a problem with Wii either.
I'm sure they will laugh just as hard as they did when you inadvertantly revealed you were gay by saying you were going to play with your game boy.
Wait? They didn't? And nobody thought anyone was gay despite the obviousness of that joke? Damn it! Wii need a better plan than mindless double-entendres..,
Customer: "Sounds really good, but I'm not sure about getting a console called Wii. I don't want my kids' friends to make fun of them"
Kid1: Uh-huhuuhhuh Did he say "Sex Box?"
Kid2: Ehheheh Sex Box! Sex box! Sex box rules!
Kid1: Got to be better than your Piss Two Beavis huhuhuh
Kid2: No way Butthead! The Piss Two rocks! Eheheheheh
Kid1: Uhuuhhuhuhuh. A number one and a number two
...continued on page 94.
Kids can, and will, make fun of everything. If the Pee Ess Two survived, I'm sure the Wii will too.
Because Revolution is a fresh, new, untired name that people will respond to thinking "No, that's not hype at all."
Revolution is awful as a product name. I'm glad Nintendo got rid of it, and I can't believe people want it back, regardless of their feelings of what Nintendo settled upon.
On the other hand, I know people who think the name of a cow is better than something meaning a broad view (Longhorn vs Vista.) I guess it shouldn't surprise me.
Maybe they'll bring it back as the Revolution Reloaded...;)
This AC post says better than I can why this isn't an issue. Sun has been clear in its wording that "taint" simply isn't an issue. Yes, you can disbelieve them, but the fact is they'd have difficulty arguing a tainting case in court if, at the very least, a developer can argue a two week seperation occured between them seeing Sun's Java code, and them developing the supposedly infringing code. And, yes, there are legal mechanisms to ensure that if a company says something means something, someone who interprets it the obvious way doesn't get sued if the company then claims it doesn't.
Don't know. It's a little like asking what would happen to MacDonalds if Subway started selling hamburgers. You can't answer that question without a hell of a lot more information.
For example, if Sun releases Java under the SDDL, then GCJ, GNU CLASSPATH, Kaffe, and Apache's Harmony project, would probably remain under development for licensing issues. As I see it, GCJ will stay on regardless, it's much more than just a re-implementation of Java. The other three... they may be rendered obsolete, we'd have to see.
Can you come up with a link that justifies your 122 CPU cycles claim? Because I'm not seeing it, and try as I might, I can't see how such a thing would happen.
There are several ways in which a Java system might implement exceptions, checked or otherwise. The least efficient I can think of that would have a per-method-call overhead is this: One might be using a reserved register to store a returned exception. ie (call it A1 in the below):
call method test A1 jump_if_z next read D0 from type(A1);; Read type compare D0, #IOExceptionType jump_if_eq ioexception_handler : : unlink rtn;; Unhandled exception, return it to whoever called this method
next:
Note that in the above, most of the pseudo-assembly isn't called unless an actual exception occurs. We're looking at two minimal instructions (test and jump_if_z) if it is. Maybe we should also add the instruction that clears A1 in each method. I don't know what CPU you program for, but try as I might, I can't think of one with those kinds of overheads.
But I don't think Java does it this way. The other way that springs to mind is to constantly store and maintain a big-ass jump table (which is how I believe Java actually does it) where throw simply extracts a stored stack pointer and memory address to jump to, puts the address of the Exception object in whatever register is usually used to store this kind of thing, and jumps to it. The only overhead this introduces is on the setting up of the try {} block. It doesn't cause any per-method-call overheads whatsoever.
Is Java using some third technology for try...catch I can't think of that's horrendously ugly and slow? Is there some benchmark that proves that a simple test and jump on the ix86 CPU would add 122 processor cycles? Could it be people are confusing Java exceptions with CPU exceptions, which are an entirely different thing, and usually are quoted as being that big because they're often accompanied by MMU reprogramming, something clearly that wouldn't be the case in Java?
I simply don't believe the 122 cycle thing. It's stupid. It'd make Java unusably slow (they'd never have been able to implement Jake2 with that technology), and none of the ways I can think of of implementing exceptions at an assembler level would entail any such overheads. They're ridiculous.
There are some pretty awful arguments being used to defend Java here, and I'll not bless them. Java's run-time is a little larger and slower than it could be, though these days it's not as bad as it was when Java came out, comparing like with like. Given the average Java program has a limit of 64Mb which it needs to keep well within (and almost all Java programs do seem to keep within), and that most substantial non-Java applications, these days, seem to have something like that as their working space (16-256Mb seems to be normal), the increase in memory we have today and the sheer bloat attached to applications in general seems to have dealt with that "advantage".
That said, if it's a choice between a BitTorrent client that uses 1Mb in C++, and a BT client that uses 4 in Java, I'll just the Java version. Why? Because Java is more secure.
A lot of programmers diss this advantage claiming any language can be free of hidden stack overruns and other bugs popular in C programmers, it just takes more effort. This is true, but it's not the point. It's not about me trusting my own code - though, having coded since I was 14 and now being in my mid-thirties, I'm old enough to know it's quite simply bullshit for anyone to trust their own coding - it's about me being able to trust someone else's code. Java lets me do that. It's still, in many ways, half-arsed, the security model could be improved, but at the very least a programmer would have to go out of his or her way to put a hole in the code. You don't get one by accidentally calling something that doesn't care how large the memory space is it's writing into, and passing it a local auto array.
If Firefox was written in Java, despite the fact I know such a program would be slower, I'd use the Java version in its place.
Incidentally, as many people are also complaining about the fact Java isn't Free Software (yet), I'd like to point something else out. AT&T never, to my knowledge, ever made C Free Software. But it didn't matter, because by the late eighties, many implementations of C were out that were Free. In the Java world, to name but two, we have Kaffe (largely 1.4 compatible today) and GCJ + GNU CLASSPATH. If Sun makes its own implementation of Java Free, then that's great, but there ought to be less focus on persuading Sun to do that and more focus on making the Free implementations the best they can be. Who the hell wants to rely upon a single vendor with its own proprietary interests in the first place?
I understand that, but iTunes isn't built into the operating system in any sense and it, too, provides useful features that Apple wants us to have, such as iPod management software and, indeed, the iTunes Music Store.
When I say "built in to the operating system", I'm talking using the same terms as MacOSRumors - it'd be a feature tied to the operating system, such that users of earlier Mac OS X's can't use it. That's ridiculous. Apple has no reason to cripple the technology like that. Apple doesn't benefit from such tying, it's better off releasing it as an additional technology.
It's a great idea. It's a real shame, a real shame, that there's no way of, say, building this in to iTunes, the thing they're trying to speed up, a quasi-independent application that runs on a variety of different Mac OS X versions. I mean, I can understand how they need to build this in to the operating system, it's such a... low level protocol and everything, and it would add so much bloat, yeah, bloat to iTunes to build it in.
(Yes, I think the article is bullshit. There's absolutely no reason for Apple to do this. No reason whatsoever. I can see them building it in to iTunes, but into the operating system? Why?)
I'm not so bothered by forks, which are largely needed for backward compatibility with classic Mac OS, and which bundles do a good job of replicating anyway (in many senses, forks were a stand-in for one use of directories in the early days of the Mac, when the Mac file system didn't support directories.)
Arbitrary meta data though is relatively important, and I'm surprised it's taken this long for there even to be a standard BSD interface to the system. I would hope if Apple adopts ZFS (and I don't think there's any reason right now to suppose that's the plan, for the reasons I outlined earlier) it does add support. It would be a massive step back, in my opinion, to continue to remove something critical to good Desktop environments from modern desktop environments. Unfortunately, Apple's obsession of.DS_Store files and some of Avie's early memos on the subject do not give me that much hope.
It's probably very good in the performance arena, but for some reason, it still appears to live in the 1970s in terms of what it stores - ie named flat files.
At the very least, I'd expect any file system Apple would consider suitable for switching to to support arbitrary metadata. A server based system like Solaris may not need it so much, but a desktop system that associates icons, file types, and miscellaneous information useful in searching, really should use a file system that supports arbitrary metadata in 2006. This is the direction Apple's going in, and I can't see them adopting wholesale a file system like ZFS without making a lot of changes.
Here's a listing of the file systems currently supported on OS X Panther (it may be more for Tiger, I don't know):
$ ls -l/System/Library/Filesystems/ total 0 drwxr-xr-x 8 root wheel 272 14 Mar 12:46 AppleShare drwxr-xr-x 7 root wheel 238 12 Apr 2005 URLMount drwxr-xr-x 6 root wheel 204 14 Mar 12:47 cd9660.fs drwxr-xr-x 3 root wheel 102 22 Dec 2004 cddafs.fs drwxr-xr-x 4 root wheel 136 14 Mar 12:48 ftp.fs drwxr-xr-x 5 root wheel 170 14 Mar 12:47 hfs.fs drwxr-xr-x 4 root wheel 136 14 Mar 12:47 msdos.fs drwxr-xr-x 4 root wheel 136 14 Mar 12:47 ntfs.fs drwxr-xr-x 4 root wheel 136 14 Mar 12:47 udf.fs drwxr-xr-x 4 root wheel 136 14 Mar 12:46 ufs.fs $
HFS and UFS are the official choices of file system for installing your bootable OS X or Darwin system. The rest are either network based file systems or are specific choices for interoperability with other operating systems.
There are many reasons why Apple might be looking at ZFS. Only one is that Apple intends to actually make Mac OS X use it as a home filesystem.
Now, here's a reason the write-up author didn't think of: Apple is rumoured to be working on a virtualization layer for OS X, with the intent being that OS X will run in parallel with multiple operating systems. Even if that rumour is false, it's clear that with BootCamp, Apple is taking the idea of Macs running multiple operating systems (albeit not at the same time...) seriously. Solaris and GNU/Linux are the two most popular Intel platforms save for Mac OS X and Windows.
Isn't it more likely that Apple wants Mac OS X its multi-OS Macs to "just work" with the other operating systems, able to achieve a high degree of interoperability without forcing the other platforms to support HFS+?
I'm not saying a move to ZFS would be a bad thing, though it doesn't, so far as I can see, support arbitrary metadata so it'd be as practical as UFS in its current form, which is barely used by Mac users. I just think a port of the main Solaris file systems is, in practice, something Apple would be doing anyway, as part of the Intel OS-agnostic direction they're going in.
Yeah, what are they thinking, encouraging Mac users to be vigilant about the risk that one day their machines may be at risk from a virus, especially if OS X becomes a more popular platform?
We must hunt these people down for spreading their calls of vigilance, implying that somehow the Mac is not perfect.
My impression has always been that most succesful runaway "virusses" for Windows have relied upon client applications (web browsers, email clients) rather than self-hosted servers. In that respect, the Mac isn't any worse than anyone else.
It's certainly true that few Macs get configured as servers. Those that do tend to be as insecure as everyone else. (This might not sound like it matters, but it's interesting to note that the only virusses that have hit my office's network have either gotten in from Internet-facing dedicated server machines, or have come in via email. I'm not going to propose that's everyone's experience, I know one of our customers is still stuffering from that LSSDAL.DLL (or whatever it's called) thing where all the XP and 2000 machines that haven't been patched for it get shut down after 60 seconds warning. Bloody annoying because they've refused to patch the laptop we've been given for secure access to their network to test our application.)
The really successful virusses rely upon users running them rather than them trying to get in through the back-door, which in this age of NAT and Firewalls is increasingly difficult. Getting a user to run your application on a Mac isn't much harder, if at all, than it is on anything else. And Safari and Mail.app do, periodically, require security updates, proving they've had their share of back doors too.
I've posted this elsewhere, but I'll say it again: however bad it might sound, I really hope there's a successful Mac virus at some point. There needs to be a wake-up call to get the Mac users who continually deny the possibility of such a thing to start taking the threat seriously before Mac virusses become endemic. Until Macs reach a large enough share of the Internet though, it's going to be hard to do without all kinds of cross-platform hoops to ensure the virus doesn't die because early infected victims only pass it on to Windows users and others who are already infected.
Burglars aren't virus writers. They burgle specific homes they choose in advance.
If you were to build a robot that simply burgles as many homes as possible, using each home as a launching pad to burgle other homes, then... ok, this analogy doesn't work to begin with, and I can't see a way of stretching it to actually work. Bad analogy. This is about virusses, not about burgling homes.
If you write a virus, you most certainly DO aim it at the most popular platform amongst those it has to contact to spread, especially if all the other platforms combined don't even reach 10% of the market, unless there are serious mitigating circumstances. Computer virusses work more or less the same way as the biological equivalent. If it affects only a small percentage of the population, such that most people exposed to it will never be infected, and never spread the virus, then it has little chance of actually working.
A Macintosh-only virus will find that, on average, 90% of the computers it tries to reach after infecting the host Mac will not be compatible. They will not spread the virus at all. I don't know of anyone in my address book who actually owns a Mac, and the chances of there being many within my IP block are low. So should one infect my Macs, those will likely be the only Macs they infect, the virus going dead after that. It might work in small communities of Mac users, but any isolation they have will kill the virusses chances of moving outside of that community.
The reason the Mac hasn't encounted virusses so far has to do with that and not any bollocks about it having a "superior security model" or Apple taking some kind of pro-active attitude towards bug fixes. The truth is that all versions of Mac OS X periodically get Security Updates. The truth is that Apple's attitude towards security was so poor until recently that you could install an application on a user's PC and associate it with any file types you wanted simply by redirecting their Safari-rendered webpage to a.zip or.sit file containing the app. The truth is that Apple's "security model" consists of periodically asking you for a username and password with no validation provided to YOU that proves the application asking is actually what it claims to be in the first place. The truth is that it remains the case on both platforms that anyone can run any application they download without an admin username and password, and at minimum, that application has access to the user's files and are able, by default, to access the Internet, and if it's able to get the admin username and password, through trickery or however, the app has complete control over the user's PC. The truth is that a program can easily pretend it's just another JPEG in a.zip file, just by chosing the right icon. And the truth is that Darwin's lack of fine grained security means it has a limit to how secure it'll ever be.
The vast majority of successful "virusses" for Windows rely on social engineering to launch an application to begin with. They're not based upon real holes. They're based upon the same principles that work with every OS. They don't work for Mac OS X not because they can't work in principle given Apple's security model, but because 90% of the people receiving the trojan would never pass it on, and some might even respond to the infected victim who "sent" it with "Dude, I got all those pictures, but what's that "PCN0006.JPG.app" directory in the zip file?"
I'm sure the vast majority of people will react to messages suggesting that the page they're reading doesn't work properly under IE the exact same way that Safari and Firefox users react to messages suggesting the page they're reading doesn't work properly under their preferred browser: with a general gut feeling of intense dislike against the idiots who put that website together.
Whether they think it's dirty or not is neither here nor there. The fact is that saying "My website that does nothing that other websites don't do is inaccessable for several mainstream webbrowsers" doesn't promote your favorite browser - it just makes you (the developer of such a site) look like a complete moron who doesn't care about his or her readers. (Readers who make have otherwise been customers.)
If Sun did 'go down', Java would certainly continue (in fact, IBM could well buy up the rights and open source it!). That is one of the reasons why I find it such an appealing language - it is not a one-vendor language.
In reality, not even that has to happen (which is a good job, because scenarios were support for a platform stops are not limited to bankruptsy of the originally supporting business. A company can "go bad", and see it as strategic to kill a platform.)
Java has several Free Software implementations, and the only real limitation they have is that they can't use the Java trademark. Kaffe, after a long absense, is back and is already mostly 1.4 compliant, GCJ takes an entirely different approach to implementing Java which is both innovative and supportive of what already exists.
Sure, because Apple can bring criminal charges against an employee who reports that he's just been fired together with a large number of his collegues.
If Apple tried that, no amount of "trade secret" bullshit would protect them. The fact he and others were fired is no trade secret, by definition.
Re:Nintendo's Wii akin to Chevrolet's Nova?
on
Both Sides of Wii
·
· Score: 1
I don't know. For me, it conjured up the French word for yes, the whole "group of us" thing ("Wii're playing a game together!"), and an exclamation that means "I'm having fun."
But then I'm not obsessed with urine and penises.
BTW have you heard that Sony has a console called the "PSone" (pronouned Pee-ess One, or Piss-One". That's hysterical. I mean, Pee, and Piss, mean "Urine" in English, and "one" is a slangword meaning the same thing! I bet they didn't sell a single one and people constantly taunted them about the name's uniric connotations.
Time Warner was bought by AOL, not the other way around. It was an Apple-buys-NeXT type aquisition in the end, in the sense that ultimately the TW people took over AOL, but it was AOL's money given to TW shareholders, not vice-versa.
The sound Wii means "we", a term refering to a group of us. It's also an exclaimation of excitement. It's also a French word meaning "Yes". It also happens to be a slang word meaning urine. None of those other meanings are indirect.
I think, quite honestly, your point is ridiculous. Most people, on seeing the console introduced the right way (like, via the flash animation at revolution.nintendo.com and similarly styled ads) are not going to think "urine" as their first thought, any more than people watching a group of rollercoaster riders think "Wow. They just shouted "Urine"", or someone interprets the sentence "We're all going on a summer holiday" as meaning anything about urine going on a summer holiday, except, perhaps, those who associate Cliff Richard with urine.
For the most part, that's where I only see online grocery businesses - from the existing, established, stores, not from web startups. It makes sense not just because starting your own chain is extremely expensive, but also because you already have a network of local distribution centers, all you have to do is add a delivery service to that. The margins should be similar to the pizza delivery business, which like online groceries, would be ridiculously expensive if you tried to serve an entire county or state from one kitchen.
Until we move to IPv6, tricks like this (and NAT to begin with) are absolutely necessary to make certain types of system viable.
IP spoofing only allows really security exploits for badly designed security systems, save for preventing a particular type of DDoS attack that's arguably better dealt with via other means. It's hard to see what we gain by preventing it, and as I showed above, there's at least one example of a technology where it's useful.Right now, the Internet is becoming more reliant on patchworks of hacks to get around limitations that are increasingly more problematic for end users. The only way we're going to fix that is to move to IPv6. In the mean time, we should be avoiding unnecessary breaks in network infrastructure to fix problems that, for the most part, do not really exist. We don't want to fuck up routing like we did email.
IP spoofing isn't even a bad thing. There's a work-around that allows two hosts hidden behind NAT gateways to communicate directly with one another by having them both spoof a cooperating proxy. (It goes something like: Host A establishes a UDP link with the proxy, Host B establishes a UDP link with a proxy, Proxy then gives A enough information to allow it to spoof packets as Proxy and send them directly to B, and proxy gives B the information needed to spoof packets from Proxy to A.)
This is useful in some P2P applications, notably VoIP.
This is going to break if spoofing some how gets prevented completely, and from what I can figure out, that's what the above system is treating as some kind of "hole" that needs to be fixed.
So that can't be it.
Personally I kind of like Vista, but then I don't have a problem with Wii either.
Wait? They didn't? And nobody thought anyone was gay despite the obviousness of that joke? Damn it! Wii need a better plan than mindless double-entendres..,
Kid2: Ehheheh Sex Box! Sex box! Sex box rules!
Kid1: Got to be better than your Piss Two Beavis huhuhuh
Kid2: No way Butthead! The Piss Two rocks! Eheheheheh
Kid1: Uhuuhhuhuhuh. A number one and a number two
Kids can, and will, make fun of everything. If the Pee Ess Two survived, I'm sure the Wii will too.
Revolution is awful as a product name. I'm glad Nintendo got rid of it, and I can't believe people want it back, regardless of their feelings of what Nintendo settled upon.
On the other hand, I know people who think the name of a cow is better than something meaning a broad view (Longhorn vs Vista.) I guess it shouldn't surprise me.
Maybe they'll bring it back as the Revolution Reloaded... ;)
This AC post says better than I can why this isn't an issue. Sun has been clear in its wording that "taint" simply isn't an issue. Yes, you can disbelieve them, but the fact is they'd have difficulty arguing a tainting case in court if, at the very least, a developer can argue a two week seperation occured between them seeing Sun's Java code, and them developing the supposedly infringing code. And, yes, there are legal mechanisms to ensure that if a company says something means something, someone who interprets it the obvious way doesn't get sued if the company then claims it doesn't.
For example, if Sun releases Java under the SDDL, then GCJ, GNU CLASSPATH, Kaffe, and Apache's Harmony project, would probably remain under development for licensing issues. As I see it, GCJ will stay on regardless, it's much more than just a re-implementation of Java. The other three... they may be rendered obsolete, we'd have to see.
There are several ways in which a Java system might implement exceptions, checked or otherwise. The least efficient I can think of that would have a per-method-call overhead is this: One might be using a reserved register to store a returned exception. ie (call it A1 in the below):
Note that in the above, most of the pseudo-assembly isn't called unless an actual exception occurs. We're looking at two minimal instructions (test and jump_if_z) if it is. Maybe we should also add the instruction that clears A1 in each method. I don't know what CPU you program for, but try as I might, I can't think of one with those kinds of overheads.But I don't think Java does it this way. The other way that springs to mind is to constantly store and maintain a big-ass jump table (which is how I believe Java actually does it) where throw simply extracts a stored stack pointer and memory address to jump to, puts the address of the Exception object in whatever register is usually used to store this kind of thing, and jumps to it. The only overhead this introduces is on the setting up of the try {} block. It doesn't cause any per-method-call overheads whatsoever.
Is Java using some third technology for try...catch I can't think of that's horrendously ugly and slow? Is there some benchmark that proves that a simple test and jump on the ix86 CPU would add 122 processor cycles? Could it be people are confusing Java exceptions with CPU exceptions, which are an entirely different thing, and usually are quoted as being that big because they're often accompanied by MMU reprogramming, something clearly that wouldn't be the case in Java?
I simply don't believe the 122 cycle thing. It's stupid. It'd make Java unusably slow (they'd never have been able to implement Jake2 with that technology), and none of the ways I can think of of implementing exceptions at an assembler level would entail any such overheads. They're ridiculous.
That said, if it's a choice between a BitTorrent client that uses 1Mb in C++, and a BT client that uses 4 in Java, I'll just the Java version. Why? Because Java is more secure.
A lot of programmers diss this advantage claiming any language can be free of hidden stack overruns and other bugs popular in C programmers, it just takes more effort. This is true, but it's not the point. It's not about me trusting my own code - though, having coded since I was 14 and now being in my mid-thirties, I'm old enough to know it's quite simply bullshit for anyone to trust their own coding - it's about me being able to trust someone else's code. Java lets me do that. It's still, in many ways, half-arsed, the security model could be improved, but at the very least a programmer would have to go out of his or her way to put a hole in the code. You don't get one by accidentally calling something that doesn't care how large the memory space is it's writing into, and passing it a local auto array.
If Firefox was written in Java, despite the fact I know such a program would be slower, I'd use the Java version in its place.
Incidentally, as many people are also complaining about the fact Java isn't Free Software (yet), I'd like to point something else out. AT&T never, to my knowledge, ever made C Free Software. But it didn't matter, because by the late eighties, many implementations of C were out that were Free. In the Java world, to name but two, we have Kaffe (largely 1.4 compatible today) and GCJ + GNU CLASSPATH. If Sun makes its own implementation of Java Free, then that's great, but there ought to be less focus on persuading Sun to do that and more focus on making the Free implementations the best they can be. Who the hell wants to rely upon a single vendor with its own proprietary interests in the first place?
When I say "built in to the operating system", I'm talking using the same terms as MacOSRumors - it'd be a feature tied to the operating system, such that users of earlier Mac OS X's can't use it. That's ridiculous. Apple has no reason to cripple the technology like that. Apple doesn't benefit from such tying, it's better off releasing it as an additional technology.
(Yes, I think the article is bullshit. There's absolutely no reason for Apple to do this. No reason whatsoever. I can see them building it in to iTunes, but into the operating system? Why?)
Arbitrary meta data though is relatively important, and I'm surprised it's taken this long for there even to be a standard BSD interface to the system. I would hope if Apple adopts ZFS (and I don't think there's any reason right now to suppose that's the plan, for the reasons I outlined earlier) it does add support. It would be a massive step back, in my opinion, to continue to remove something critical to good Desktop environments from modern desktop environments. Unfortunately, Apple's obsession of .DS_Store files and some of Avie's early memos on the subject do not give me that much hope.
At the very least, I'd expect any file system Apple would consider suitable for switching to to support arbitrary metadata. A server based system like Solaris may not need it so much, but a desktop system that associates icons, file types, and miscellaneous information useful in searching, really should use a file system that supports arbitrary metadata in 2006. This is the direction Apple's going in, and I can't see them adopting wholesale a file system like ZFS without making a lot of changes.
There are many reasons why Apple might be looking at ZFS. Only one is that Apple intends to actually make Mac OS X use it as a home filesystem.
Now, here's a reason the write-up author didn't think of: Apple is rumoured to be working on a virtualization layer for OS X, with the intent being that OS X will run in parallel with multiple operating systems. Even if that rumour is false, it's clear that with BootCamp, Apple is taking the idea of Macs running multiple operating systems (albeit not at the same time...) seriously. Solaris and GNU/Linux are the two most popular Intel platforms save for Mac OS X and Windows.
Isn't it more likely that Apple wants Mac OS X its multi-OS Macs to "just work" with the other operating systems, able to achieve a high degree of interoperability without forcing the other platforms to support HFS+?
I'm not saying a move to ZFS would be a bad thing, though it doesn't, so far as I can see, support arbitrary metadata so it'd be as practical as UFS in its current form, which is barely used by Mac users. I just think a port of the main Solaris file systems is, in practice, something Apple would be doing anyway, as part of the Intel OS-agnostic direction they're going in.
We must hunt these people down for spreading their calls of vigilance, implying that somehow the Mac is not perfect.
It's certainly true that few Macs get configured as servers. Those that do tend to be as insecure as everyone else. (This might not sound like it matters, but it's interesting to note that the only virusses that have hit my office's network have either gotten in from Internet-facing dedicated server machines, or have come in via email. I'm not going to propose that's everyone's experience, I know one of our customers is still stuffering from that LSSDAL.DLL (or whatever it's called) thing where all the XP and 2000 machines that haven't been patched for it get shut down after 60 seconds warning. Bloody annoying because they've refused to patch the laptop we've been given for secure access to their network to test our application.)
The really successful virusses rely upon users running them rather than them trying to get in through the back-door, which in this age of NAT and Firewalls is increasingly difficult. Getting a user to run your application on a Mac isn't much harder, if at all, than it is on anything else. And Safari and Mail.app do, periodically, require security updates, proving they've had their share of back doors too.
I've posted this elsewhere, but I'll say it again: however bad it might sound, I really hope there's a successful Mac virus at some point. There needs to be a wake-up call to get the Mac users who continually deny the possibility of such a thing to start taking the threat seriously before Mac virusses become endemic. Until Macs reach a large enough share of the Internet though, it's going to be hard to do without all kinds of cross-platform hoops to ensure the virus doesn't die because early infected victims only pass it on to Windows users and others who are already infected.
If you were to build a robot that simply burgles as many homes as possible, using each home as a launching pad to burgle other homes, then... ok, this analogy doesn't work to begin with, and I can't see a way of stretching it to actually work. Bad analogy. This is about virusses, not about burgling homes.
If you write a virus, you most certainly DO aim it at the most popular platform amongst those it has to contact to spread, especially if all the other platforms combined don't even reach 10% of the market, unless there are serious mitigating circumstances. Computer virusses work more or less the same way as the biological equivalent. If it affects only a small percentage of the population, such that most people exposed to it will never be infected, and never spread the virus, then it has little chance of actually working.
A Macintosh-only virus will find that, on average, 90% of the computers it tries to reach after infecting the host Mac will not be compatible. They will not spread the virus at all. I don't know of anyone in my address book who actually owns a Mac, and the chances of there being many within my IP block are low. So should one infect my Macs, those will likely be the only Macs they infect, the virus going dead after that. It might work in small communities of Mac users, but any isolation they have will kill the virusses chances of moving outside of that community.
The reason the Mac hasn't encounted virusses so far has to do with that and not any bollocks about it having a "superior security model" or Apple taking some kind of pro-active attitude towards bug fixes. The truth is that all versions of Mac OS X periodically get Security Updates. The truth is that Apple's attitude towards security was so poor until recently that you could install an application on a user's PC and associate it with any file types you wanted simply by redirecting their Safari-rendered webpage to a .zip or .sit file containing the app. The truth is that Apple's "security model" consists of periodically asking you for a username and password with no validation provided to YOU that proves the application asking is actually what it claims to be in the first place. The truth is that it remains the case on both platforms that anyone can run any application they download without an admin username and password, and at minimum, that application has access to the user's files and are able, by default, to access the Internet, and if it's able to get the admin username and password, through trickery or however, the app has complete control over the user's PC. The truth is that a program can easily pretend it's just another JPEG in a .zip file, just by chosing the right icon. And the truth is that Darwin's lack of fine grained security means it has a limit to how secure it'll ever be.
The vast majority of successful "virusses" for Windows rely on social engineering to launch an application to begin with. They're not based upon real holes. They're based upon the same principles that work with every OS. They don't work for Mac OS X not because they can't work in principle given Apple's security model, but because 90% of the people receiving the trojan would never pass it on, and some might even respond to the infected victim who "sent" it with "Dude, I got all those pictures, but what's that "PCN0006.JPG.app" directory in the zip file?"
Whether they think it's dirty or not is neither here nor there. The fact is that saying "My website that does nothing that other websites don't do is inaccessable for several mainstream webbrowsers" doesn't promote your favorite browser - it just makes you (the developer of such a site) look like a complete moron who doesn't care about his or her readers. (Readers who make have otherwise been customers.)
Java has several Free Software implementations, and the only real limitation they have is that they can't use the Java trademark. Kaffe, after a long absense, is back and is already mostly 1.4 compliant, GCJ takes an entirely different approach to implementing Java which is both innovative and supportive of what already exists.
Java will not die, whatever happens to Sun.
If Apple tried that, no amount of "trade secret" bullshit would protect them. The fact he and others were fired is no trade secret, by definition.
But then I'm not obsessed with urine and penises.
BTW have you heard that Sony has a console called the "PSone" (pronouned Pee-ess One, or Piss-One". That's hysterical. I mean, Pee, and Piss, mean "Urine" in English, and "one" is a slangword meaning the same thing! I bet they didn't sell a single one and people constantly taunted them about the name's uniric connotations.
Oh, they didn't?