Yes, but if it does what it can to ensure the number of "qualified" engineers available is limited to those in the US, then the small number of engineers who are actually any good will result in businesses simply shipping their entire development departments overseas.
And if you don't believe me, you might want to open your eyes and look at what has happened, because many businesses, facing a choice between difficult and expensive to obtain H1B visitors, and resident programmers who had absurd salary requirements, gave up and contracted out their work to overseas development shops.
Was H1B a bad idea? In one way, yes, it's never been an attractive visa for holders of it because it offers no paths to permanent residency, and thus leaves developers who come in under it in a very awkward situation. But the essential argument the IEEE was making, that we had to deal with a very real skill shortage that was causing programming in the US to be both expensive and, well, crappy, by attracting quality developers from whereever they might be was absolutely in the best interests of US developers. We'd have been outsourced completely if those kinds of efforts had not been made.
It's partly about Blu-ray. Blu-ray either does or will (I forget the cut-off date) all display devices to be HDCP controlled. Computers based players require a so-called "secure path" between the decoding software and the display screen. What this crack does is undermine all of this, making such restrictions even more ridiculous than they were. As of today, only Windows supports "secure path", and even then Microsoft is known to hate it.
It's questionable that the BDA will make the right decision here, but it at least has an opportunity to return to the question and ask whether it's actually useful for the platform that, for example, only a minority of Windows users be capable of playing BD discs when the reason for demanding this is to mandate a security system that's now known not to work at all.
In fairness, I can't think of many people who'd want to spend $1,000 just to make that HD DVR/jukebox they've/we've always wanted. Which, ironically, means it'll be used largely by pirates wanting to show off by ripping movies and PPV content, and uploading it to Rapidshare.
OK, BP's mistake was an utter disaster for the environment.
Intel's technology's failure, on the other hand, is a great thing for everyone except the movie studios... and who knows, in the long run it might even benefit them too.
So I'm not really seeing how they're the same thing. Which doesn't mean I'm unsurprised they came out and announced it.
FWIW, I'm pretty sure that most of the lawmakers currently in office are from "the generation" that grew up with cassette tapes and 3.5mm stereo-to-stereo connecting cables. They, unlike "our generation" (whatever that is) grew up in an environment in which technical controls on copying were virtually non-existent.
Also virtually every lawmaker lived during a "generation" that supposedly spent its college years smoking dope, but the latter is still illegal.
So, no, I don't think that twenty years from now us being in a situation where many lawmakers knew people who freeloaded off of Napster back in the olden days before we all started buying music compressed using 16kbps AAAC++ Protected By MacroVision(tm) HDCD(tm) (Disclaimer: the words Macrovision, HDCD, and "Protected by" are registered trademarks of Disney Trademark Lawyers Corp. All rights reserved.) will make any difference.
They didn't listen to consumers. And nor does this have anything to do with lawsuits. This has to do with the policy itself being an idiotic, self-defeating, piece of stupidity that had everything to do with a kneejerk against a company Apple doesn't like without considering the consequences.
Want to know why it was overturned? Because Epic Games ported Unreal to the iPhone, and then made everyone aware that unless Apple did a 180, nobody was ever going to see a game based on that engine.
Building products using a third party engine may be uncommon for, say, productivity software, but for games it's pretty much the standard. And Apple's been seeing games as a make-or-break feature of smartapprunnercrapphones. If Google produces a great gaming platform, it'll hurt the iPhone, hard.
Now, I know what you're going to say. "But Epic could have just given Unreal an C API!" Sure, and it equally could not. Why should it? Why take something that works, and replace it with some technologies that still think we're programming minicomputers from the 1970s? Beyond "getting Unreal-based games approved", there was no advantage whatsoever to switching to a C based API. Particularly when the reason why Apple has that restriction is not because of any technical advantage (in fact, forcing people to write in C is mind bogglingly stupid, a guarantee that software will be even less secure and even less reliable than normal), but because Steve Jobs hates Adobe because Adobe produced a plug-in he doesn't think works particularly well, and wants to punish Adobe for doing so?
Epic stuck by their guns. Developers went to Apple and pointed at Unreal and said "Look, (a) Jobs might be successful, but he's letting a vendetta get the better of him right now and (b) unless you change your policies, Android is going to eat your lunch." Apple relented.
Personally, having read the revised conditions, I still think any developer who develops software for iPhone right now is asking for trouble, and they should switch to Android, which is growing faster and will almost certainly have a greater market share within the next year. I think developers should be using this as evidence not that "Apple's OK underneath, they fix their mistakes", but "Apple has made utterly ridiculous policy decisions in the past, born not out of business sense or some overriding strategy, but because they're run by a man whose ego and temper has the better of him, and Apple almost certainly will do it again in the future, at least as long as a meglomaniac is in charge. There's no reason to trust them."
You have no guarantee that by oversight, maliciousness or changed circumstances, the list of patents is exhaustive.
Of course, but partial documentation is better than none at all, wouldn't you agree?
I see printed patent numbers as a chilling effect, nothing more, nothing less.
Then you're being extraordinarily myopic. I see publicizing the technologies used to build a product as a positive thing. You can't deny that stamping a patent number on a product fails to do that, surely? And given that a patent could expire the day after you buy a product, why would you take a list of patents on the back of a product as meaning that the patenter still has a monopoly anyway?
Because I type fairly quickly, and because Pudge and CmdrTaco are fucking idiots, I can't post this right now (oooh, it's been THREE MINUTES since I responded to someone else, I must be a hacker with nothing to say!), so instead I'm going to waste some of their bandwidth and storage space by adding this Wikipedia article. Hope you're OK with that.
Advanced Passenger Train
From Wikipedia, the free encyclopedia
Jump to: navigation, search
The Advanced Passenger Train (APT) was an experimental tilting High Speed Train developed by British Rail during the 1970s and early 1980s.
The introduction into service of the Advanced Passenger Train was to be a three-stage project. Phase 1, the development of an experimental APT, the APT-E, was completed. Phase 2, the introduction of three prototype trains, known as the APT-P, into revenue service on the Glasgow - London route, did occur but enjoyed limited service due to bad publicity. Phase 3, the introduction of the Squadron fleet designated APT-S, did not occur. The knowledge and experience gained enabled the construction of other high speed trains, including tilting derivatives.
Contents
* 1 Background
* 2 Demise
* 3 APT today
* 4 APT versus TGV and Shinkansen
* 5 Further uses of APT technology
* 6 References
+ 6.1 Notes
+ 6.2 Bibliography
* 7 External links
Background
In the mid to late 20th century, British Rail express services compared unfavourably with France's TGV and Japan's Shinkansen. Experience with High Speed Trains on the East Coast Main Line from London to Edinburgh had shown that reduced journey times could produce a significant increase in passenger numbers, but that line was largely straight and suited to high speeds. Other lines, such as the West Coast Main Line (WCML) from London to Glasgow, were not straight enough to support high speeds with conventional equipment. Lateral forces would be just too high around corners; passengers would not be able to stand upright easily, and items would move on tables. Because slower trains also use the same tracks, superelevation (banking or "canting" of the track around curves) could only be utilised to enable speeds up to 125 mph (201 km/h). In order to permit a top speed of 155 mph (249 km/h), and thereby cut journey times, British Rail's engineers at the Derby Research Division developed an advanced active tilting technology, using hydraulic rams controlled by spirit level sensors to tilt the passenger cars into the curves so that no lateral forces would be felt. Numerous engineers involved in the project had an aeroengineering background. Not only was the train designed to tilt but it was also articulated and had hydrokinetic (Water turbine) brakes. The latter feature is often overlooked but was in fact just as significant as the tilting concept, because it enabled the train to stop within the existing signal spacings. The fact that under operating conditions it failed to do so, was one of the main factors in the train being withdrawn.
Some of the senior managers in British Rail at the time were unwilling to put all their eggs in one basket, and so initiated a parallel project to design a train based on conventional technology as a stopgap.^^ This was the Hig
And that's the legal incentive for them to do it. From a "this is why patents exist" standpoint, it's a good thing they mark a product that was built using patented technologies with the numbers of the patents (and hence links to the description of how it works) covering the details of how it was made.
Everyone wins when the patent numbers are stamped on the product, which makes these lawsuits utterly ridiculous. As long as we have patents, encouraging companies to broadcast their existence, whether in force or merely informational, is a damned good thing.
They're claiming to have a government sanctioned monopoly on something, but it's rare, if ever, that they're telling you on what. They just list patent numbers, which as of today bear no relation to their actual content, because, well, they're numbers, rather than English phrases.
If the stamps we were talking about said "This design is covered by patent #10294818291, which covers the use of proton torpedo to turn lead into gold", then sure. But saying it's covered by patent #somelongnumber" really isn't helpful, all it does is say that there are patents that apply here, and so if you do an exact copy you may get into trouble.
One could ask why companies should bother stamping the warnings on their goods in the first place, given the above. Quite honestly, I'd agree except for the fact that it is actually helpful in many ways. If the purpose of patents is to ensure that people document their inventions in exchange for a limited monopoly, then it does make a lot of sense for a company to stamp the patents that apply, or applied, on the items they sell.
In that respect, the lawsuits aren't just parasitic, they're actually anti-beneficial. The lawsuits encourage companies to delink the documentation on how to make their products from the products themselves. And while I'm for anything that undermines the patent system, I've seen no evidence that removing the positives from a system that has widespread corporate support ever undermine it.
This would, indeed, compile to almost exactly the same code as C.
You wouldn't do it this way in Java, because you'd be thinking about the data differently.
FWIW, the C code wouldn't fit in 64k either, for obvious reasons - if you're talking about 10,000 functions, they'd have to be really tiny to all fit into 24k. The jump table will, in both Java and C, be around 40,000 bytes. For us to get close to a point where the number of functions would result in code under 64k for C, and slightly over for Java, is probably closer to around 1,000 functions than 10,000.
But as I said, there's a reason this type of structure is rarely used in Java - it's not that the above is verbose (everything's verbose in Java! Not because it results in larger code but because it's stricter, forcing programmers to say exactly what they want the more dangerous the code is - and as soon as you start talking about more complicated code structures, you're generally looking at less verbose code on the Java side anyway), it's that you're thinking about the data differently.
The most common use of a jump table in C is to abstract a set of object-dependent functions. In AmigaOS, for example, each library shipped with a jump table. Regardless of how the library was implemented, you always knew that dos.library's Open() function could be called using DOSBASE+16 (not that you would, obviously, every C compiler came with that all wrapped up in a stub for you. BTW, I'm probably wrong on the 16, but...)
In Java, that's already been done for you. How frequently do you think anyone needs a jump table in Java? How much Java code have you seen where a switch() could easily be replaced by a jump table, and do you think in those rare cases the JVM is really writing out 10,000 CMP X,2; BRE HANDLER_FOR_2, CMP X,3; BRE HANDLER_FOR_3;... type statements, or do you think it'd recognize that optimization anyway in the same way that 99% of C compilers do?
Umm, dude, they already are doing it. Windows uses.exe files which won't run on the Unix environment and it won't run the standard Unix ELF and a.out files which all the other Unix platforms support. Yet they claim that the applications are programmed using the C programming language
Your point being what exactly?
You program Android applications in the Java programming language. That doesn't make it a Java platform. And if you meant to imply that every implementation of the Java language has been designed to compile into J2 bytecode running on a JVM, then you should look up J# and GCJ, which compile to CLR and CPU code respectively. (GCJ offers the option of compiling to J2 bytecode, but it can also compile to CPU code.) Neither are "Java platforms", although GCJ can form part of one, if anyone ever finishes GNU Classpath.
The part you quote no more suggests that Android is Java than the references to Eclipse in the documentation suggest that Android is Eclipse.
Google are saying that you can use the language part of Java, known as the "Java Language", to develop applications for Android. The issue here is that the same word, Java, is used for both Sun's language and Sun's platform, and you're interpreting the comment as meaning the latter.
Substitute C for Java in the part you quote, and pretend it's Microsoft's documentation, like so:
Windows applications are written in the C programming language. The compiled C code - along with any data and resource files required by the application - is bundled by the InstallShield tool into a Windows installation package, an archive file marked by a.exe suffix.
and you see why the distinction matters. In the above, because "C" and "Unix" are the not the same word, there's no ambiguity.
Now, there are essentially two groups of people, people who run Android, who are never given any impression that Android is a Java platform and would never dream of trying to install a.jar file, and people who develop for it, who will, necessarily, get to the point that they're shipping Dalvik VM bytecode packaged in.apk files, and will be aware that they're programming in the language itself, with only some library functions being the same, who are also aware from the point it matters that Android is not the Java platform.
So who is being fooled here? Is Google really, in any practical way, either convincing, or trying to convince, people that Android is an implementation of the Java platform? You've quoted a sentence that could be read as ambiguous, but given the context, and given that people who read it will also be reading the information Google has provided that makes it clear that Google are only talking about the language, can you see anything that would be read by anyone else that would make them think "Sure, I can write for J2ME and it'll work under Android", or "I have this cool MIDP app, I'll buy an Android phone because I know it'll run it"
I don't think Oracle thinks anyone is under the impression that Android is the Java platform (well, aside from the people who think Mac OS X is a Windows platform, etc), I think this is a basic case of bullying. I think if Oracle was being honest and fair here, they'd ship a JVM for Android. But this is a power game, not a case where they're trying to "protect Java" or anything else.
It would've been incredibly irresponsible of Oracle to allow Google to create a wholly incompatible "Java" under the Java name
Yeah, but Google has no plans to do anything of the sort, and Oracle is still suing.
Oracle's beef seems to be that Android doesn't come with Java but happens to infringe on some Java patents. Why the fuck they don't rectify the problem themselves by releasing a version of Java for Android is anyone's guess. Maybe they're just assholes.
You don't have to use a switch. What you can do in this instance is create an array of objects, which can be anonymous inner classes, with a named method representing the function you want to call. Something like this (be aware I'm just typing this, I haven't tested it!):
: : abstract class switcheroo { void function_to_call(); }
void setTrafficLight(int lightNo) { switcheroo[] lightHandlers = new switcheroo[3];
Of course, you'd want to optimize this a little more (set up the array before-hand rather than with every call, etc) but the point is you're left with pretty much exactly the same assembled code as you'd have had if you had been using an array of function pointers.
Is it more longwinded? Why yes! But one could also argue that (a) the number of cases you'd actually legitimately want to do the above is small, especially in an environment in which you have an object layer to abstract things and thus would want to split where you make code central, and where you make things data specific, along different lines, (b) it's inherently an unsafe technique.
I can honestly say that in the years I've been doing Java programming, I've never once needed, or wanted, to use an array of function pointers. The way you handle data is entirely different to that of C, you just don't end up needing this.
Google's issue is not that it's making a JVM that's subtly incompatible with the official spec, it's that it's using technologies covered by the Java patents in a system that isn't Java.
It's not a matter of Google not wanting to make a "fully conforming" JVM, Google doesn't make a JVM, so the issue of fully conforming doesn't come into any equation.
Microsoft made something that they claimed was a JVM that wasn't conformant with the spec. Such actions would undermine the ability for developers to ship Java applications, and as such Sun took the very wise decision to sue over it. Google isn't making any such claims, and nobody in their right mind thinks a "Java program" will run, as-is, on Android.
Oh, and if Oracle's so upset that Google didn't ship a JVM with Android, maybe instead of suing, they could ship a fucking JVM for it? Why does Google have to do it for them?
Quite simple. They look for, say, a 7/11, or one of those places that sells candles that you're like "How the hell do they stay in business? I mean, they're nice candles, but do people really want candles enough to buy these overpriced scented things?", and then you come home and find your wife has bought fifty of them, and, anyway, they find one of those in the middle of nowhere, and then use the Union's Harrier Jump Jet to bomb the crap out of it.
Not a facial tissue, no, but most people I know ask for a tissue. Likewise the classic "Xerox" example that many people give is also overstated - "photocopy" or just "copy" is overwhelmingly more common.
I would say that, in the US, better examples are Band-aid, Tylenol, and Coke. Part of the issue with the first two is that the "generic" is awkward to pronounce or remember (a-seed-ah-what-now?) Coca-cola doesn't seem to benefit in any way from the fact that people ask for Cokes at restaurants when they mean "any brand name cola product."
Well, in the Google case, there's the risk of trademark dilution that may end up turning the "generic as advertising" into something else.
If in ten years time people are saying "A "quadrophilion"? What the hell is that? Let's google it with that cool Bing app that's built into my HTC iphone, y'know, like the ad says "Need to google something? The best way to google anything is with the new Bing app, works on all the major iphone platforms", and it's true!", then any initial benefit Google might have had to having people using its name in place of "search" (or Apple have "iphone" used in place of "locked down third rate phone with nice PDA functionality" - included to demonstrate why nobody has dared tread on a more litigious company's trademarks) would be entirely lost.
Try as I may though I can't see how the act of adding the word "book" to a word when creating a social networking site of any size dilutes a trademark to do with a specific word/"book" combination. Nor do I see why anyone would confuse "Facebook' with "Teachbook", or, for that matter, "Squiggleslashbook". I don't think Facebook is doing the right thing here.
At least, that's my opinion, after painstakingly altavistaing the different aspects and moral philosophies behind trademark law using Yahoo.
Re:I finally could tell my friend to go to hell
on
Windows 95 Turns 15
·
· Score: 1
If OS/2 had been 32 bit from the ground up, Microsoft and IBM might have continued to work on it together for a little longer.
OS/2 1.0 was entirely 16 bit, using the 80286's gad-owful segmented memory scheme. 2.0 had significant sections rewritten so that native 32 bit apps could be run, but it still had to carry the 16 bit legacy code to the finish.
The difference between it and Windows was that OS/2 never had to run on anything less than an 80286. For all of its faults, the 80286 brought with it proper virtual memory and privilege levels, something lacking in the original 8088 that Windows 1.0 was designed to run on. While support for the 8088 may have been dropped by the introduction of Windows 3.1, applications still expected to live in an environment without memory protection, which is what hampered Windows 95.
As far as my first comment goes, Bill Gates was reportedly pissed at IBM for choosing the 80286 as the base CPU for OS/2, and hated the extent to which both parties coded around the faults of that CPU architecture. Add that to the culture clash in terms of the respective company's attitudes towards coding, and Microsoft was looking for an out. Microsoft started a project that was going to be OS/2 Version 3, which would be the first entirely 32 bit version of OS/2, while IBM made OS/2 version 2 that would support the 32 bit APIs but still contain significant amounts of 16 bit code. This initial fragmentation became permanent when Microsoft's own engineers, including Dave Cutler, advocated for throwing away OS/2 altogether, and Microsoft terminated the agreement. "OS/2 version 3" became, in a long winded way, Windows NT, and the released versions 3 and 4 of OS/2 were actually based on OS/2 version 2.
What made OS/2 better than Windows was memory protection. They were both 16 bit. And OS/2 versions 2, 3, and 4 were, like Windows 95, operating systems with 32 bit APIs built upon upgraded versions of what were originally 16 bit platforms.
Not remotely similar to the Microsoft situation
on
The Case For Oracle
·
· Score: 5, Insightful
Google isn't advertising Android as a Java platform. It's a platform that you can write code for in the Java language, yes, but this is a world away from claiming you're shipping "Java", and virtually no end users are under the impression Java has anything to do with the Java platform. Be very clear about this: no applications shipped as.jar (or.class) files for J2ME, J2SE, or J2EE, will run under Android, and nobody thinks they will.
By comparison, Microsoft was shipping a supposedly compliant, but actually semi-incompatable, JVM with Windows that gave users and developers the idea it was a full implementation, which caused programs supposedly written for Java to often fail if either written for the Microsoft JVM and run under a standard stack, or vice versa.
If this is the crux of the author's argument, he's an idiot. If Google is "fragmenting" Java by allowing you to write programs in the language for its platform, then I suppose every operating system author, from Microsoft to Commodore, has been "fragmenting" Unix by allowing you to write code in C for their non-Unix operating systems.
That was my question: I was at Best Buy a few days ago, they had plenty of netbooks.
I'm baffled by the high sales of the iPad, but I suspect in time the device's popularity will go through the floor. I've yet to meet anyone with one, and I'm not seeing any evidence the majority people who have them are particularly glad they got one. Netbooks on the other hand... virtually everyone I know with one loves it. They actually fill the niche - a portable device capable of showing websites, running apps, etc, that are simply unmanageable on a Smartapprunnercrapphone.
And so I find the logic of the story here a little unfathomable. Netbooks work, work well, and the fact Steve Jobs doesn't want one will not make them disappear. As long as people love them, they'll continue to be made, developed, and be popular. Is there any evidence that Netbook sales have started to fall since the iPad?
In this particular case, yes, we do. The victim is feeling it for the same reason as the attacker is feeling it, both are in a situation in which neither could possibly not consider the environment to be one where one person is attacking the other.
Let's be clear here: Rape is where someone is having sex with someone against their will. For all the "It's a liberal feminist stereotype myth", how can doing something against someone else, without their consent, when there are plenty of alternatives, when you're hurting the victim and fully aware that you're hurting the victim be anything other than a conscious attempt to dominate and control them?
How? Oh sure, there may be some obscure 1% of rapes that are committed by drugged out mentally ill strongmen who for some reason are under the impression that the woman saying "Stop, no!" is actually consenting, but that doesn't describe the other 99%.
And maybe Slashdot is just full of virgins tonight, but who the hell thinks sex is sex unless your partner is actually fully involved? Because "sex" without a fully involved partner is masturbation, Which means this whole concept of "Well, Randy the Rapist was just really horny and needed to fuck someone, even an unwilling woman who'll be mentally scarred for the rest of her life" complete bullshit, because either he needs actual sex with a person, in which case raping an unwilling victim isn't going to get his rocks off, or he can use his left hand like everyone else on planet Earth.
About the only time where rape and actual horniness are actually connected is when someone finds the concept of rape in itself sexually gratifying. But again, the this doesn't fit the "Victim and Attacker see the acts as different" mentality.
Yes, but if it does what it can to ensure the number of "qualified" engineers available is limited to those in the US, then the small number of engineers who are actually any good will result in businesses simply shipping their entire development departments overseas.
And if you don't believe me, you might want to open your eyes and look at what has happened, because many businesses, facing a choice between difficult and expensive to obtain H1B visitors, and resident programmers who had absurd salary requirements, gave up and contracted out their work to overseas development shops.
Was H1B a bad idea? In one way, yes, it's never been an attractive visa for holders of it because it offers no paths to permanent residency, and thus leaves developers who come in under it in a very awkward situation. But the essential argument the IEEE was making, that we had to deal with a very real skill shortage that was causing programming in the US to be both expensive and, well, crappy, by attracting quality developers from whereever they might be was absolutely in the best interests of US developers. We'd have been outsourced completely if those kinds of efforts had not been made.
It's partly about Blu-ray. Blu-ray either does or will (I forget the cut-off date) all display devices to be HDCP controlled. Computers based players require a so-called "secure path" between the decoding software and the display screen. What this crack does is undermine all of this, making such restrictions even more ridiculous than they were. As of today, only Windows supports "secure path", and even then Microsoft is known to hate it.
It's questionable that the BDA will make the right decision here, but it at least has an opportunity to return to the question and ask whether it's actually useful for the platform that, for example, only a minority of Windows users be capable of playing BD discs when the reason for demanding this is to mandate a security system that's now known not to work at all.
In fairness, I can't think of many people who'd want to spend $1,000 just to make that HD DVR/jukebox they've/we've always wanted. Which, ironically, means it'll be used largely by pirates wanting to show off by ripping movies and PPV content, and uploading it to Rapidshare.
OK, BP's mistake was an utter disaster for the environment.
Intel's technology's failure, on the other hand, is a great thing for everyone except the movie studios... and who knows, in the long run it might even benefit them too.
So I'm not really seeing how they're the same thing. Which doesn't mean I'm unsurprised they came out and announced it.
FWIW, I'm pretty sure that most of the lawmakers currently in office are from "the generation" that grew up with cassette tapes and 3.5mm stereo-to-stereo connecting cables. They, unlike "our generation" (whatever that is) grew up in an environment in which technical controls on copying were virtually non-existent.
Also virtually every lawmaker lived during a "generation" that supposedly spent its college years smoking dope, but the latter is still illegal.
So, no, I don't think that twenty years from now us being in a situation where many lawmakers knew people who freeloaded off of Napster back in the olden days before we all started buying music compressed using 16kbps AAAC++ Protected By MacroVision(tm) HDCD(tm) (Disclaimer: the words Macrovision, HDCD, and "Protected by" are registered trademarks of Disney Trademark Lawyers Corp. All rights reserved.) will make any difference.
They didn't listen to consumers. And nor does this have anything to do with lawsuits. This has to do with the policy itself being an idiotic, self-defeating, piece of stupidity that had everything to do with a kneejerk against a company Apple doesn't like without considering the consequences.
Want to know why it was overturned? Because Epic Games ported Unreal to the iPhone, and then made everyone aware that unless Apple did a 180, nobody was ever going to see a game based on that engine.
Building products using a third party engine may be uncommon for, say, productivity software, but for games it's pretty much the standard. And Apple's been seeing games as a make-or-break feature of smartapprunnercrapphones. If Google produces a great gaming platform, it'll hurt the iPhone, hard.
Now, I know what you're going to say. "But Epic could have just given Unreal an C API!" Sure, and it equally could not. Why should it? Why take something that works, and replace it with some technologies that still think we're programming minicomputers from the 1970s? Beyond "getting Unreal-based games approved", there was no advantage whatsoever to switching to a C based API. Particularly when the reason why Apple has that restriction is not because of any technical advantage (in fact, forcing people to write in C is mind bogglingly stupid, a guarantee that software will be even less secure and even less reliable than normal), but because Steve Jobs hates Adobe because Adobe produced a plug-in he doesn't think works particularly well, and wants to punish Adobe for doing so?
Epic stuck by their guns. Developers went to Apple and pointed at Unreal and said "Look, (a) Jobs might be successful, but he's letting a vendetta get the better of him right now and (b) unless you change your policies, Android is going to eat your lunch." Apple relented.
Personally, having read the revised conditions, I still think any developer who develops software for iPhone right now is asking for trouble, and they should switch to Android, which is growing faster and will almost certainly have a greater market share within the next year. I think developers should be using this as evidence not that "Apple's OK underneath, they fix their mistakes", but "Apple has made utterly ridiculous policy decisions in the past, born not out of business sense or some overriding strategy, but because they're run by a man whose ego and temper has the better of him, and Apple almost certainly will do it again in the future, at least as long as a meglomaniac is in charge. There's no reason to trust them."
Your wait is over: http://en.wikipedia.org/wiki/Tablet_PC
Of course, but partial documentation is better than none at all, wouldn't you agree?
Then you're being extraordinarily myopic. I see publicizing the technologies used to build a product as a positive thing. You can't deny that stamping a patent number on a product fails to do that, surely? And given that a patent could expire the day after you buy a product, why would you take a list of patents on the back of a product as meaning that the patenter still has a monopoly anyway?
Because I type fairly quickly, and because Pudge and CmdrTaco are fucking idiots, I can't post this right now (oooh, it's been THREE MINUTES since I responded to someone else, I must be a hacker with nothing to say!), so instead I'm going to waste some of their bandwidth and storage space by adding this Wikipedia article. Hope you're OK with that.
Advanced Passenger Train
From Wikipedia, the free encyclopedia Jump to: navigation, search
The Advanced Passenger Train (APT) was an experimental tilting High Speed Train developed by British Rail during the 1970s and early 1980s.
The introduction into service of the Advanced Passenger Train was to be a three-stage project. Phase 1, the development of an experimental APT, the APT-E, was completed. Phase 2, the introduction of three prototype trains, known as the APT-P, into revenue service on the Glasgow - London route, did occur but enjoyed limited service due to bad publicity. Phase 3, the introduction of the Squadron fleet designated APT-S, did not occur. The knowledge and experience gained enabled the construction of other high speed trains, including tilting derivatives.
Contents
* 1 Background * 2 Demise * 3 APT today * 4 APT versus TGV and Shinkansen * 5 Further uses of APT technology * 6 References + 6.1 Notes + 6.2 Bibliography * 7 External links
Background
In the mid to late 20th century, British Rail express services compared unfavourably with France's TGV and Japan's Shinkansen. Experience with High Speed Trains on the East Coast Main Line from London to Edinburgh had shown that reduced journey times could produce a significant increase in passenger numbers, but that line was largely straight and suited to high speeds. Other lines, such as the West Coast Main Line (WCML) from London to Glasgow, were not straight enough to support high speeds with conventional equipment. Lateral forces would be just too high around corners; passengers would not be able to stand upright easily, and items would move on tables. Because slower trains also use the same tracks, superelevation (banking or "canting" of the track around curves) could only be utilised to enable speeds up to 125 mph (201 km/h). In order to permit a top speed of 155 mph (249 km/h), and thereby cut journey times, British Rail's engineers at the Derby Research Division developed an advanced active tilting technology, using hydraulic rams controlled by spirit level sensors to tilt the passenger cars into the curves so that no lateral forces would be felt. Numerous engineers involved in the project had an aeroengineering background. Not only was the train designed to tilt but it was also articulated and had hydrokinetic (Water turbine) brakes. The latter feature is often overlooked but was in fact just as significant as the tilting concept, because it enabled the train to stop within the existing signal spacings. The fact that under operating conditions it failed to do so, was one of the main factors in the train being withdrawn.
Some of the senior managers in British Rail at the time were unwilling to put all their eggs in one basket, and so initiated a parallel project to design a train based on conventional technology as a stopgap.^^ This was the Hig
And that's the legal incentive for them to do it. From a "this is why patents exist" standpoint, it's a good thing they mark a product that was built using patented technologies with the numbers of the patents (and hence links to the description of how it works) covering the details of how it was made.
Everyone wins when the patent numbers are stamped on the product, which makes these lawsuits utterly ridiculous. As long as we have patents, encouraging companies to broadcast their existence, whether in force or merely informational, is a damned good thing.
I can't wait to get a PowerMac G6 with this CPU, in your face Dell users with your commodity Intel-based desi... oh, wait.
They're claiming to have a government sanctioned monopoly on something, but it's rare, if ever, that they're telling you on what. They just list patent numbers, which as of today bear no relation to their actual content, because, well, they're numbers, rather than English phrases.
If the stamps we were talking about said "This design is covered by patent #10294818291, which covers the use of proton torpedo to turn lead into gold", then sure. But saying it's covered by patent #somelongnumber" really isn't helpful, all it does is say that there are patents that apply here, and so if you do an exact copy you may get into trouble.
One could ask why companies should bother stamping the warnings on their goods in the first place, given the above. Quite honestly, I'd agree except for the fact that it is actually helpful in many ways. If the purpose of patents is to ensure that people document their inventions in exchange for a limited monopoly, then it does make a lot of sense for a company to stamp the patents that apply, or applied, on the items they sell.
In that respect, the lawsuits aren't just parasitic, they're actually anti-beneficial. The lawsuits encourage companies to delink the documentation on how to make their products from the products themselves. And while I'm for anything that undermines the patent system, I've seen no evidence that removing the positives from a system that has widespread corporate support ever undermine it.
As I said above:
FWIW, the C code wouldn't fit in 64k either, for obvious reasons - if you're talking about 10,000 functions, they'd have to be really tiny to all fit into 24k. The jump table will, in both Java and C, be around 40,000 bytes. For us to get close to a point where the number of functions would result in code under 64k for C, and slightly over for Java, is probably closer to around 1,000 functions than 10,000.
But as I said, there's a reason this type of structure is rarely used in Java - it's not that the above is verbose (everything's verbose in Java! Not because it results in larger code but because it's stricter, forcing programmers to say exactly what they want the more dangerous the code is - and as soon as you start talking about more complicated code structures, you're generally looking at less verbose code on the Java side anyway), it's that you're thinking about the data differently.
The most common use of a jump table in C is to abstract a set of object-dependent functions. In AmigaOS, for example, each library shipped with a jump table. Regardless of how the library was implemented, you always knew that dos.library's Open() function could be called using DOSBASE+16 (not that you would, obviously, every C compiler came with that all wrapped up in a stub for you. BTW, I'm probably wrong on the 16, but...)
In Java, that's already been done for you. How frequently do you think anyone needs a jump table in Java? How much Java code have you seen where a switch() could easily be replaced by a jump table, and do you think in those rare cases the JVM is really writing out 10,000 CMP X,2; BRE HANDLER_FOR_2, CMP X,3; BRE HANDLER_FOR_3; ... type statements, or do you think it'd recognize that optimization anyway in the same way that 99% of C compilers do?
Your point being what exactly?
You program Android applications in the Java programming language. That doesn't make it a Java platform. And if you meant to imply that every implementation of the Java language has been designed to compile into J2 bytecode running on a JVM, then you should look up J# and GCJ, which compile to CLR and CPU code respectively. (GCJ offers the option of compiling to J2 bytecode, but it can also compile to CPU code.) Neither are "Java platforms", although GCJ can form part of one, if anyone ever finishes GNU Classpath.
The part you quote no more suggests that Android is Java than the references to Eclipse in the documentation suggest that Android is Eclipse.
Google are saying that you can use the language part of Java, known as the "Java Language", to develop applications for Android. The issue here is that the same word, Java, is used for both Sun's language and Sun's platform, and you're interpreting the comment as meaning the latter.
Substitute C for Java in the part you quote, and pretend it's Microsoft's documentation, like so:
and you see why the distinction matters. In the above, because "C" and "Unix" are the not the same word, there's no ambiguity.
Now, there are essentially two groups of people, people who run Android, who are never given any impression that Android is a Java platform and would never dream of trying to install a .jar file, and people who develop for it, who will, necessarily, get to the point that they're shipping Dalvik VM bytecode packaged in .apk files, and will be aware that they're programming in the language itself, with only some library functions being the same, who are also aware from the point it matters that Android is not the Java platform.
So who is being fooled here? Is Google really, in any practical way, either convincing, or trying to convince, people that Android is an implementation of the Java platform? You've quoted a sentence that could be read as ambiguous, but given the context, and given that people who read it will also be reading the information Google has provided that makes it clear that Google are only talking about the language, can you see anything that would be read by anyone else that would make them think "Sure, I can write for J2ME and it'll work under Android", or "I have this cool MIDP app, I'll buy an Android phone because I know it'll run it"
I don't think Oracle thinks anyone is under the impression that Android is the Java platform (well, aside from the people who think Mac OS X is a Windows platform, etc), I think this is a basic case of bullying. I think if Oracle was being honest and fair here, they'd ship a JVM for Android. But this is a power game, not a case where they're trying to "protect Java" or anything else.
Yeah, but Google has no plans to do anything of the sort, and Oracle is still suing.
Oracle's beef seems to be that Android doesn't come with Java but happens to infringe on some Java patents. Why the fuck they don't rectify the problem themselves by releasing a version of Java for Android is anyone's guess. Maybe they're just assholes.
You don't have to use a switch. What you can do in this instance is create an array of objects, which can be anonymous inner classes, with a named method representing the function you want to call. Something like this (be aware I'm just typing this, I haven't tested it!):
Of course, you'd want to optimize this a little more (set up the array before-hand rather than with every call, etc) but the point is you're left with pretty much exactly the same assembled code as you'd have had if you had been using an array of function pointers.
Is it more longwinded? Why yes! But one could also argue that (a) the number of cases you'd actually legitimately want to do the above is small, especially in an environment in which you have an object layer to abstract things and thus would want to split where you make code central, and where you make things data specific, along different lines, (b) it's inherently an unsafe technique.
I can honestly say that in the years I've been doing Java programming, I've never once needed, or wanted, to use an array of function pointers. The way you handle data is entirely different to that of C, you just don't end up needing this.
No it's not what you said.
Google's issue is not that it's making a JVM that's subtly incompatible with the official spec, it's that it's using technologies covered by the Java patents in a system that isn't Java.
It's not a matter of Google not wanting to make a "fully conforming" JVM, Google doesn't make a JVM, so the issue of fully conforming doesn't come into any equation.
Microsoft made something that they claimed was a JVM that wasn't conformant with the spec. Such actions would undermine the ability for developers to ship Java applications, and as such Sun took the very wise decision to sue over it. Google isn't making any such claims, and nobody in their right mind thinks a "Java program" will run, as-is, on Android.
Oh, and if Oracle's so upset that Google didn't ship a JVM with Android, maybe instead of suing, they could ship a fucking JVM for it? Why does Google have to do it for them?
I've always wanted to create a company called "Disney Trademark Lawyers, LLC"
Quite simple. They look for, say, a 7/11, or one of those places that sells candles that you're like "How the hell do they stay in business? I mean, they're nice candles, but do people really want candles enough to buy these overpriced scented things?", and then you come home and find your wife has bought fifty of them, and, anyway, they find one of those in the middle of nowhere, and then use the Union's Harrier Jump Jet to bomb the crap out of it.
Never did understand why, until now.
Not a facial tissue, no, but most people I know ask for a tissue. Likewise the classic "Xerox" example that many people give is also overstated - "photocopy" or just "copy" is overwhelmingly more common.
I would say that, in the US, better examples are Band-aid, Tylenol, and Coke. Part of the issue with the first two is that the "generic" is awkward to pronounce or remember (a-seed-ah-what-now?) Coca-cola doesn't seem to benefit in any way from the fact that people ask for Cokes at restaurants when they mean "any brand name cola product."
Well, in the Google case, there's the risk of trademark dilution that may end up turning the "generic as advertising" into something else.
If in ten years time people are saying "A "quadrophilion"? What the hell is that? Let's google it with that cool Bing app that's built into my HTC iphone, y'know, like the ad says "Need to google something? The best way to google anything is with the new Bing app, works on all the major iphone platforms", and it's true!", then any initial benefit Google might have had to having people using its name in place of "search" (or Apple have "iphone" used in place of "locked down third rate phone with nice PDA functionality" - included to demonstrate why nobody has dared tread on a more litigious company's trademarks) would be entirely lost.
Try as I may though I can't see how the act of adding the word "book" to a word when creating a social networking site of any size dilutes a trademark to do with a specific word/"book" combination. Nor do I see why anyone would confuse "Facebook' with "Teachbook", or, for that matter, "Squiggleslashbook". I don't think Facebook is doing the right thing here.
At least, that's my opinion, after painstakingly altavistaing the different aspects and moral philosophies behind trademark law using Yahoo.
If OS/2 had been 32 bit from the ground up, Microsoft and IBM might have continued to work on it together for a little longer.
OS/2 1.0 was entirely 16 bit, using the 80286's gad-owful segmented memory scheme. 2.0 had significant sections rewritten so that native 32 bit apps could be run, but it still had to carry the 16 bit legacy code to the finish.
The difference between it and Windows was that OS/2 never had to run on anything less than an 80286. For all of its faults, the 80286 brought with it proper virtual memory and privilege levels, something lacking in the original 8088 that Windows 1.0 was designed to run on. While support for the 8088 may have been dropped by the introduction of Windows 3.1, applications still expected to live in an environment without memory protection, which is what hampered Windows 95.
As far as my first comment goes, Bill Gates was reportedly pissed at IBM for choosing the 80286 as the base CPU for OS/2, and hated the extent to which both parties coded around the faults of that CPU architecture. Add that to the culture clash in terms of the respective company's attitudes towards coding, and Microsoft was looking for an out. Microsoft started a project that was going to be OS/2 Version 3, which would be the first entirely 32 bit version of OS/2, while IBM made OS/2 version 2 that would support the 32 bit APIs but still contain significant amounts of 16 bit code. This initial fragmentation became permanent when Microsoft's own engineers, including Dave Cutler, advocated for throwing away OS/2 altogether, and Microsoft terminated the agreement. "OS/2 version 3" became, in a long winded way, Windows NT, and the released versions 3 and 4 of OS/2 were actually based on OS/2 version 2.
What made OS/2 better than Windows was memory protection. They were both 16 bit. And OS/2 versions 2, 3, and 4 were, like Windows 95, operating systems with 32 bit APIs built upon upgraded versions of what were originally 16 bit platforms.
Google isn't advertising Android as a Java platform. It's a platform that you can write code for in the Java language, yes, but this is a world away from claiming you're shipping "Java", and virtually no end users are under the impression Java has anything to do with the Java platform. Be very clear about this: no applications shipped as .jar (or .class) files for J2ME, J2SE, or J2EE, will run under Android, and nobody thinks they will.
By comparison, Microsoft was shipping a supposedly compliant, but actually semi-incompatable, JVM with Windows that gave users and developers the idea it was a full implementation, which caused programs supposedly written for Java to often fail if either written for the Microsoft JVM and run under a standard stack, or vice versa.
If this is the crux of the author's argument, he's an idiot. If Google is "fragmenting" Java by allowing you to write programs in the language for its platform, then I suppose every operating system author, from Microsoft to Commodore, has been "fragmenting" Unix by allowing you to write code in C for their non-Unix operating systems.
That was my question: I was at Best Buy a few days ago, they had plenty of netbooks.
I'm baffled by the high sales of the iPad, but I suspect in time the device's popularity will go through the floor. I've yet to meet anyone with one, and I'm not seeing any evidence the majority people who have them are particularly glad they got one. Netbooks on the other hand... virtually everyone I know with one loves it. They actually fill the niche - a portable device capable of showing websites, running apps, etc, that are simply unmanageable on a Smartapprunnercrapphone.
And so I find the logic of the story here a little unfathomable. Netbooks work, work well, and the fact Steve Jobs doesn't want one will not make them disappear. As long as people love them, they'll continue to be made, developed, and be popular. Is there any evidence that Netbook sales have started to fall since the iPad?
In this particular case, yes, we do. The victim is feeling it for the same reason as the attacker is feeling it, both are in a situation in which neither could possibly not consider the environment to be one where one person is attacking the other.
Let's be clear here: Rape is where someone is having sex with someone against their will. For all the "It's a liberal feminist stereotype myth", how can doing something against someone else, without their consent, when there are plenty of alternatives, when you're hurting the victim and fully aware that you're hurting the victim be anything other than a conscious attempt to dominate and control them?
How? Oh sure, there may be some obscure 1% of rapes that are committed by drugged out mentally ill strongmen who for some reason are under the impression that the woman saying "Stop, no!" is actually consenting, but that doesn't describe the other 99%.
And maybe Slashdot is just full of virgins tonight, but who the hell thinks sex is sex unless your partner is actually fully involved? Because "sex" without a fully involved partner is masturbation, Which means this whole concept of "Well, Randy the Rapist was just really horny and needed to fuck someone, even an unwilling woman who'll be mentally scarred for the rest of her life" complete bullshit, because either he needs actual sex with a person, in which case raping an unwilling victim isn't going to get his rocks off, or he can use his left hand like everyone else on planet Earth.
About the only time where rape and actual horniness are actually connected is when someone finds the concept of rape in itself sexually gratifying. But again, the this doesn't fit the "Victim and Attacker see the acts as different" mentality.