Actually, from the article at PC perspectives and Anandtech's coverage, I'm under the impression that there are 2x128bit paths in the shared FP unit, and that each path could be scheduled to one thread or another. If that's the case, then traditional floating point and SSE math should perform as if there are two full FPU/SIMD ALUs. Only when using the new, 256bit AVX instructions would you have less performance than a processor with one full AVX unit per processor core. Unless they're saying that the last generation already had dual-128bit paths and could issue two independant SSE operations/clock.
Its really a pretty slick design, and with more and more floating-point work being offloaded to the GPU (and soon integrated on the CPU die) I think this is really going to play out to AMDs advantage. There's been some talk of upcoming Intel processors integrating the 512bit LBNi instructions from Larabee, but I fail to see the point of adding ever-wider vector units to the CPU when the GPU is the obvious place to spend those transistors -- possibly it would be worthwhile if Intel does indeed plan to bring some form of large larabee-core array to the consumer market, either as a GPU or compute card, but those chances dwindle as time goes on. Too bad though, I was really excited about Larabee, from a development perspective, at one time.
Thats because ARM cores have always been targetted at the embedded and portable markets, where potential customers want "just enough" power with absolute minimum power draw -- Tha majority of ARM parts sold today draw peak power measured in milliwatts -- an order of magnitude or two lower than the most frugal X86 or PPC designs. Some of the higher-end ARM designs incorporate vector floating point, a DSP or two, hundreds of megabytes of on-chip RAM and quite capable 3D accelleration, and still manage to draw down less than a watt at peak power consumption.
The fastest available ARM cores today are competitive with Intel's ATOM processors core-for-core, clock-for-clock. In practice, existing cores end up being slightly slower in actual use since none have a system bus wider than an anemic 32bits (and also not typically clocked very fast), but in terms of computational power, they already match some current x86 designs.
If someone took the chains of power-consumption off and said "We're going to get all we can out of, say, a 20 Watt power envelope" you'd end up with something quite powerful. For starters, with very little work on the core itself, you could double the core speed and simply allow greater power leakage, then toss 16 of those on a die with local and shared cache. 16 2Ghz ARM cores, each with a very capable vector-floating-point unit, would be every bit as powerful as even the fastest Intel quad-core i7. Then there's the other end of the spectrum -- reworking the core architecture from the ground up, optimizing for performance, rather than power consumption. You could reasonably attain competetive performance with fewer, more-powerful cores as well.
All of that said, I'm skeptical that this is about Xbox. This is for sure about Zune, possibly about a Microsoft portable console, possibly for high-performance peripheral devices (Think Kinect 2.0 offloading most of the work to the kinect unit itself), and only just by the slimmest of chances about Xbox 3 (or 4, for that matter) -- The only thing that gives me pause that it might be about Xbox proper, is that all their other devices are well-served by the existing ARM ecosystem, too well served to enter the chip-design business anyhow. An upcoming Xbox is one compelling reason to liscense a new micro-architecture, and being able to respond to Apple's in-house ARM core is the other.
Make no mistake that ARM is a very capable architecture though, and it's a delight to code for in Assembly Language. I've said many times that ARM is, in the coming years, going to be the most credible threat Intel and X86 has ever faced. It's going to be moving into Netbooks and STBs more this year, then laptops, some servers and higher-end embedded devices (I'm convinced Nintendo will consolidate all their systems behind ARM beginning with their next home console in order to leverage their 1st and 3rd party experience with ARM that is the result of their portables' popularity). In 10 years time, the question may not be Intel vs. AMD, but x86/x64 vs. ARM.
I don't know if this guy is really that arrogant, or whether he simply chose the most unfortunate phrasing possible, but the notion of selling an "incomplete" experience is complete BS. If you want to sell an expansion, fine. If you want to go episodic, fine. I don't even have a problem if you want to drop an expansion or episode day-and-date with your product's release, but *don't you dare* to hold out on a complete experience when you've just chaged me a full retail price; and *no* you may not sell me 2/3rds of the content for $40 bucks, and the rest as a $20 download -- I know its the same price, but If I buy a box I damn-well better find the whole thing inside.
Sell me new content, sell me new bling, that's all well and good; but don't try to double-dip by selling me content that should have been there in the first place, and don't sell necessary goods or unfair advantages. Heck, sell multi-player access to the pirates as long as you've got some kind of voucher in the box for the first purchaser, as long as Its tied to my account (for travel) and my box (so that the family can play). Bonus points if I can go to your website and release it so it can be transfered to someone else upon sale. Sell online access through download and as little gift-cards at Gamestop, and let users have more than one such "character" account if they wish, just like most MMOs do.
ARM's naming scheme is confusing -- What we know as ARM7 (such as in the GBA and many lower-end microcontollers) is an ARMv4 architecture. ARM9, IIRC, is ARMv5 architecture.
The Cortex-A8 in the Pandora is a whole different beast -- an ARMv7 architecture (The very latest ARM multi-core architecture is ARMv8, I believe), which is ARM's first super-scalar processor (meaning that some of the execution resources execute independently and in parallel if the instruction stream is suitable). They also have a rather nice SIMD instruction set called Neon.
The OMAP3530 in the Pandora specifically also has a 430Mhz DSP core that's entirely independent of the ARM core. It can be used to decode audio and video, and possibly might allow T&L offloading from the GPU, or perhaps physics calculations. Then there's the on-chip GPU, which is quite powerful -- same as the iPhone3G but clocked higher. You can expect PS2-level graphics or better at 480p resolution (WVGA).
Its the same chip as on the beagleboard, but with more on-chip RAM/FLASH.
Actually, current ARM processors are more than competitive with Intel's low-power offerings -- Arm Coretex A-8 cores have been benchmarked to match or exceed the performance of Intel Atom processors in integer performance while suffering a 25% clockspeed disadvantage, and while consuming around 1/20th the power. Floating point performance does indeed lag behind even Intel's Atom (its also one of the focus areas for the Cortex A-9 core), but is not a big requirement for server or database tasks.
There was some intersting reseach not too long ago which paired low-power x86 chips (Geode LX at the time, IIRC), Solid-state storage (in the form of compact flash) and a RAM-based caching of solid-state contents. About 10 of these boards were then clustered, running a distributed database application. As I recall, there were some serious performance and power-savings advantages compared to a single larger, multi-core x86 server setup. The primary advantage, in my oppinion, was that the ammount of available bandwidth, both to storage and to working RAM, combined with intelligent caching, was paired in much more favorable ratios to the power of the CPU. In short, the reseach found that a cluster of modest machines turns out to be competitive, even better-than, a single powerful server in terms of cost, power-consumption, heat disipation, and even in performance.
Microsoft is keen to realize that a modern ARM core is quite well suited to match modern I/O limitations. There's no point building a large system when the requests it's going to serve will be bottlenecked by I/O.
Oh please. Its not like PC games are never shut down -- granted some of them have dedicated servers that individuals run for as long as they like, but how many MMOs have been shut down? You know, those MMOs that cost 50 bucks to start + 10-15 bucks (just for that one game) every month up until it was cancelled? Not all PC games are impervious to this sort of thing.
That said, I believe that any original XBox game that works on the 360 hardware ought to be supported for as long as the 360 games are. But, it's also not some huge loss either -- its not as if gobs of people are still playing even Halo 2, which was by far the most popular online game for the original XBox -- when my 360 red-ringed, I tried to hop on some halo 2 to get my fix. The number of online players was in the very-low 4 digits, maybe 1200 or so. It took me 20 minutes to get into a 6-man game, and everyone in it, aside from myself, were either glitching or using hacks. It really is sad, because there were some really great multiplayer maps in Halo 2 that weren't made over for 3.
Also, from what I recall, one of the reasons that your friends list is limited to 100 or so is because all the original xbox games hard-coded this number -- so they either limit the query to 100 results, cutting off your would-be friends, or they try to read all that data and likely crash. On the 360, I don't believe devs were allowed to assume this number and had to query for it. Its very likely that cutting off the old games will allow the live platform to move beyond some of the early mistakes like this.
1) Quality is good, perhaps better than what Direct3D has. Quantity and diversity (eg beginner-level material) is lacking.
2) Because they're advocating XInput and XACT Audio instead. The only former DirectX component that doesn't have a new, better equivalent is DirectPlay, but nobody used that anyways, opting for raw Sockets code.
3) Microsoft officially supports XNA now, over Managed DirectX before it. Its a different approach to the API, but its the same technology underneath. If you want something that's a more literal translation of DirectX to C# or any of the.net languages (including IronPython, or IronRuby) there's SlimDX, a high-quality third-party library that's being used in many amatuer and professional games.
4) Snide aren't we?
5) Things started turning around with 8.1, though 9.0 was the big revolution to support shader architectures. Version 9, by the way, is the version which led Carmack to admit liking Direct3D -- In fact, at the time, with Direct3D in a modern state, and OpenGL mired in an unresponsive standards body and a sea of extensions, he openly admitted to liking it *more* than OpenGL.
OpenGL is a fine API from a technical perspective, however its been held back in the face of recent hardware advances by a refusal to break backwards compatibility, having not seen a major (and even then not as major as was hoped) revision until 3.0. The other issue is that there's no strong API ecosystem around OpenGL providing the rest of the media equation -- no clear equivelent to DirectSound/XAudio, XInput, etc -- Sure there are many alternatives, but actual support on end-user machines is fragmented. Khronos has been doing a great job working at correcting this with OpenGL, OpenGL|ES, OpenSL, OpenVG and their other efforts, but its not there yet. Khronos is exactly the kind of clear direction and branding that a serious DirectX contender needs.
If you look at it from a purely technical perspective, the only serious point OpenGL has on its side is portability. Portability is great, but please do remember that portability is more an ideal than a necessity. When the competing API runs on 90% of PCs and the leading game console in the US, that's "portable enough" for all practical purposes -- the ones the bean-counters care about. Here's an exercise -- add up all the machines where DirectX is the preferred API (Windows PCs and Xboxen), now add up all the systems where OpenGL is the preferred API (*nix boxen, Macs), neither the Wii nor the PS3 have OpenGL in a meaningful way (in other words, that developers actually use) -- Now, how do you define portability? Does portability mean running on the most *types* of machines, or the *most machines* period? Do you make the philosophical choice, or the practical?
Don't take what I say as anti-OpenGL in any way. OpenGL is wonderful and necessary, and if nothing else serves to keep Direct3D on it's toes. But I say that no reasonable person, with a realistic view of what it's supposed "portability benefit" amounts to, can say, without compromise, that OpenGL is inarguably and irrevocably, the better API without bringing in the philosophical argument of portability and open standards. There's nothing wrong with making the choice a philosophical one -- just admit it for what it is, rather than twisting things into non-existent technical matters or disparaging remarks and insinuations towards your competitor.
The sooner everyone admits that Open software / Open standards is a largely philosophical choice and standard to uphold one's self too, I think we can get past a lot of the mud-slinging and move onto more productive matters.
I'm sure this hasn't escaped most slashdotters, but Live is a huge incentive for people to buy legitimate copies of games, which is why they so vigorously defend it. I'm all for fair use, and I'm inclined to agree with the fellow above who said, essentially "You own the hardware, do as you please. Microsoft owns the network, so they can do as they please as well."
What this amounts to, is that any game with a strong multi-player component is less likely to be pirated, since you can only play the single-player portion once a modder has been IDed -- This is great for the Devs (unfortunately only after the publisher has taken a substantial cut), great for users since software hacks are uncommon, and great for microsoft since they get a cut of game sales too.
I'm not sure if Sony has an answer to this since their network isn't centralized. Even if they can detect such things, they'd either have to distribute lists to third parties (who run the servers themselves), provide a verification service, or act as a gateway in the way that live does. This is definately something to consider as a third party developer -- One of the market players has a very strong anti-piracy incentive built in, while the other has nothing. Extrapolating from the 3% of Xbox live that was banned, and assuming that maybe 1/3rd of that number wouldn't buy the game if it weren't for piracy, a 2% sales gain for no additional effort isn't anything to scoff at.
It's not about selling new consoles -- After all, they're barely breaking even, if at all.
Sega was coming off a long string of failed consoles (particularly in America, where the Saturn was never popular against the playstation). They had the stench of desperation about them, and brought out a console a year earlier than its biggest (and rising star) competitor. They came to the party *early*, and that's social suicide. Not to mention that many Sega fans has finally accepted the failure of the Saturn and jumped ship just a year or two before. Many publishers and developers lost faith in Sega, including EA who was/is, for better or worse, the biggest player in the game -- Madden moves consoles in the US (even though I much preferred the Sega Sports versions, personally), and FIFA moves consoles everywhere else. The Dreamcast got neither.
Now Sony, who had mopped up the floor during the Saturn's generation, and was the new, exciting player in the console space, was right there shouting "We have movie-quality graphics! We Have tons of developer support! PS1 was a success! Oh, and we play DVDs too!!!" -- Everyone was excited about DVD in particular and many a PS2 were sold to parents looking for a cheap entry to DVDs that the kids could also enjoy, and to younger folks wanting DVDs and games.
The irony, of course, is that the DC actually delivered -- The hardware was quite powerful, It was cheap to develop and produce (off the shelf hardware), and it was a joy to develop for. They even had many greats in their library despite the tepid response from developers.
The Dreamcast wasn't really killed. It was born on life-support.
I'd disagree. Something is indie if its *produced* independently, without external aid (such as advancements from a publisher, for instance) -- Whether it's later picked up by a publisher, big or small, has nothing to do with it unless they start demanding changes before its release. What "Indie" is supposed to mean is a product that is free of all the publisher/market-research/men-in-suits bullshit.
Yes your server has dual-channel DDR2 at... 400Mhz is common (PC2-6400), with a bandwidth of 12.8 GB/s. You've got maybe 2 Gb/s network connections, for a quarter GB/s network bandwidth, and maybe 3 Ghz of processing power to push it out.
This array, lets assume DDR2 at 333Mhz, has a bandwidth of 5333MB/s x 21, or 112 GB/s to RAM, 1 Gb/s x 21, or just about 3 GB/s to the network, and 500Mhz x 21, or over 10Ghz of processing power to push it out.
While no blame can be placed at the feet of the girl or her parents, this issue does highlight some important things we must do as adults and as parents.
Firstly, anyone with a child enrolled in any institution need to be aware of that institutions policies, and to be actively involved in reforming those policies where abuse is possible. I believe it is in no way reasonable for any non-state, non-security institution to be able to strip-search anyone, let alone a minor. Does their policy handbook say that measures up-to-and-including a strip-search may be taken by school officials? That handbook should be viewed as a contract between the district and students/their parents, it should state clearly what the potential resolutions/punishments are for a given class of investigation/infraction, if they step out of line with that, they should be held accountable in the absolute.
Second, parents need to educate their children that there is a difference between respecting policy and being taken advantage of. This means teaching your children about what rights they have and which are curtailed in certain situations, and to what extent. It also means teaching them that they can, and should, peaceably resist when asked, told or threatened to go against the rights they do hold in any situation. They need to know the child-hood equivalent of "No officer, I know my rights, and you may not look in my trunk." In these situations, teach your children to request that their parents be involved -- The childhood equivalent of not speaking without an attorney present.
Having been on the wrong end of Zero-Tolerance myself, though to nowhere near the extent as the poor victim in this case, I can say that the second point will almost assuredly be met with resistance. The authority-types in the school system don't take well to the notion that there are limits on the theory of "what I say goes." They may push harder, they may get angry, they may even, in extreme cases, take physical measures to force compliance -- it would be terrible if the issue were taken to that end, but it would also make their culpability absolutely cut and dried.
Unfortunately this sort of thing is the collateral damage of the rampantly enacted "zero-tolerance" policies. Someone said it above, and it's worth repeating -- "Zero Tolerance" is another way of saying "I don't want to make real decisions." or, more accurately, "I'd rather hide behind Zero Tolerance than take accountability for the decisions I'd otherwise have to make."
Here you see it at its finest, an absolutely abhorrent decision is made, a young girl is violated and humiliated, and the perpetrators are not only hiding behind Zero Tolerance, but actually defending their actions in it's name. They come across as if this sort of situation is actually the *reason* we need Zero-Tolerance in our schools. Despicable.
Several things need to happen -- This needs to be investigated from the girl who reported the alleged possession on up through the final events and fall-out. During this time every adult involved in the decision-making process behind this needs to be suspended immediately, without pay, unions be damned. Parents in the district need to make a hell of a stink, call for *firings* -- none of this resign under mutual confidentiality bullshit that allows these people to be hired in another district. It doesn't matter that these people will loose their jobs, regardless of whether or not they are found to directly responsible (assuming those accused are not completely uninvolved), if they knew this option was on the table, and then either perpetrated it, or allowed it to be perpetrated through inaction, they should be held accountable -- there is no justification in either case. Any criminal or negligent act needs to be prosecuted to the fullest extent. The parents of this girl should file suit against the district and personally against those responsible.
Call me cold, but the people behind this act should be ruined in every way possible -- They should be thrown in jail if any laws were broken. They should loose substantial financial ground, be it their savings, their homes, or what-have-you. They should be ostracized from their community and their profession for all time. They should never be allowed to work near children in any profession.
Even all that is getting off easy, IMO, if I were anywhere near this place I would personally track them down and commit felony assault on their faces.
If everyone has to take this programming course, those students are going to get a whole lot less done, than if it were just those few students who were actually interested in the topic, and presumably, with more aptitude for the topic than the average Joe. If the majority... even half, of the class is disinterested, not paying attention, slacking off, making the teacher repeat material constantly, and ultimately not taking anything away from the course, then there is precious little benefit to forcing them all to take it. That benefit is that you *might* expose a couple of students to something new and interesting and pull them into the fray -- but the cost that is essentially *guaranteed* to be paid for this, is that the students who are pre-disposed to be interested in the material are only going to get half the amount of work done as they would have on their own.
On the other hand, I entirely agree that our system is lacking a focus on core subjects like literacy, math and science, and that something needs to be done to correct that. Other countries do well in this regard, but the unfortunate reality is that we are not these other countries, and our children are certainly not like those other countries' children. Our children have been raised believing that they have a right to do well in school -- so much so that if them doing well means that we'll create curriculum options that expects less of them, them we are happy to oblige. If Algebra II is too difficult for little Tommy, he can just go learn how to count beans in Tech Math. The fact that we are so goddamn afraid to tell someone they are inadequate in some area is the fundamental, systematic flaw in the American Way.
I think the better way to approach it is to bundle electives, or to have brief, 2-week intros during some electives with the option to enroll in the additional elective later. For instance, its perfectly justifiable, in my mind, that a student taking many math and/or science electives should be exposed to programming. If we said that Intro to Programming was a prerequisite/required-concurrency to calculus or physics, we would still expose the people that will likely need some programming exposure as a matter of their future. On the other side of the coin, those students with a more vocational bent might be required to take computer courses focusing on office software, invoicing, or other non-computer electives.
This is essentially the way your average college course catalog works, so I see no reason why those lessons couldn't be applied to high school students.
In other words, make the system so strange that, initially, devs are totally gimped and over the next decade they'll eventually stumble onto the best-practices, thereby giving the illusion of progress and quieting the masses calls for new hardware. I, for one, would rather have amazing games from the beginning, but getting anything right the first time is clearly not Sony's business model.
In all seriousness though, Sony's platforms have traditionally been the problem-child of each generation with respect to development, except for the original PlayStation, which was downright friendly compared to the Saturn (which was the PS3 of its generation.)
The problem Sony is beginning to see is that early adoption pays compounding interest as the console ages, and to get that early adoption you need impressive games early on, and with relative frequency. They didn't have a real system seller until MGS4, what, 2 years after launch? You also need to be the go-to platform for cross-platform titles, which they have clearly lost out on... In the past, exclusives like Final Fantasy and GTA might have helped shore up the user base, but the economics of game production today don't support exclusivity unless the developer has a vested interest in the success of a particular platform.
Its not that they've put the cart in front of the horse, a strategy that worked out just as planned in the PS2, its that they've put the cart too far in front of the horse.
Ever since the first EEE netbook was announced I have been certain that it was only a matter of time before someone would make a go of it with a nice ARM chip. There are so many advantages to ARM in a portable, low-cost device -- for instance, the power consumption that Intel can only dream about, as well as higher system integration and small die-sizes which mean lower production costs.
The Cortex-A8 (and soon, A-9 in OMAP 4) cores are a different beast than previous ARM processors -- a comparison in Intel-speak would be to compare an Atom to a Core 2 processor. The core has strong floating-point and SIMD extensions, and packages like the OMAP and i.MX 515 add a DSP for media codecs and some really impressive 3D capabilities built right in. In the OMAP3's, you don't even have to have the expense of external RAM/ROM because you can buy a single chip with the RAM/ROM dies stacked on top of the CPU.
The only downside to ARM is software compatibility, but there are some important signs that this will only be a temporary problem -- First, ARM is now the second-most supported platform among Open Source software, behind x86 and ahead of PowerPC, and adoption will only speed up with cool, arm-based laptop and PC-like devices. Second, ARM is the basis for nearly every small portable device on the planet right now, and small media-convergence devices will drive things like ARM support in the Flash player, which are essential to a full internet experience -- in short, the popularity of ARM in these devices already, and the fact that consumers want them to do basic PC tasks give OEMs and middle-ware providers incentive to invest in ARM development.
Eh, its hard to call the Wii "current gen" though -- just because they still sell it hardly makes its technology current, and in fact its hardware is little more than a gamecube that's been overclocked 50% with some fancy controllers thrown in.
What that spells is a single-core PowerPC G3 with a subset of Altivec running at half-width (2 floats) at around 730Mhz and a GPU which doesn't support programmable shaders, be they geometry, pixel, vertex or otherwise.
Now, Nintendo and others did some great games on that hardware, but its an entirely different ballgame than trying to emulate the 3Ghz, 6-thread PowerPC cores and (practically) Direct3D 10-level programmable graphics hardware in the 360, or the Cell CPU and GeForce 7-series GPU in the PS3.
Emulation of consoles with leading-edge technology are usually a generation or two behind before we see *any* compatibility, and 2-4 generations before we see *good* compatibility. With console hardware becoming more and more purpose-built and employing exotic architectures, that lead time is only going to grow.
Its simple really, I think the two biggest parts are:
1 - Listen to the tech-side of the staff and have them involved in planning. Its too easy to claim you can meet every need of the customer and then throw it on the devs to figure out. If its iffy, a consult is in order. If you promise to deliver something really impossible, or difficult but underestimate (and under-bill) based on your mis-assumptions, its going to breed resentment with the dev staff that has to clean up your mess.
2 - Admit when you are wrong and accept responsibility. My very first project from my very first PM was underspecced because they failed to examine the databases we were unifying to ensure that there was enough info present to link all the records together. This caused us to take much more time since we had to discover and implement our own mapping based on desperate identifiers which, as you can also imagine, was a much less reliable method as well. We ran long, and were unable to deliver to the full accuracy we originally quoted, and it all could have been avoided with a little more care on their part. Combined with the fact that our usual margins were only about 20%, and that they were even lower because this particular contract was from another software solution outfit which couldn't do the job, we actually *lost* money on that gig... Guess who caught the blame from the big-whigs, even though they had admitted their fault to me in private? By the way, my "inability to meet deadlines" was cited when they "released me"... Not that I cared, I was glad to be free, got two weeks severance, and had a job that paid 25% more in 3 weeks time, and which led to the subsequent gig with a further 80% increase in pay the next year.
To the unnamed PM -- Haha! I made more than you last year!
What would be the positive impact on the environment be if every PC in the US was left on only half the time that it is now?
What would be the drop in energy price associated with the decreased demand (and therefore increase in supply surplus)?
What would be the reduction in wear and tear on Power equipment or rolling brown-outs due to not being able to match supply?
If we're ever going to do any good for the environment, we need to stop only looking at the direct dollar amounts. We need to consider the environmental impact and related benefits -- both of which stand to have a positive showing on the bottom line, as well as being something that we can feel good about, and which *has* to be done for future generations.
Most credible people agree that we need to make changes, so why the hell are we procrastinating... If we keep waiting for the perfect solution, a whole lot of better solutions are going to get passed over... and frankly, we can't commercialize those "perfect solutions" without proving that the "better solutions" are viable in the market -- that's capitalism.
Seriously, someone should seriously reconsider having this guy in charge... His brightest hope for the future of PC gaming is "Don't worry! In the future game consoles will be integrated with PCs!" -- How about making real steps to make PC gaming better?
I'm not even a PC gamer... by a large margin, most of my gaming in on my 360 -- If it weren't for Half-life 2 and the likes of Portal and Left 4 Dead, I wouldn't game on my PC in any measurable amount. Its mostly a social thing -- the majority of my gamer friends are on their 360s on live... What PC gaming could use is a consistant "friends" experience more than anything else... Its not that I can't manage 12 different friends list for 12 different games, its that I don't want to... and I want to know when my Unreal Tournament buddies are online playing Left 4 Dead without them having to track down my info and tell me. Anything with an online component is about social features these days -- come up with a good, open system for this with support from the big PC publishers and that will be a big boone. Ignoring the touchy DRM issue, Steam's social features are close, they just need broader industry support, and to perhaps commit to a multi-company organizing body for the future, at least for the social aspects.
There's certainly a lot more this guy seems clueless about, but that ought to give him enough to chew on for awhile, instead of chasing the rainbow that is convergence... If anything, convergence in some form is likely, but its not going to favor the PC -- Instead, Consoles will take on basic PC tasks (Web, email, IM, media) in living rooms, bedrooms and dens, and PCs will largely be relegated to those that need more than those basic tasks, or one-per-household status.
I would probably lean towards a procedural language for a first go. It just seems to be easiest to grasp. Objects require too much design overhead for newbies to get right -- doing a fair amount of procedural programming, IMHO, gives them enough of a feel for program structure that they at least have a hope of getting things modeled well enough using objects later. Furthermore, if you were to teach, say C, you can introduce OO concepts through procedural means such using structures having associated functions taking a "this" pointer, function-pointers for basic polymorphism, etc. I realize that C++ is not a "pure" OO language, but being able to show things in the more-transparent C, which are direct analogs to their C++ implimentation is very valuable.
A decent modern BASIC might also be a decent route -- VB/VB.net is no good, all the focus on the GUI aspects confuses students. My girlfriend is taking a Web development course, and the poor VB students can make a GUI well enough, but they didn't learn what a function was until the last week, which was a week after they began their final project. Maybe FreeBASIC or RealBasic would be better.
In the end I think its mostly about teaching varied and fundamental methods -- for example, whatever the language, make sure you school them well on recursion, because it opens a door to a new way to solve a problem for most people -- and its also an important basis for functional programming.
I wouldn't worry so much about whether that language supports various features, such as closures or first-class functions, as long as the chosen language allows you to demonstrate a reasonable facsimile of the feature -- providing an intellectual framework in which to discuss the feature and how it works behind the scenes is what's important, not that it actually *is* implemented that way in the chosen language. IMO, its all the better if you can put it in familiar terms in a "primary language", say C, and then show them what it looks like in a language that supports it naively -- since that often demonstrates the elegance of the feature, as well as putting it in a high-level light free of the implimentation details.
I might be tempted to say that C would be the best choice -- Its in a unique position of being low-level enough to serve as a basis for most features in any language, as well as being the "lingua franca" of programming languages.
Then again, Dijkstra believed that an intro programming class should not be about computer programming at all, but rather about logic, reasoning and proofs... I actually tend to agree, but I doubt you'd ever sell the faculty, parents, or students on that because there's no immediate gratification -- That was actually the point of Dijkstra's famous essay; that the desire for immediate apparent gratification goes hand-in-hand with the infantilization of the educational institution, at the detriment of all involved.
This thing isn't meant to run the latest whiz-bang games like Crysis -- They only demoed it with Crysis because its a high-profile benchmark that probably exercises the capabilities of Direct3D 10 pretty fully.
This is aimed at accelerating Aero and casual games like your girlfriend or mom plays. They want to push Direct3D 10 in this casual games space, which currently tends to target older versions of Direct3D, which Intel's integrated graphics has an easier time coping with. Its basically a free Direct3D 10 graphics card for all PCs, making the Direct3D 10 feature set the new baseline, even if performance is a fraction of dedicated cards, because it will still perform well enough for many casual games -- remember that casual and web games are the fastest growing sector of the games industry, and that women over 35 is already a signifigant and fast-growing demographic.
Bungie bought their freedom as a studio, but Microsoft still owns the Halo IP entirely. Part of the deal also included a provision that Bungie does at least 3 projects with Microsoft exclusivity before they could pursue other platforms. Also, Bungie is not developing or producing on Halo Wars... They are working on the Halo 3: Recon expansion, additional DLC map packs, and are rumored to have one more Halo project going on behind-the-scenes, in addition to a confirmed non-halo project which may either be new IP or return to one of their earlier franchises.
I wonder if having flash (since this is Nintendo I'm betting there will be some amount of built-in flash, ala' the Wii.) means that you might also be able to download VC titles for some of the older systems... 8bit is definitely doable on the DS, as would most 16-bit games. VC SNES on the DS would be a killer app for a new hardware revision -- a camera and mp3 player alone isn't all that compelling, since everything from my phone to my grandmother can already do that.
Actually, from the article at PC perspectives and Anandtech's coverage, I'm under the impression that there are 2x128bit paths in the shared FP unit, and that each path could be scheduled to one thread or another. If that's the case, then traditional floating point and SSE math should perform as if there are two full FPU/SIMD ALUs. Only when using the new, 256bit AVX instructions would you have less performance than a processor with one full AVX unit per processor core. Unless they're saying that the last generation already had dual-128bit paths and could issue two independant SSE operations/clock.
Its really a pretty slick design, and with more and more floating-point work being offloaded to the GPU (and soon integrated on the CPU die) I think this is really going to play out to AMDs advantage. There's been some talk of upcoming Intel processors integrating the 512bit LBNi instructions from Larabee, but I fail to see the point of adding ever-wider vector units to the CPU when the GPU is the obvious place to spend those transistors -- possibly it would be worthwhile if Intel does indeed plan to bring some form of large larabee-core array to the consumer market, either as a GPU or compute card, but those chances dwindle as time goes on. Too bad though, I was really excited about Larabee, from a development perspective, at one time.
Thats because ARM cores have always been targetted at the embedded and portable markets, where potential customers want "just enough" power with absolute minimum power draw -- Tha majority of ARM parts sold today draw peak power measured in milliwatts -- an order of magnitude or two lower than the most frugal X86 or PPC designs. Some of the higher-end ARM designs incorporate vector floating point, a DSP or two, hundreds of megabytes of on-chip RAM and quite capable 3D accelleration, and still manage to draw down less than a watt at peak power consumption.
The fastest available ARM cores today are competitive with Intel's ATOM processors core-for-core, clock-for-clock. In practice, existing cores end up being slightly slower in actual use since none have a system bus wider than an anemic 32bits (and also not typically clocked very fast), but in terms of computational power, they already match some current x86 designs.
If someone took the chains of power-consumption off and said "We're going to get all we can out of, say, a 20 Watt power envelope" you'd end up with something quite powerful. For starters, with very little work on the core itself, you could double the core speed and simply allow greater power leakage, then toss 16 of those on a die with local and shared cache. 16 2Ghz ARM cores, each with a very capable vector-floating-point unit, would be every bit as powerful as even the fastest Intel quad-core i7. Then there's the other end of the spectrum -- reworking the core architecture from the ground up, optimizing for performance, rather than power consumption. You could reasonably attain competetive performance with fewer, more-powerful cores as well.
All of that said, I'm skeptical that this is about Xbox. This is for sure about Zune, possibly about a Microsoft portable console, possibly for high-performance peripheral devices (Think Kinect 2.0 offloading most of the work to the kinect unit itself), and only just by the slimmest of chances about Xbox 3 (or 4, for that matter) -- The only thing that gives me pause that it might be about Xbox proper, is that all their other devices are well-served by the existing ARM ecosystem, too well served to enter the chip-design business anyhow. An upcoming Xbox is one compelling reason to liscense a new micro-architecture, and being able to respond to Apple's in-house ARM core is the other.
Make no mistake that ARM is a very capable architecture though, and it's a delight to code for in Assembly Language. I've said many times that ARM is, in the coming years, going to be the most credible threat Intel and X86 has ever faced. It's going to be moving into Netbooks and STBs more this year, then laptops, some servers and higher-end embedded devices (I'm convinced Nintendo will consolidate all their systems behind ARM beginning with their next home console in order to leverage their 1st and 3rd party experience with ARM that is the result of their portables' popularity). In 10 years time, the question may not be Intel vs. AMD, but x86/x64 vs. ARM.
I don't know if this guy is really that arrogant, or whether he simply chose the most unfortunate phrasing possible, but the notion of selling an "incomplete" experience is complete BS. If you want to sell an expansion, fine. If you want to go episodic, fine. I don't even have a problem if you want to drop an expansion or episode day-and-date with your product's release, but *don't you dare* to hold out on a complete experience when you've just chaged me a full retail price; and *no* you may not sell me 2/3rds of the content for $40 bucks, and the rest as a $20 download -- I know its the same price, but If I buy a box I damn-well better find the whole thing inside.
Sell me new content, sell me new bling, that's all well and good; but don't try to double-dip by selling me content that should have been there in the first place, and don't sell necessary goods or unfair advantages. Heck, sell multi-player access to the pirates as long as you've got some kind of voucher in the box for the first purchaser, as long as Its tied to my account (for travel) and my box (so that the family can play). Bonus points if I can go to your website and release it so it can be transfered to someone else upon sale. Sell online access through download and as little gift-cards at Gamestop, and let users have more than one such "character" account if they wish, just like most MMOs do.
ARM's naming scheme is confusing -- What we know as ARM7 (such as in the GBA and many lower-end microcontollers) is an ARMv4 architecture. ARM9, IIRC, is ARMv5 architecture.
The Cortex-A8 in the Pandora is a whole different beast -- an ARMv7 architecture (The very latest ARM multi-core architecture is ARMv8, I believe), which is ARM's first super-scalar processor (meaning that some of the execution resources execute independently and in parallel if the instruction stream is suitable). They also have a rather nice SIMD instruction set called Neon.
The OMAP3530 in the Pandora specifically also has a 430Mhz DSP core that's entirely independent of the ARM core. It can be used to decode audio and video, and possibly might allow T&L offloading from the GPU, or perhaps physics calculations. Then there's the on-chip GPU, which is quite powerful -- same as the iPhone3G but clocked higher. You can expect PS2-level graphics or better at 480p resolution (WVGA).
Its the same chip as on the beagleboard, but with more on-chip RAM/FLASH.
Actually, current ARM processors are more than competitive with Intel's low-power offerings -- Arm Coretex A-8 cores have been benchmarked to match or exceed the performance of Intel Atom processors in integer performance while suffering a 25% clockspeed disadvantage, and while consuming around 1/20th the power. Floating point performance does indeed lag behind even Intel's Atom (its also one of the focus areas for the Cortex A-9 core), but is not a big requirement for server or database tasks.
There was some intersting reseach not too long ago which paired low-power x86 chips (Geode LX at the time, IIRC), Solid-state storage (in the form of compact flash) and a RAM-based caching of solid-state contents. About 10 of these boards were then clustered, running a distributed database application. As I recall, there were some serious performance and power-savings advantages compared to a single larger, multi-core x86 server setup. The primary advantage, in my oppinion, was that the ammount of available bandwidth, both to storage and to working RAM, combined with intelligent caching, was paired in much more favorable ratios to the power of the CPU. In short, the reseach found that a cluster of modest machines turns out to be competitive, even better-than, a single powerful server in terms of cost, power-consumption, heat disipation, and even in performance.
Microsoft is keen to realize that a modern ARM core is quite well suited to match modern I/O limitations. There's no point building a large system when the requests it's going to serve will be bottlenecked by I/O.
Oh please. Its not like PC games are never shut down -- granted some of them have dedicated servers that individuals run for as long as they like, but how many MMOs have been shut down? You know, those MMOs that cost 50 bucks to start + 10-15 bucks (just for that one game) every month up until it was cancelled? Not all PC games are impervious to this sort of thing.
That said, I believe that any original XBox game that works on the 360 hardware ought to be supported for as long as the 360 games are. But, it's also not some huge loss either -- its not as if gobs of people are still playing even Halo 2, which was by far the most popular online game for the original XBox -- when my 360 red-ringed, I tried to hop on some halo 2 to get my fix. The number of online players was in the very-low 4 digits, maybe 1200 or so. It took me 20 minutes to get into a 6-man game, and everyone in it, aside from myself, were either glitching or using hacks. It really is sad, because there were some really great multiplayer maps in Halo 2 that weren't made over for 3.
Also, from what I recall, one of the reasons that your friends list is limited to 100 or so is because all the original xbox games hard-coded this number -- so they either limit the query to 100 results, cutting off your would-be friends, or they try to read all that data and likely crash. On the 360, I don't believe devs were allowed to assume this number and had to query for it. Its very likely that cutting off the old games will allow the live platform to move beyond some of the early mistakes like this.
1) Quality is good, perhaps better than what Direct3D has. Quantity and diversity (eg beginner-level material) is lacking. .net languages (including IronPython, or IronRuby) there's SlimDX, a high-quality third-party library that's being used in many amatuer and professional games.
2) Because they're advocating XInput and XACT Audio instead. The only former DirectX component that doesn't have a new, better equivalent is DirectPlay, but nobody used that anyways, opting for raw Sockets code.
3) Microsoft officially supports XNA now, over Managed DirectX before it. Its a different approach to the API, but its the same technology underneath. If you want something that's a more literal translation of DirectX to C# or any of the
4) Snide aren't we?
5) Things started turning around with 8.1, though 9.0 was the big revolution to support shader architectures. Version 9, by the way, is the version which led Carmack to admit liking Direct3D -- In fact, at the time, with Direct3D in a modern state, and OpenGL mired in an unresponsive standards body and a sea of extensions, he openly admitted to liking it *more* than OpenGL.
OpenGL is a fine API from a technical perspective, however its been held back in the face of recent hardware advances by a refusal to break backwards compatibility, having not seen a major (and even then not as major as was hoped) revision until 3.0. The other issue is that there's no strong API ecosystem around OpenGL providing the rest of the media equation -- no clear equivelent to DirectSound/XAudio, XInput, etc -- Sure there are many alternatives, but actual support on end-user machines is fragmented. Khronos has been doing a great job working at correcting this with OpenGL, OpenGL|ES, OpenSL, OpenVG and their other efforts, but its not there yet. Khronos is exactly the kind of clear direction and branding that a serious DirectX contender needs.
If you look at it from a purely technical perspective, the only serious point OpenGL has on its side is portability. Portability is great, but please do remember that portability is more an ideal than a necessity. When the competing API runs on 90% of PCs and the leading game console in the US, that's "portable enough" for all practical purposes -- the ones the bean-counters care about. Here's an exercise -- add up all the machines where DirectX is the preferred API (Windows PCs and Xboxen), now add up all the systems where OpenGL is the preferred API (*nix boxen, Macs), neither the Wii nor the PS3 have OpenGL in a meaningful way (in other words, that developers actually use) -- Now, how do you define portability? Does portability mean running on the most *types* of machines, or the *most machines* period? Do you make the philosophical choice, or the practical?
Don't take what I say as anti-OpenGL in any way. OpenGL is wonderful and necessary, and if nothing else serves to keep Direct3D on it's toes. But I say that no reasonable person, with a realistic view of what it's supposed "portability benefit" amounts to, can say, without compromise, that OpenGL is inarguably and irrevocably, the better API without bringing in the philosophical argument of portability and open standards. There's nothing wrong with making the choice a philosophical one -- just admit it for what it is, rather than twisting things into non-existent technical matters or disparaging remarks and insinuations towards your competitor.
The sooner everyone admits that Open software / Open standards is a largely philosophical choice and standard to uphold one's self too, I think we can get past a lot of the mud-slinging and move onto more productive matters.
I'm sure this hasn't escaped most slashdotters, but Live is a huge incentive for people to buy legitimate copies of games, which is why they so vigorously defend it. I'm all for fair use, and I'm inclined to agree with the fellow above who said, essentially "You own the hardware, do as you please. Microsoft owns the network, so they can do as they please as well."
What this amounts to, is that any game with a strong multi-player component is less likely to be pirated, since you can only play the single-player portion once a modder has been IDed -- This is great for the Devs (unfortunately only after the publisher has taken a substantial cut), great for users since software hacks are uncommon, and great for microsoft since they get a cut of game sales too.
I'm not sure if Sony has an answer to this since their network isn't centralized. Even if they can detect such things, they'd either have to distribute lists to third parties (who run the servers themselves), provide a verification service, or act as a gateway in the way that live does. This is definately something to consider as a third party developer -- One of the market players has a very strong anti-piracy incentive built in, while the other has nothing. Extrapolating from the 3% of Xbox live that was banned, and assuming that maybe 1/3rd of that number wouldn't buy the game if it weren't for piracy, a 2% sales gain for no additional effort isn't anything to scoff at.
It's not about selling new consoles -- After all, they're barely breaking even, if at all.
What it came down to, in my mind, was momentum --
Sega was coming off a long string of failed consoles (particularly in America, where the Saturn was never popular against the playstation). They had the stench of desperation about them, and brought out a console a year earlier than its biggest (and rising star) competitor. They came to the party *early*, and that's social suicide. Not to mention that many Sega fans has finally accepted the failure of the Saturn and jumped ship just a year or two before. Many publishers and developers lost faith in Sega, including EA who was/is, for better or worse, the biggest player in the game -- Madden moves consoles in the US (even though I much preferred the Sega Sports versions, personally), and FIFA moves consoles everywhere else. The Dreamcast got neither.
Now Sony, who had mopped up the floor during the Saturn's generation, and was the new, exciting player in the console space, was right there shouting "We have movie-quality graphics! We Have tons of developer support! PS1 was a success! Oh, and we play DVDs too!!!" -- Everyone was excited about DVD in particular and many a PS2 were sold to parents looking for a cheap entry to DVDs that the kids could also enjoy, and to younger folks wanting DVDs and games.
The irony, of course, is that the DC actually delivered -- The hardware was quite powerful, It was cheap to develop and produce (off the shelf hardware), and it was a joy to develop for. They even had many greats in their library despite the tepid response from developers.
The Dreamcast wasn't really killed. It was born on life-support.
I'd disagree. Something is indie if its *produced* independently, without external aid (such as advancements from a publisher, for instance) -- Whether it's later picked up by a publisher, big or small, has nothing to do with it unless they start demanding changes before its release. What "Indie" is supposed to mean is a product that is free of all the publisher/market-research/men-in-suits bullshit.
The problem this addresses is bandwidth, though.
... 400Mhz is common (PC2-6400), with a bandwidth of 12.8 GB/s. You've got maybe 2 Gb/s network connections, for a quarter GB/s network bandwidth, and maybe 3 Ghz of processing power to push it out.
Yes your server has dual-channel DDR2 at
This array, lets assume DDR2 at 333Mhz, has a bandwidth of 5333MB/s x 21, or 112 GB/s to RAM, 1 Gb/s x 21, or just about 3 GB/s to the network, and 500Mhz x 21, or over 10Ghz of processing power to push it out.
While no blame can be placed at the feet of the girl or her parents, this issue does highlight some important things we must do as adults and as parents.
Firstly, anyone with a child enrolled in any institution need to be aware of that institutions policies, and to be actively involved in reforming those policies where abuse is possible. I believe it is in no way reasonable for any non-state, non-security institution to be able to strip-search anyone, let alone a minor. Does their policy handbook say that measures up-to-and-including a strip-search may be taken by school officials? That handbook should be viewed as a contract between the district and students/their parents, it should state clearly what the potential resolutions/punishments are for a given class of investigation/infraction, if they step out of line with that, they should be held accountable in the absolute.
Second, parents need to educate their children that there is a difference between respecting policy and being taken advantage of. This means teaching your children about what rights they have and which are curtailed in certain situations, and to what extent. It also means teaching them that they can, and should, peaceably resist when asked, told or threatened to go against the rights they do hold in any situation. They need to know the child-hood equivalent of "No officer, I know my rights, and you may not look in my trunk." In these situations, teach your children to request that their parents be involved -- The childhood equivalent of not speaking without an attorney present.
Having been on the wrong end of Zero-Tolerance myself, though to nowhere near the extent as the poor victim in this case, I can say that the second point will almost assuredly be met with resistance. The authority-types in the school system don't take well to the notion that there are limits on the theory of "what I say goes." They may push harder, they may get angry, they may even, in extreme cases, take physical measures to force compliance -- it would be terrible if the issue were taken to that end, but it would also make their culpability absolutely cut and dried.
Unfortunately this sort of thing is the collateral damage of the rampantly enacted "zero-tolerance" policies. Someone said it above, and it's worth repeating -- "Zero Tolerance" is another way of saying "I don't want to make real decisions." or, more accurately, "I'd rather hide behind Zero Tolerance than take accountability for the decisions I'd otherwise have to make."
Here you see it at its finest, an absolutely abhorrent decision is made, a young girl is violated and humiliated, and the perpetrators are not only hiding behind Zero Tolerance, but actually defending their actions in it's name. They come across as if this sort of situation is actually the *reason* we need Zero-Tolerance in our schools. Despicable.
Several things need to happen -- This needs to be investigated from the girl who reported the alleged possession on up through the final events and fall-out. During this time every adult involved in the decision-making process behind this needs to be suspended immediately, without pay, unions be damned. Parents in the district need to make a hell of a stink, call for *firings* -- none of this resign under mutual confidentiality bullshit that allows these people to be hired in another district. It doesn't matter that these people will loose their jobs, regardless of whether or not they are found to directly responsible (assuming those accused are not completely uninvolved), if they knew this option was on the table, and then either perpetrated it, or allowed it to be perpetrated through inaction, they should be held accountable -- there is no justification in either case. Any criminal or negligent act needs to be prosecuted to the fullest extent. The parents of this girl should file suit against the district and personally against those responsible.
Call me cold, but the people behind this act should be ruined in every way possible -- They should be thrown in jail if any laws were broken. They should loose substantial financial ground, be it their savings, their homes, or what-have-you. They should be ostracized from their community and their profession for all time. They should never be allowed to work near children in any profession.
Even all that is getting off easy, IMO, if I were anywhere near this place I would personally track them down and commit felony assault on their faces.
I agree on one hand, and disagree on the other...
If everyone has to take this programming course, those students are going to get a whole lot less done, than if it were just those few students who were actually interested in the topic, and presumably, with more aptitude for the topic than the average Joe. If the majority... even half, of the class is disinterested, not paying attention, slacking off, making the teacher repeat material constantly, and ultimately not taking anything away from the course, then there is precious little benefit to forcing them all to take it. That benefit is that you *might* expose a couple of students to something new and interesting and pull them into the fray -- but the cost that is essentially *guaranteed* to be paid for this, is that the students who are pre-disposed to be interested in the material are only going to get half the amount of work done as they would have on their own.
On the other hand, I entirely agree that our system is lacking a focus on core subjects like literacy, math and science, and that something needs to be done to correct that. Other countries do well in this regard, but the unfortunate reality is that we are not these other countries, and our children are certainly not like those other countries' children. Our children have been raised believing that they have a right to do well in school -- so much so that if them doing well means that we'll create curriculum options that expects less of them, them we are happy to oblige. If Algebra II is too difficult for little Tommy, he can just go learn how to count beans in Tech Math. The fact that we are so goddamn afraid to tell someone they are inadequate in some area is the fundamental, systematic flaw in the American Way.
I think the better way to approach it is to bundle electives, or to have brief, 2-week intros during some electives with the option to enroll in the additional elective later. For instance, its perfectly justifiable, in my mind, that a student taking many math and/or science electives should be exposed to programming. If we said that Intro to Programming was a prerequisite/required-concurrency to calculus or physics, we would still expose the people that will likely need some programming exposure as a matter of their future. On the other side of the coin, those students with a more vocational bent might be required to take computer courses focusing on office software, invoicing, or other non-computer electives.
This is essentially the way your average college course catalog works, so I see no reason why those lessons couldn't be applied to high school students.
In other words, make the system so strange that, initially, devs are totally gimped and over the next decade they'll eventually stumble onto the best-practices, thereby giving the illusion of progress and quieting the masses calls for new hardware. I, for one, would rather have amazing games from the beginning, but getting anything right the first time is clearly not Sony's business model.
In all seriousness though, Sony's platforms have traditionally been the problem-child of each generation with respect to development, except for the original PlayStation, which was downright friendly compared to the Saturn (which was the PS3 of its generation.)
The problem Sony is beginning to see is that early adoption pays compounding interest as the console ages, and to get that early adoption you need impressive games early on, and with relative frequency. They didn't have a real system seller until MGS4, what, 2 years after launch? You also need to be the go-to platform for cross-platform titles, which they have clearly lost out on... In the past, exclusives like Final Fantasy and GTA might have helped shore up the user base, but the economics of game production today don't support exclusivity unless the developer has a vested interest in the success of a particular platform.
Its not that they've put the cart in front of the horse, a strategy that worked out just as planned in the PS2, its that they've put the cart too far in front of the horse.
Ever since the first EEE netbook was announced I have been certain that it was only a matter of time before someone would make a go of it with a nice ARM chip. There are so many advantages to ARM in a portable, low-cost device -- for instance, the power consumption that Intel can only dream about, as well as higher system integration and small die-sizes which mean lower production costs.
The Cortex-A8 (and soon, A-9 in OMAP 4) cores are a different beast than previous ARM processors -- a comparison in Intel-speak would be to compare an Atom to a Core 2 processor. The core has strong floating-point and SIMD extensions, and packages like the OMAP and i.MX 515 add a DSP for media codecs and some really impressive 3D capabilities built right in. In the OMAP3's, you don't even have to have the expense of external RAM/ROM because you can buy a single chip with the RAM/ROM dies stacked on top of the CPU.
The only downside to ARM is software compatibility, but there are some important signs that this will only be a temporary problem -- First, ARM is now the second-most supported platform among Open Source software, behind x86 and ahead of PowerPC, and adoption will only speed up with cool, arm-based laptop and PC-like devices. Second, ARM is the basis for nearly every small portable device on the planet right now, and small media-convergence devices will drive things like ARM support in the Flash player, which are essential to a full internet experience -- in short, the popularity of ARM in these devices already, and the fact that consumers want them to do basic PC tasks give OEMs and middle-ware providers incentive to invest in ARM development.
Eh, its hard to call the Wii "current gen" though -- just because they still sell it hardly makes its technology current, and in fact its hardware is little more than a gamecube that's been overclocked 50% with some fancy controllers thrown in.
What that spells is a single-core PowerPC G3 with a subset of Altivec running at half-width (2 floats) at around 730Mhz and a GPU which doesn't support programmable shaders, be they geometry, pixel, vertex or otherwise.
Now, Nintendo and others did some great games on that hardware, but its an entirely different ballgame than trying to emulate the 3Ghz, 6-thread PowerPC cores and (practically) Direct3D 10-level programmable graphics hardware in the 360, or the Cell CPU and GeForce 7-series GPU in the PS3.
Emulation of consoles with leading-edge technology are usually a generation or two behind before we see *any* compatibility, and 2-4 generations before we see *good* compatibility. With console hardware becoming more and more purpose-built and employing exotic architectures, that lead time is only going to grow.
Its simple really, I think the two biggest parts are:
1 - Listen to the tech-side of the staff and have them involved in planning. Its too easy to claim you can meet every need of the customer and then throw it on the devs to figure out. If its iffy, a consult is in order. If you promise to deliver something really impossible, or difficult but underestimate (and under-bill) based on your mis-assumptions, its going to breed resentment with the dev staff that has to clean up your mess.
2 - Admit when you are wrong and accept responsibility. My very first project from my very first PM was underspecced because they failed to examine the databases we were unifying to ensure that there was enough info present to link all the records together. This caused us to take much more time since we had to discover and implement our own mapping based on desperate identifiers which, as you can also imagine, was a much less reliable method as well. We ran long, and were unable to deliver to the full accuracy we originally quoted, and it all could have been avoided with a little more care on their part. Combined with the fact that our usual margins were only about 20%, and that they were even lower because this particular contract was from another software solution outfit which couldn't do the job, we actually *lost* money on that gig... Guess who caught the blame from the big-whigs, even though they had admitted their fault to me in private? By the way, my "inability to meet deadlines" was cited when they "released me"... Not that I cared, I was glad to be free, got two weeks severance, and had a job that paid 25% more in 3 weeks time, and which led to the subsequent gig with a further 80% increase in pay the next year.
To the unnamed PM -- Haha! I made more than you last year!
You have to consider side benefits as well...
What would be the positive impact on the environment be if every PC in the US was left on only half the time that it is now?
What would be the drop in energy price associated with the decreased demand (and therefore increase in supply surplus)?
What would be the reduction in wear and tear on Power equipment or rolling brown-outs due to not being able to match supply?
If we're ever going to do any good for the environment, we need to stop only looking at the direct dollar amounts. We need to consider the environmental impact and related benefits -- both of which stand to have a positive showing on the bottom line, as well as being something that we can feel good about, and which *has* to be done for future generations.
Most credible people agree that we need to make changes, so why the hell are we procrastinating... If we keep waiting for the perfect solution, a whole lot of better solutions are going to get passed over... and frankly, we can't commercialize those "perfect solutions" without proving that the "better solutions" are viable in the market -- that's capitalism.
I'm no hippy, but damn people -- Wake up!
Seriously, someone should seriously reconsider having this guy in charge... His brightest hope for the future of PC gaming is "Don't worry! In the future game consoles will be integrated with PCs!" -- How about making real steps to make PC gaming better?
I'm not even a PC gamer... by a large margin, most of my gaming in on my 360 -- If it weren't for Half-life 2 and the likes of Portal and Left 4 Dead, I wouldn't game on my PC in any measurable amount. Its mostly a social thing -- the majority of my gamer friends are on their 360s on live... What PC gaming could use is a consistant "friends" experience more than anything else... Its not that I can't manage 12 different friends list for 12 different games, its that I don't want to... and I want to know when my Unreal Tournament buddies are online playing Left 4 Dead without them having to track down my info and tell me. Anything with an online component is about social features these days -- come up with a good, open system for this with support from the big PC publishers and that will be a big boone. Ignoring the touchy DRM issue, Steam's social features are close, they just need broader industry support, and to perhaps commit to a multi-company organizing body for the future, at least for the social aspects.
There's certainly a lot more this guy seems clueless about, but that ought to give him enough to chew on for awhile, instead of chasing the rainbow that is convergence... If anything, convergence in some form is likely, but its not going to favor the PC -- Instead, Consoles will take on basic PC tasks (Web, email, IM, media) in living rooms, bedrooms and dens, and PCs will largely be relegated to those that need more than those basic tasks, or one-per-household status.
I would probably lean towards a procedural language for a first go. It just seems to be easiest to grasp. Objects require too much design overhead for newbies to get right -- doing a fair amount of procedural programming, IMHO, gives them enough of a feel for program structure that they at least have a hope of getting things modeled well enough using objects later. Furthermore, if you were to teach, say C, you can introduce OO concepts through procedural means such using structures having associated functions taking a "this" pointer, function-pointers for basic polymorphism, etc. I realize that C++ is not a "pure" OO language, but being able to show things in the more-transparent C, which are direct analogs to their C++ implimentation is very valuable.
A decent modern BASIC might also be a decent route -- VB/VB.net is no good, all the focus on the GUI aspects confuses students. My girlfriend is taking a Web development course, and the poor VB students can make a GUI well enough, but they didn't learn what a function was until the last week, which was a week after they began their final project. Maybe FreeBASIC or RealBasic would be better.
In the end I think its mostly about teaching varied and fundamental methods -- for example, whatever the language, make sure you school them well on recursion, because it opens a door to a new way to solve a problem for most people -- and its also an important basis for functional programming.
I wouldn't worry so much about whether that language supports various features, such as closures or first-class functions, as long as the chosen language allows you to demonstrate a reasonable facsimile of the feature -- providing an intellectual framework in which to discuss the feature and how it works behind the scenes is what's important, not that it actually *is* implemented that way in the chosen language. IMO, its all the better if you can put it in familiar terms in a "primary language", say C, and then show them what it looks like in a language that supports it naively -- since that often demonstrates the elegance of the feature, as well as putting it in a high-level light free of the implimentation details.
I might be tempted to say that C would be the best choice -- Its in a unique position of being low-level enough to serve as a basis for most features in any language, as well as being the "lingua franca" of programming languages.
Then again, Dijkstra believed that an intro programming class should not be about computer programming at all, but rather about logic, reasoning and proofs... I actually tend to agree, but I doubt you'd ever sell the faculty, parents, or students on that because there's no immediate gratification -- That was actually the point of Dijkstra's famous essay; that the desire for immediate apparent gratification goes hand-in-hand with the infantilization of the educational institution, at the detriment of all involved.
This thing isn't meant to run the latest whiz-bang games like Crysis -- They only demoed it with Crysis because its a high-profile benchmark that probably exercises the capabilities of Direct3D 10 pretty fully.
This is aimed at accelerating Aero and casual games like your girlfriend or mom plays. They want to push Direct3D 10 in this casual games space, which currently tends to target older versions of Direct3D, which Intel's integrated graphics has an easier time coping with. Its basically a free Direct3D 10 graphics card for all PCs, making the Direct3D 10 feature set the new baseline, even if performance is a fraction of dedicated cards, because it will still perform well enough for many casual games -- remember that casual and web games are the fastest growing sector of the games industry, and that women over 35 is already a signifigant and fast-growing demographic.
Bungie bought their freedom as a studio, but Microsoft still owns the Halo IP entirely. Part of the deal also included a provision that Bungie does at least 3 projects with Microsoft exclusivity before they could pursue other platforms. Also, Bungie is not developing or producing on Halo Wars... They are working on the Halo 3: Recon expansion, additional DLC map packs, and are rumored to have one more Halo project going on behind-the-scenes, in addition to a confirmed non-halo project which may either be new IP or return to one of their earlier franchises.
I logged in... I don't know WTF happened...
I wonder if having flash (since this is Nintendo I'm betting there will be some amount of built-in flash, ala' the Wii.) means that you might also be able to download VC titles for some of the older systems... 8bit is definitely doable on the DS, as would most 16-bit games. VC SNES on the DS would be a killer app for a new hardware revision -- a camera and mp3 player alone isn't all that compelling, since everything from my phone to my grandmother can already do that.