Direct3D 10 is very different from DirectX 9. The latter was designed with modern GPUs in mind and so is based around an entirely programmable pipeline. DirectX 9 is predominantly a fixed-function API with various places where you can insert shader programs into the pipeline. This means that DirectX 10 is easier to support because there's less provided by the API.
Supporting D3D 9 is akin to supporting OpenGL 2. You need to expose most of the programmable interfaces but also have a load of fixed-function stuff work, typically (on modern hardware) by providing shader programs that do the same thing. Supporting D3D10 is more similar to supporting OpenGL 3, where most of the complexity is in moving data to and from the GPU and compiling shader programs.
With Gallium, there are two aspects to supporting these APIs. The first is the compiler turning programs from a source language (HLSL, GLSL) into TGIR. The second is the state tracker, which handles API-specific state. The former part is about as complex for D3D 9 and 10, as they have similar shader language support. The latter is a lot simpler for 10, as it is a much less stateful API.
A small reactor could power a U.S. Navy warship, and eliminate the need for other fuel sources that pose logistical challenges
A navy ship, what about a cruise liner? With cheap energy, you could process the deuterium from sea water for fuel, grow food in artificially lit enclosures below decks and have a self-sustaining artificial ecosystem that could spend years between trips to port.
The Linux desktop wars mattered when Linux was the future of the desktop.
Now that the desktop has a much smaller future, and Linux clearly doesn't play much of a role even in this drastically reduced future, it's just that KDE and GNOME really don't matter much.
Desktop Linux is a niche product, and it behaves like one—adoption is vendor-driven, and clients use whatever the vendor supplies.
For individual Linux users, things haven't moved in half a decade or more. Linux is still a mostly complete operating system with mostly working desktops. None of it is very polished (polish, as always, is just a couple years off in the future). Significant time and customization are required to make any stock distro+DE work well, things are generally cluttered, kludgy, and opaque, and for the hobbyist that fits the profile—the sort of person that will actually put up with and use this kind of computing environment—one or the other (KDE or GNOME) is already a clear favorite and this isn't likely to change.
Of course there is also the developer group, probably Linux's largest cohort of "serious" users on the desktop, but they just plain don't care much about which DE is installed. They're much more concerned with toolchains and versions of environment components.
So the KDE vs. GNOME thing is just plain...not that big a deal any longer, for most anyone.
The only possibly interesting development in a very long time is Elementary OS, which appears to have adopted a different philosophy from the one traditionally associated with Linux development/packaging groups. But whether this will ultimately translate into an important operating system and user experience, with its brand that supersedes the branding of the desktop environment itself, remains to be seen.
Well, thank you for clarifying that you need to be entertained during your briefing of safety procedures that exist to save your life.
I've flown a depressing amount over the last couple of years. United actually does have pretty entertaining security briefing (although they're less funny the fifth time you've seen them in a week), but they insist on showing you a couple of minutes of adverts after telling you to pay attention for the important security briefing, but before showing the security briefing. If you want people to pay attention, then ban airlines from showing ads before the briefing, because after being advertised to for a couple of minutes, you can bet that I've unplugged my noise-cancelling headphones from the jack and am reading a book until they put the screen back under my control again...
#include <stdio.h>
int x;
int main(void)
{
struct x { void *a, *b; }foo;
printf("%ld\n", sizeof(x));
}
Try compiling this as both C and C++. It's completely valid in both languages, but the output will be different in each.
The moon is made of green cheese. -- John Heywood