"In reality" means that the working set of memory and time complexity on solving Chess (let alone Go) is vastly too large for computers now and in the future. I don't get why you tacked on computers beating grandmasters/9-dans, since that has nothing to do with solving the game.
Oh you added something on the end. Well, augmenting a human brain doesn't change the search space of solving Chess and Go (especially Go). You may be underestimating how large those problems are.
I'd prefer to see this either with inline assembly, or using __debugbreak() (and variants for other compilers). I'd say it's a deref because many compilers don't generate inline-asm for 64-bit skus. This makes the instruction always emitted, and then 64-bit platforms ignore it. But not always (recent claims say it works: http://stackoverflow.com/questions/3634124/where-did-int-3-g...).
I don't get your reasoning (mainly because all you've provided none). I wrote games, we used Boost heavily, on the PC, Xbox360, DS, Wii and PSP. I mean really heavily. Boost.Thread, Boost.SmartPtr, Boost.Bind, Boost.Function, Boost.MultiSet, Boost.Array, Boost.PreProcessor, Boost.LexicalCast... (more)...
We turned off exceptions (BOOST_NO_EXCEPTION) because the Wii and the DS didn't support exceptions. That was it. We never had a problem with spurious assertions, nor with unexpected behaviour from a lack of assertions. Compile times were about 5 to 7 minutes for partial builds. A full build was longer (I forget), something like 15. This is a huge code base, remember.
I honestly have no idea what you're talking about. It's certainly not a "general rule of thumb".
Well you've clearly never had to worry about memory paging and the cost of indirection, like I have (actually from memory I think you must have at some point?). The difference is real and significant. Try writing a particle system using a linked-list over a vector, the speed difference will be crippling. I really feel that most of the hatred for C++ stems from people not understanding why such complexity exists in the language.
It depends on which dojo you train at. In our (Shotokan) dojo, every couple of lessons or so, someone will ask "but that's illegal in a tournament, right?", to which our sensei laughs and says in a real fight there's no such rules. We are taught to end any fight in one strike. We are taught to destroy the three weak areas of the human body (can't fight if you can't see, can't fight if you can't breathe, can't fight if you can't walk). We're also taught judo, because most fights end up on the ground. We're taught a wide variety of self-defence moves, most of which end with us taking a joint or two or theirs.
I'm sure there's plenty of Shotokan dojos that don't have such a good sensei though. YMMV.
Also, the Greens are gaining like crazy right now. Probably for two reasons: One, before about 4 years ago, there was 13 years of Liberal government (once again, they are capital-L Liberals, not lowercase-l liberals). And then the "left" party came into government, and it turns out that hey, they're actually centre-right. I mean they're actually centre-right. They're not left at all, not on the economy (which I'm okay with), and not on moral issues (which I'm less okay with). So the greens are picking up voters that wanted a more progressive government, and whom voted Labor, and whom were then disappointed. The Greens picked up a seat in the Senate, are polling about 15% in Victoria for the State elections. So they're becoming influential at the expense of Labor.
Yes, that's fair for the PC (I was aware of this for the PC, which is why I said exceptions don't really matter on the PC). But (from memory) I don't believe the Xbox allows for this, even though it uses a very similar variant of the same compiler. It's a moot point, though, for all the other reasons I mentioned. When you've got a cross-platform codebase - and there are precious few platform-exclusive codebases these days - it is far easier to turn exceptions off across the board than deal with individual platform's quirks.
You're making two mistakes: One about how exceptions work, and another by not considering our constraints.
Exceptions don't just add an overhead when they're thrown, they add overhead for every function call. How else would the exception-handling runtime know to unwind the stack to the correct addresses? It is this performance degradation that we avoid. Why? For the PC, it doesn't really matter. The XBox360 doesn't handle the performance hit very well. The compilers for the Nintendo DS (edit: and the Wii) don't even support exceptions, and the PSP is so crazily architectured that things like floating point numbers or exceptions can cause a framerate to drop from 300 to 12. I've not worked on the PS3. You must understand that these consoles and handhelds are designed very differently from PCs, and are never as powerful.
We do check for errors, we just stay away from exceptions. And dynamic casting, when we can (the DS does a freaking string compare against the vtable!).
But then you'd have some of the population calling themselves a collection of humyn.
Back on topic: I still find both 'nerd' and 'geek' to be offensive. Although I don't find "geek chic" to be offensive... probably because it has never been associated negatively - it has always been a label for a particular style, which in itself carries no meaning.
My first, my very first C++ project, started in Year 9 - coming from VB6 - was a 3D graphics engine. Yeah, that failed. It failed 5 times (fun fact - the fourth rewrite occurred moments after exclaiming "oh those are references!"). But the 6th one was pretty neat! I'd written a file-loader for 3D Studio Max, an event system, input, etc. The seventh rewrite would have gotten rid of the hardware T&L and used shaders instead. I was in Year 12 by then. Then I went to uni, studying CS, and afterwards got a job at a video games company, implementing a 3D graphics engine.
Honestly, sometimes you just have to do it, even without any training. Maybe do it six times.
Using your gmail as a username isn't bad. It makes it easy to know where to send you emails for account details and such. However, I think GMail needs a revamp if it's going to be the focal point of many integrated systems. What I don't want is another Facebook clone. A developer-centric social layer, to integrate various components of their developer infrastructure (google code/analytics/adsense, etc), could work. Could. They've got a bad track-record at "social".
Hi! I live in Australia, where the majority of people on ADSL2+ have speeds less than or equal to 4mb/s. Due to the geography (technically, topography) of our country, high-speed internet is particularly tricky to roll-out. Not for perhaps four years more will we have any speeds greater than there are now.
So your comment sounds particularly naive, in this part of the world.
And for those wondering when you'd use this algorithm (as even academics don't seem to know!) - it is the go-to algorithm for implementing pathfinding in video games, and robotics.
Oh, coincidence. I did this about twelve minutes ago.
Yes, I've just tendered my resignation. I work in a large, large company. The place is okay, the people are good, the code is fine I guess. I just wanted a change of direction. I started in videogames, and compared to that, this job feels far more... stuffy. And boring. Anyhow, I wanted a shot at starting my own business writing web apps. I literally do not know: javascript, ruby (therefore rails), much of linux, or webservers (well, I've heard of a whole bunch).
But hey, I have good savings, I have low rent, I have a nice computer, and in addition - unlike when I was working in videogames - I have a sleep-cycle that has me up at 8:00am every day.
As for the actual experience, I've just informed my direct lead, and we'll have to talk to the head of our department later today. I guess I'll let you know how it goes!
Oh you added something on the end. Well, augmenting a human brain doesn't change the search space of solving Chess and Go (especially Go). You may be underestimating how large those problems are.