Agreed, stupid article is extremely stupid. MS can afford to take a writedown on the 360 say, because they know full well they'll make the money back on game sales later on. Selling a tablet at a loss however, doesn't make any sense to anybody. How are they going to make their money back in this scenario? It's not like they can make the OS free-to-play, and then allow 'one run command per 15minutes of grind, or buy this barrel of gems for 20 run commands'.
If you want to make a product that sells in high volume, then you need to make sure that the product is something that the market wants. This is the thing I can't really get my head around with MS at the moment. It's almost like they've replaced market-research with pure-fantasy. Did they not show anyone the metro interface? Didn't anyone mention that it looks like it was designed by a colour blind child with no drawing ability or understanding of aesthetics? Or did they just assume that they could steam roller the world into liking a product that no one wants?
Well, if you ever speak to any animator, you'll usually find a copy of this tucked away on a shelf nearby. I actually started my career as an animator, but these days I find myself programming instead (because i found it to be much more creative). I know of no artist (in the film industry, or otherwise) that thinks contract-work is in anyway a form of creative expression. Their creativity is usually bottled up until they get a chance to let loose on their own sideline projects.
Without even the slightest hint of irony, David this morning promised that he won't ban Page 3. So in future, if you need to fap, you'll just have to pay Rupert Murdoch for the privaledge (who from this point forward, will form the backbone of our nations moral compass).
Most apps don't require special native functionality.
No, but writing an app in C++ once, and recompiling for the main smartphone platforms (with thin hardware abstractions where needed), is a lot easier than porting an objective C app to C#. They might not 'need' native support, but right now it's a little bit easier in practice than the managed alternatives.
I can understand him getting kicked out of school, but freaking federal prison for a year for just messing with a STUDENT school election?!?!
Typically student presidents are paid a salary from the student union (it's usually a role for people once they've graduated). This isn't just some 'student election', it's an attempt to defraud the university students of $20,000+. Jail is the right punishment for this crime.
Ok, so Direct3D9 is *only* 10.5 years old. My point still stands though. If you really want the latest shiny graphics in your games, you still need to use D3D11 or OpenGL 4. Being able to run a current gen game using D3D9 is not quite as exciting as being able to run a current gen game using D3D11.
Rarely does that happen. You typically target a thin hardware wrapper that abstracts D3D9 / PS3 / Wii / 360 / iOS, and then build your rendering code off that. This will typically leave you in a situation where (as much as possible) porting from one platform to another is just a case of re-writing shaders. That's the ideal situation anyway. YMMV.
Well, if you're programming for windows, and XP is a target for potential users, then you'd be programming in OpenGL right now (because it's the only way to get tesselation and compute shaders on XP). If you're targetting Windows 7 or above, you'll be using D3D11. If you had even so much considered the remote possibility of ever going cross platform, at any point in the future, then you'd already be using OpenGL (or GLES).
So what we have here is a library that provides access to GPU functionality from 12 years ago. This might be great if you have the source to a 12 year old game laying about, but for everyone else, this is a completely pointless development in the world of linux.....
No. Just no. Wrapping a float in it's own object is completely retarded. The performance of float + float style computation hasn't really improved that much in the last 7 or 8 years. So if you want to improve the performance of your app, you're going to need to parallelize it. The easiest way to achieve this is to stop thinking about an object that represents a float, and start thinking about an object that represents an array of floats. Typically, it's far easier to optimise simple arrays for SIMD & multi-core, rather than lots of small objects. Fine granularity OOP has been dying for a few years, but it's now so far beyond dead, that no one should be advocating that approach in any software product.
I agree. Also, if you rewrite structured code into a "performance oriented approach", you are doing it
wrong.
Nonsense. One of the joys of C++, is the lack of reflection. This tends to lead apps down the route of wrapping
everything into an 'Attribute' class of some description, and wiring those attributes together using a dependency graph.
The problem with this (very clean OOP) approach, is that it simply doesn't scale. Before too long, this constant
plucking of individual data values from your graph, ends up becomming a really grim bottleneck. If you then run the code
through a profiler, rather than seeing any noticeable spikes, you end up looking at an app that's warm all over. If
you're in this situation, no amount of refactoring is going to save the product. You're only option is to restructure
the
The "performance oriented approach" is the only approach you can take these days. Instead of having a fine OOP
granularity on all of your data, you batch data into arrays, and then dispatch the computation on the SIMD units of the
CPU, or on the GPU.
Then compilers should understand how to make it fast.
Uhm, nope. Sure, if you happen to have 4 additions right next to each other, the compiler might replace that with an
ADDPS. In the case in point however, you'll probably expect a generic node to perform the addition on single items in
the table. As such, your "addTwoTableElementsTogether" node isn't going to have 4 floating point ops next to each other,
it will only have one. Compilers cannot optimise your data structures. If you want to stand a chance of having the
compiler do most of the gruntwork for you, you actually have to spend time re-factoring your data structures to better
align them with the SIMD/AVX data types. Some people call this a "performance oriented approach".
This can only come from people who think code is for machines. Code is for humans to read and modify.
Bullshit. This can only come from experienced software developers who understand that the only approach to improving
performance of a large scale app, is to restructure the data layout to better align it with modern CPUs. There is *NOTHING*
about this approach that makes the code harder to read or follow - that's just your lack of software engineering experience clouding your judgement.
Seriously, remove the tinfoil hat. I'm a programmer, I look like a deadbeat, and I frequently travel with an encrypted drive in a laptop. I've had my belongings searched a number of times, I've been questioned a few times, but not once has anyone ever asked to inspect the contents of my hard drive.
Full of decent desktops, that are locked down to such an extent, as to be completely useless for kids who want to learn about programming. Forget about compiling and running your own exe, the perceived threat is too great to allow that to happen. The pi is useful because you can f**k about with the OS until you break it (and a reinstall is childs play), f**k up your code enough to crash the graphics driver, or you know, find out what "rm -rf/" does....
This has the smell of shareholder pressure to monetize every available corner of their product line in the face of a declining share price. I see no reason to believe that the engineers and devs on the xbox have no passion for the product they have been creating.
I visited a nuclear power station a few years ago, and was horrified to see that the newest Nuclear Power station in the UK is running on computer systems from the late 70's (when the station was designed). Apparently they'd never be replaced, ever, simply because they hadn't considered the possibility when designingthe power station. Attempting to upgrade the computer systems would cause, if not a melt down, certainly a situation serious enough that they simply will not make the change.
It's the same reason why people use virtual everywhere, or make every class a template: It's the latest 'trick' they've discovered, and they think it's the silver bullet solution to everything. 12 months down the line, the painful maintainence nightmares they've created will encourage them to do things differently next time.
Agreed, stupid article is extremely stupid. MS can afford to take a writedown on the 360 say, because they know full well they'll make the money back on game sales later on. Selling a tablet at a loss however, doesn't make any sense to anybody. How are they going to make their money back in this scenario? It's not like they can make the OS free-to-play, and then allow 'one run command per 15minutes of grind, or buy this barrel of gems for 20 run commands'.
If you want to make a product that sells in high volume, then you need to make sure that the product is something that the market wants. This is the thing I can't really get my head around with MS at the moment. It's almost like they've replaced market-research with pure-fantasy. Did they not show anyone the metro interface? Didn't anyone mention that it looks like it was designed by a colour blind child with no drawing ability or understanding of aesthetics? Or did they just assume that they could steam roller the world into liking a product that no one wants?
We have people over the age of 30 here, so please don't use unsavoury language like that again.
and then it blew up, leaving canon.
Well, if you ever speak to any animator, you'll usually find a copy of this tucked away on a shelf nearby. I actually started my career as an animator, but these days I find myself programming instead (because i found it to be much more creative). I know of no artist (in the film industry, or otherwise) that thinks contract-work is in anyway a form of creative expression. Their creativity is usually bottled up until they get a chance to let loose on their own sideline projects.
Me, I tired of "hollywood formula" a long, long time ago.
Sounds to me like someone needs to check out the canon of work by hollywoods greatest story teller of all time, Michael Bay.
Without even the slightest hint of irony, David this morning promised that he won't ban Page 3. So in future, if you need to fap, you'll just have to pay Rupert Murdoch for the privaledge (who from this point forward, will form the backbone of our nations moral compass).
Most apps don't require special native functionality.
No, but writing an app in C++ once, and recompiling for the main smartphone platforms (with thin hardware abstractions where needed), is a lot easier than porting an objective C app to C#. They might not 'need' native support, but right now it's a little bit easier in practice than the managed alternatives.
Claiming that most of the people here are users? That's fighting talk that is!
Obligitory xkcd
I can understand him getting kicked out of school, but freaking federal prison for a year for just messing with a STUDENT school election?!?!
Typically student presidents are paid a salary from the student union (it's usually a role for people once they've graduated). This isn't just some 'student election', it's an attempt to defraud the university students of $20,000+. Jail is the right punishment for this crime.
Ok, so Direct3D9 is *only* 10.5 years old. My point still stands though. If you really want the latest shiny graphics in your games, you still need to use D3D11 or OpenGL 4. Being able to run a current gen game using D3D9 is not quite as exciting as being able to run a current gen game using D3D11.
Most game engines target D3D9 as a design goal
Rarely does that happen. You typically target a thin hardware wrapper that abstracts D3D9 / PS3 / Wii / 360 / iOS, and then build your rendering code off that. This will typically leave you in a situation where (as much as possible) porting from one platform to another is just a case of re-writing shaders. That's the ideal situation anyway. YMMV.
Well, if you're programming for windows, and XP is a target for potential users, then you'd be programming in OpenGL right now (because it's the only way to get tesselation and compute shaders on XP). If you're targetting Windows 7 or above, you'll be using D3D11. If you had even so much considered the remote possibility of ever going cross platform, at any point in the future, then you'd already be using OpenGL (or GLES).
So what we have here is a library that provides access to GPU functionality from 12 years ago. This might be great if you have the source to a 12 year old game laying about, but for everyone else, this is a completely pointless development in the world of linux.....
No. Just no. Wrapping a float in it's own object is completely retarded. The performance of float + float style computation hasn't really improved that much in the last 7 or 8 years. So if you want to improve the performance of your app, you're going to need to parallelize it. The easiest way to achieve this is to stop thinking about an object that represents a float, and start thinking about an object that represents an array of floats. Typically, it's far easier to optimise simple arrays for SIMD & multi-core, rather than lots of small objects. Fine granularity OOP has been dying for a few years, but it's now so far beyond dead, that no one should be advocating that approach in any software product.
I agree. Also, if you rewrite structured code into a "performance oriented approach", you are doing it wrong.
Nonsense. One of the joys of C++, is the lack of reflection. This tends to lead apps down the route of wrapping everything into an 'Attribute' class of some description, and wiring those attributes together using a dependency graph. The problem with this (very clean OOP) approach, is that it simply doesn't scale. Before too long, this constant plucking of individual data values from your graph, ends up becomming a really grim bottleneck. If you then run the code through a profiler, rather than seeing any noticeable spikes, you end up looking at an app that's warm all over. If you're in this situation, no amount of refactoring is going to save the product. You're only option is to restructure the
The "performance oriented approach" is the only approach you can take these days. Instead of having a fine OOP granularity on all of your data, you batch data into arrays, and then dispatch the computation on the SIMD units of the CPU, or on the GPU.
Then compilers should understand how to make it fast.
Uhm, nope. Sure, if you happen to have 4 additions right next to each other, the compiler might replace that with an ADDPS. In the case in point however, you'll probably expect a generic node to perform the addition on single items in the table. As such, your "addTwoTableElementsTogether" node isn't going to have 4 floating point ops next to each other, it will only have one. Compilers cannot optimise your data structures. If you want to stand a chance of having the compiler do most of the gruntwork for you, you actually have to spend time re-factoring your data structures to better align them with the SIMD/AVX data types. Some people call this a "performance oriented approach".
This can only come from people who think code is for machines. Code is for humans to read and modify.
Bullshit. This can only come from experienced software developers who understand that the only approach to improving performance of a large scale app, is to restructure the data layout to better align it with modern CPUs. There is *NOTHING* about this approach that makes the code harder to read or follow - that's just your lack of software engineering experience clouding your judgement.
Are the arm clones being poised aggressively on the market?
Possibly not if their marketing budget only stretches as far as an article on slashdot.....
Seriously, remove the tinfoil hat. I'm a programmer, I look like a deadbeat, and I frequently travel with an encrypted drive in a laptop. I've had my belongings searched a number of times, I've been questioned a few times, but not once has anyone ever asked to inspect the contents of my hard drive.
but an encrypted volume sure does
Nonsense. All drives in business laptops are encrypted (unless the IT dept are completely and utterly useless).
A little known fact: Windows notepad is actually a full clone of vi, albeit with some of the features disabled.
Hopefully it would stop him jumping up and down, complaining about a wind farm that might be built somewhere near his prime real estate in scotland.
Full of decent desktops, that are locked down to such an extent, as to be completely useless for kids who want to learn about programming. Forget about compiling and running your own exe, the perceived threat is too great to allow that to happen. The pi is useful because you can f**k about with the OS until you break it (and a reinstall is childs play), f**k up your code enough to crash the graphics driver, or you know, find out what "rm -rf /" does....
Yeah, sounds like he's having an acid flashback or something......
This has the smell of shareholder pressure to monetize every available corner of their product line in the face of a declining share price. I see no reason to believe that the engineers and devs on the xbox have no passion for the product they have been creating.
I visited a nuclear power station a few years ago, and was horrified to see that the newest Nuclear Power station in the UK is running on computer systems from the late 70's (when the station was designed). Apparently they'd never be replaced, ever, simply because they hadn't considered the possibility when designingthe power station. Attempting to upgrade the computer systems would cause, if not a melt down, certainly a situation serious enough that they simply will not make the change.
It's the same reason why people use virtual everywhere, or make every class a template: It's the latest 'trick' they've discovered, and they think it's the silver bullet solution to everything. 12 months down the line, the painful maintainence nightmares they've created will encourage them to do things differently next time.