He definitely wasn't just given a car and told "have at it". If you RTFA, you'd see that he was put through a slower initial lap to ensure the car (and i presume he) was okay, and that he worked up to 100mph turns over the 15 laps. He was at a place that does 3-day courses in how to drive race cars, so he had professionals there to make sure everything was okay.
At least racing games have realistic controllers that the hardcore players can buy. I don't know of any realistic gun controller, and that's a shame because it would make for some really awesome rail shooters. Games can be as realistic as they want, but until they get the controller, they'll never be able to properly simulate gun fights.
As far as "kill training" goes, I recall a game violence episode of Bullshit where they had a 10yo gamer try out a real semi-auto rifle. Not only was he no good at it, but they showed what happened after they finished filming the segment -- it reduced the kid to sobbing in his mother's arms.
Out of everything I've tried (pretty much everything usable from C, C++, and C#), WPF is the best UI framework around. It is extremely flexible and can be very intimidating if you try to learn all the details too quickly, but the basics of it are easy. You should be able to pop out a good design pretty quickly. It's a shame that Mono has no plans to implement it, because everything else feels primitive in comparison.
If you don't mind dirtying your C++ with a less-than-modern design and ugly preprocessor hijinks, Qt can be a pretty solid framework. Works well on many platforms and is full of features. Has a lot of portable non-UI things too, but I haven't used much of it.
Python's UI stuff is simple but has a lot of features. Great for quick, portable apps. Easy integration with C++ if you need it.
I avoid wxWidgets. The last time I tried using it (about a year ago), I ended up very frustrated rooting around their code to find that it makes a bunch of stupid assumptions about things like DPI, default fonts, etc. that fall apart pretty easily.
I also avoid GTK, but mainly just because it always feels "off" on Windows.
They just don't want to spend any more money on it. Android code gets released, then the OEM customizes it, and then the carrier finally customizes it. That's a lot of work -- the 10 or so current phones they've got out, plus their entire back catalog. They've already got your money. So long as it doesn't affect their network, why do they need to bother? It only takes one of the OEM or carrier to decide it's not important.
Chester was entirely wrong about Windows Phone, too, unless he is confusing it with Windows Mobile (the pre-7 stuff). Windows Phone 7 is the complete opposite of how Android is doing it: Microsoft is basically trying to create an iPhone competitor in every way, but allowing for multiple devices. To do this they made very stringent hardware and software requirements -- all the phones are basically exactly alike on the inside. Samsung couldn't even use their own Hummingbird processor, because Microsoft only allows the Snapdragon. They also don't allow OEMs or carriers to modify the OS -- the most they can do is pre-install some apps, which act like every other app, so they can be fully removed and are automatically updated.
Because of this, updating the OS is very very easy. There is no fragmentation, and Microsoft plans to push out all the updates themselves, exactly like Apple does. There might be a short delay between carriers to certify that it won't bork their network, but that's all. (Apple can hide this because they only have to do it with one carrier)
Are you finding it harder, as you get more mature, to find something you want to play?
I have no problem finding interesting games, but I do find it harder to put up with bad ones. The more frustrating thing is that a lot of the games coming to PC now are actually designed and tested for consoles, which results in (at best) stupid UI design, and (at worst) major instability.
Lately I've been finding competitive games to be more fun if it involves more than just personal skill, so I've been gravitating toward co-op multiplayer games. Here are two free games on Steam that are great:
Alien Swarm: simple to get into, but requires a lot of teamwork and planning skills to master. Everyone has their own role to play and there are usually many ways to tackle problems, so this game makes for some fun speed running.
Moonbase Alpha: a NASA-published game that has you fixing a broken moon base (surprise). It's very simple and has some glaring performance issues, but again with some strategy it can be quite fun to speed run in. Even so, it's a very slow game with little going on while you're actually executing your plan, so it's not for everyone.
I've also been going back to play Neverwinter Nights, which has so many good 3rd party modules that I could be kept busy for years. It has multiplayer too, if you can find friends to play it with.
Star Wars: The Force Unleashed had a good story and fantastic gameplay -- the spiritual successor to Jedi Academy.
Dark Void was fun but really short. The jet pack works for some great gameplay and the story is decent. If you can get it cheap, I highly recommend it. Also probably the best video game score I've ever heard, done by Battlestar Galactica composer Bear McCreary.
Prototype is like GTA meets God of War -- most games start your character off weak at 1 and get you to 10 when you're 80% through the game. Prototype starts you at 11 and somehow keeps getting better, so you never feel short of awesome. The only game to let you glide down to a street, snatch someone up, and run up the side of a building to eat them like some sort of zombie king kong.
Borderlands is fun if you like to mix in a little RPG with your FPS. Get four friends and go at it. Requires some discipline to ensure you don't level past each-other when you don't play together.
Our memory gets things wrong all the time. We can scan a crowd and associate a face with someone who looks similar. When we multiply a number in our head, we're trying very hard to get the exact, correct answer. Perhaps the brain is just a lot better at fuzzy problems than those demanding strict correctness.
It might also be an input problem. Our number system is a very effective way to communicate math, but it may be a very foreign and sub-optimal way for the brain to process math. Maybe we need a new way to represent things that provides a better balance.
Re:What's the deal with the rush of TSA stories re
on
TSA Pats Down 3-Year-Old
·
· Score: 5, Insightful
They may have hung themselves with their new backscatter stuff and intrusive pat-downs -- I think all this extra coverage is indicative of people outside of Slashdot-types finally realizing that TSA is out of control and helping no-one.
If someone is going to invade my privacy for pointless security theater, I might as well make it as uncomfortable and inconvenient for them as possible. In airports, I always opt for frisking instead backscatter. No pictures to save then, either.
You laugh, but PBKDF2 is the most common way to derive an encryption key from a password and it calls for looping a hash function 1000+ times, for the specific reason of making brute-force attacks take longer to do.
It seems the new cool thing is to take stuff up high in a balloon and drop it. I must say I'd love to do it too, but it doesn't seem very newsworthy anymore.
Isn't there some test that's like a consistent snapshot of popular websites, with some automation to navigate around them like a normal person would? You know, a performance test that actually might matter?
I bought Fallout 3 when it first came out. Had a blast, but was occupied at the time and didn't buy the DLC. In the intrim the GOTY edition came out, with all the DLC, for $50. Only problem is, the DLC hasn't dropped in price -- and there is $50 of it. Now I can either buy $50 of DLC, or $50 for the GOTY edition. Either way they want me to spend $100 on the game, and I can't justify that. Something is wrong here!
Good to note that this is no longer the case in FF4 and IE9 if you're using Vista or Win7 -- they both use the new Direct2D/DirectWrite APIs, which support both sub-pixel positioning and a new hybrid ClearType/grayscale antialiasing that makes large fonts less aliased.
Windows still tweaks glyphs to be more legible on low-DPI displays like most LCDs out there, but the glyph positioning is correct now, which makes for much nicer text when you've got tiny fonts or kerning.
File access is usually blocking by default, which means the kernel will put the thread to sleep and context switch to another thread/process if the call will block. If you're turning on non-blocking mode, then you're expected to know what you're doing and not busy-wait on some I/O.
Managers and developers at game companies tend to live in a complete disconnect from their community, and sometimes they aren't even big gamers themselves. This leads to some really stupid decisions in gameplay and interface design that most gamers would scream at them for implementing.
Assuming the blog is truthful, I can only hope that he's being a controlling asshole to prevent these kinds of people from corrupting the gameplay people loved.
The easiest way to enter Open Source to write patches for existing software. Learn how to communicate with other developers, how to be flexible and adopt their coding styles and practices. Chances are this will help you learn the most, because you'll be writing smaller amounts of code and it will always be under review by someone else. Once you've shown your competency, you're usually given commit access to the project.
Boost can be a very helpful community. Submitting a new library to Boost typically follows a few steps: gauge interest, put up code/examples/documentation for informal comments, submit for review. It sounds like you've got a lot to learn in C++ so it might be a long road (Boost has a very high bar to meet), but if you've got perseverance and are eager to learn, you can make it happen.
I find it amusing that some people think that the engineers building ICBMs, supersonic aircraft, tactical software and so on, are the ones who make the decisions to create a new operating system.
HTTP 1.1 supports keepalive natively, so yes -- it was made for this. The bigger question is: are the current HTTP daemons (and clients) made for it? I think most of them are optimized for high throughput on short-lived connections. Some of them even have a per-connection process or thread, which is definitely not going to work with large amounts of idle connections.
Google is presumably pushing this as a patent-free image format, something H.264 can't be. x264 is massively better because it's had a ton of time to mature, whereas the VP8 encoder only just recently had its code released, and is optimized much more for video than images. I suspect it would never be able to reach the quality that H.264 can reach, but it should still be way better than JPEG in the end.
A more fun question to ask is how long they'll be able to feign ignorance calling VP8 patent-free--analysis of it has shown that it shares a lot of the same algorithms with H.264.
The very reason ebook prices are so high is because publishers won't let Amazon drop them further, as that would cannibalise their book sales in which they get much larger margins.
This NYTimes article broke down prices of ebooks -- showing that a $10 ebook nets them about as much profit as a $26 hardcover. It goes on to suggest that they're keeping prices high to slow down adoption -- their whole infrastructure is built around dead-tree books right now, and they fear they won't be able to adapt fast enough to scale down their own DTB-related costs. I suspect though, that when they do figure out how to scale down, they'll be just as happy keeping the prices high.
I'm a happy owner of a Nook. The only faults ebooks have right now is that even basic typesetting is almost entirely non-existent on them. Things that could be done automatically by the ereader -- things you don't realize you want until you don't have them, like paragraph-optimized justification, automatic hyphenation, preventing lone paragraph lines on page boundaries, hanging punctuation, and ligatures -- aren't there. Ebooks are displayed either with left-aligned text or with an obnoxiously-spacious justification.
What he says is a criticism of what happened with OpenGL 3. Despite hopes that the old fixed-function API would all be removed in favor of the modern programmable API, it was all left in--along with the *massive* API and all the extra state and complex code it took to implement it. The Direct3D 10 API was, functionally, what most developers were hoping OpenGL 3 would be--a clean break. Smaller, optimized, easy to use, and easy to implement. OpenGL 3.1 eventually removed all the old fixed-function APIs, and OpenGL 3.2 brought rough feature parity with Direct3D 10.
Unfortunately, OpenGL was so backwards- and forwards-compatible with itself that many games were made using some mix of the old and new functionality, so even modern games can be found that won't work without an implementation that supports the older stuff. Direct3D is a pretty rigid API without extensions, and Direct3D 10 was not backwards-compatible at all, so code that is written for it is unable to be anything but simple to implement.
From an implementer's perspective, supporting modern OpenGL use can be a much larger problem than supporting modern Direct3D use. Of course, many games also use older Direct3D versions, and that API is bound to be much more complex too--something he didn't mention.
We know how this plays out already! Anyone remember NamTar, the genetic experiment that grew from a dumb, small creature into a mad scientist bent on perfecting its DNA?
He definitely wasn't just given a car and told "have at it". If you RTFA, you'd see that he was put through a slower initial lap to ensure the car (and i presume he) was okay, and that he worked up to 100mph turns over the 15 laps. He was at a place that does 3-day courses in how to drive race cars, so he had professionals there to make sure everything was okay.
At least racing games have realistic controllers that the hardcore players can buy. I don't know of any realistic gun controller, and that's a shame because it would make for some really awesome rail shooters. Games can be as realistic as they want, but until they get the controller, they'll never be able to properly simulate gun fights.
As far as "kill training" goes, I recall a game violence episode of Bullshit where they had a 10yo gamer try out a real semi-auto rifle. Not only was he no good at it, but they showed what happened after they finished filming the segment -- it reduced the kid to sobbing in his mother's arms.
Out of everything I've tried (pretty much everything usable from C, C++, and C#), WPF is the best UI framework around. It is extremely flexible and can be very intimidating if you try to learn all the details too quickly, but the basics of it are easy. You should be able to pop out a good design pretty quickly. It's a shame that Mono has no plans to implement it, because everything else feels primitive in comparison.
If you don't mind dirtying your C++ with a less-than-modern design and ugly preprocessor hijinks, Qt can be a pretty solid framework. Works well on many platforms and is full of features. Has a lot of portable non-UI things too, but I haven't used much of it.
Python's UI stuff is simple but has a lot of features. Great for quick, portable apps. Easy integration with C++ if you need it.
I avoid wxWidgets. The last time I tried using it (about a year ago), I ended up very frustrated rooting around their code to find that it makes a bunch of stupid assumptions about things like DPI, default fonts, etc. that fall apart pretty easily.
I also avoid GTK, but mainly just because it always feels "off" on Windows.
They just don't want to spend any more money on it. Android code gets released, then the OEM customizes it, and then the carrier finally customizes it. That's a lot of work -- the 10 or so current phones they've got out, plus their entire back catalog. They've already got your money. So long as it doesn't affect their network, why do they need to bother? It only takes one of the OEM or carrier to decide it's not important.
Chester was entirely wrong about Windows Phone, too, unless he is confusing it with Windows Mobile (the pre-7 stuff). Windows Phone 7 is the complete opposite of how Android is doing it: Microsoft is basically trying to create an iPhone competitor in every way, but allowing for multiple devices. To do this they made very stringent hardware and software requirements -- all the phones are basically exactly alike on the inside. Samsung couldn't even use their own Hummingbird processor, because Microsoft only allows the Snapdragon. They also don't allow OEMs or carriers to modify the OS -- the most they can do is pre-install some apps, which act like every other app, so they can be fully removed and are automatically updated.
Because of this, updating the OS is very very easy. There is no fragmentation, and Microsoft plans to push out all the updates themselves, exactly like Apple does. There might be a short delay between carriers to certify that it won't bork their network, but that's all. (Apple can hide this because they only have to do it with one carrier)
Are you finding it harder, as you get more mature, to find something you want to play?
I have no problem finding interesting games, but I do find it harder to put up with bad ones. The more frustrating thing is that a lot of the games coming to PC now are actually designed and tested for consoles, which results in (at best) stupid UI design, and (at worst) major instability.
Lately I've been finding competitive games to be more fun if it involves more than just personal skill, so I've been gravitating toward co-op multiplayer games. Here are two free games on Steam that are great:
I've also been going back to play Neverwinter Nights, which has so many good 3rd party modules that I could be kept busy for years. It has multiplayer too, if you can find friends to play it with.
Star Wars: The Force Unleashed had a good story and fantastic gameplay -- the spiritual successor to Jedi Academy.
Dark Void was fun but really short. The jet pack works for some great gameplay and the story is decent. If you can get it cheap, I highly recommend it. Also probably the best video game score I've ever heard, done by Battlestar Galactica composer Bear McCreary.
Prototype is like GTA meets God of War -- most games start your character off weak at 1 and get you to 10 when you're 80% through the game. Prototype starts you at 11 and somehow keeps getting better, so you never feel short of awesome. The only game to let you glide down to a street, snatch someone up, and run up the side of a building to eat them like some sort of zombie king kong.
Borderlands is fun if you like to mix in a little RPG with your FPS. Get four friends and go at it. Requires some discipline to ensure you don't level past each-other when you don't play together.
Our memory gets things wrong all the time. We can scan a crowd and associate a face with someone who looks similar. When we multiply a number in our head, we're trying very hard to get the exact, correct answer. Perhaps the brain is just a lot better at fuzzy problems than those demanding strict correctness.
It might also be an input problem. Our number system is a very effective way to communicate math, but it may be a very foreign and sub-optimal way for the brain to process math. Maybe we need a new way to represent things that provides a better balance.
They may have hung themselves with their new backscatter stuff and intrusive pat-downs -- I think all this extra coverage is indicative of people outside of Slashdot-types finally realizing that TSA is out of control and helping no-one.
If someone is going to invade my privacy for pointless security theater, I might as well make it as uncomfortable and inconvenient for them as possible. In airports, I always opt for frisking instead backscatter. No pictures to save then, either.
You laugh, but PBKDF2 is the most common way to derive an encryption key from a password and it calls for looping a hash function 1000+ times, for the specific reason of making brute-force attacks take longer to do.
Available, but in use? Everything I use still seems to get H.264. Who actually gets the WebM?
It seems the new cool thing is to take stuff up high in a balloon and drop it. I must say I'd love to do it too, but it doesn't seem very newsworthy anymore.
Isn't there some test that's like a consistent snapshot of popular websites, with some automation to navigate around them like a normal person would? You know, a performance test that actually might matter?
I bought Fallout 3 when it first came out. Had a blast, but was occupied at the time and didn't buy the DLC. In the intrim the GOTY edition came out, with all the DLC, for $50. Only problem is, the DLC hasn't dropped in price -- and there is $50 of it. Now I can either buy $50 of DLC, or $50 for the GOTY edition. Either way they want me to spend $100 on the game, and I can't justify that. Something is wrong here!
Now I just wait for the GOTY edition to come out.
Good to note that this is no longer the case in FF4 and IE9 if you're using Vista or Win7 -- they both use the new Direct2D/DirectWrite APIs, which support both sub-pixel positioning and a new hybrid ClearType/grayscale antialiasing that makes large fonts less aliased.
Windows still tweaks glyphs to be more legible on low-DPI displays like most LCDs out there, but the glyph positioning is correct now, which makes for much nicer text when you've got tiny fonts or kerning.
It's easiest here in the states if you measure in quarter-pounders and double-quarter-pounders.
File access is usually blocking by default, which means the kernel will put the thread to sleep and context switch to another thread/process if the call will block. If you're turning on non-blocking mode, then you're expected to know what you're doing and not busy-wait on some I/O.
Managers and developers at game companies tend to live in a complete disconnect from their community, and sometimes they aren't even big gamers themselves. This leads to some really stupid decisions in gameplay and interface design that most gamers would scream at them for implementing.
Assuming the blog is truthful, I can only hope that he's being a controlling asshole to prevent these kinds of people from corrupting the gameplay people loved.
The easiest way to enter Open Source to write patches for existing software. Learn how to communicate with other developers, how to be flexible and adopt their coding styles and practices. Chances are this will help you learn the most, because you'll be writing smaller amounts of code and it will always be under review by someone else. Once you've shown your competency, you're usually given commit access to the project.
Boost can be a very helpful community. Submitting a new library to Boost typically follows a few steps: gauge interest, put up code/examples/documentation for informal comments, submit for review. It sounds like you've got a lot to learn in C++ so it might be a long road (Boost has a very high bar to meet), but if you've got perseverance and are eager to learn, you can make it happen.
I find it amusing that some people think that the engineers building ICBMs, supersonic aircraft, tactical software and so on, are the ones who make the decisions to create a new operating system.
If a word is wrapped to the next line, it shows a hyphen. Otherwise it's hidden. That's what a soft hyphen does.
HTTP 1.1 supports keepalive natively, so yes -- it was made for this. The bigger question is: are the current HTTP daemons (and clients) made for it? I think most of them are optimized for high throughput on short-lived connections. Some of them even have a per-connection process or thread, which is definitely not going to work with large amounts of idle connections.
Google is presumably pushing this as a patent-free image format, something H.264 can't be. x264 is massively better because it's had a ton of time to mature, whereas the VP8 encoder only just recently had its code released, and is optimized much more for video than images. I suspect it would never be able to reach the quality that H.264 can reach, but it should still be way better than JPEG in the end.
A more fun question to ask is how long they'll be able to feign ignorance calling VP8 patent-free--analysis of it has shown that it shares a lot of the same algorithms with H.264.
The very reason ebook prices are so high is because publishers won't let Amazon drop them further, as that would cannibalise their book sales in which they get much larger margins.
This NYTimes article broke down prices of ebooks -- showing that a $10 ebook nets them about as much profit as a $26 hardcover. It goes on to suggest that they're keeping prices high to slow down adoption -- their whole infrastructure is built around dead-tree books right now, and they fear they won't be able to adapt fast enough to scale down their own DTB-related costs. I suspect though, that when they do figure out how to scale down, they'll be just as happy keeping the prices high.
I'm a happy owner of a Nook. The only faults ebooks have right now is that even basic typesetting is almost entirely non-existent on them. Things that could be done automatically by the ereader -- things you don't realize you want until you don't have them, like paragraph-optimized justification, automatic hyphenation, preventing lone paragraph lines on page boundaries, hanging punctuation, and ligatures -- aren't there. Ebooks are displayed either with left-aligned text or with an obnoxiously-spacious justification.
What he says is a criticism of what happened with OpenGL 3. Despite hopes that the old fixed-function API would all be removed in favor of the modern programmable API, it was all left in--along with the *massive* API and all the extra state and complex code it took to implement it. The Direct3D 10 API was, functionally, what most developers were hoping OpenGL 3 would be--a clean break. Smaller, optimized, easy to use, and easy to implement. OpenGL 3.1 eventually removed all the old fixed-function APIs, and OpenGL 3.2 brought rough feature parity with Direct3D 10.
Unfortunately, OpenGL was so backwards- and forwards-compatible with itself that many games were made using some mix of the old and new functionality, so even modern games can be found that won't work without an implementation that supports the older stuff. Direct3D is a pretty rigid API without extensions, and Direct3D 10 was not backwards-compatible at all, so code that is written for it is unable to be anything but simple to implement.
From an implementer's perspective, supporting modern OpenGL use can be a much larger problem than supporting modern Direct3D use. Of course, many games also use older Direct3D versions, and that API is bound to be much more complex too--something he didn't mention.
We know how this plays out already! Anyone remember NamTar, the genetic experiment that grew from a dumb, small creature into a mad scientist bent on perfecting its DNA?