Except that the XML definitions of forms used by modern UI toolkits are describing a much more simple structure, and doing so with significantly less flexibility in terms of ability to style.
The internal method to render a button is simple on most of these platforms –likely to be a matter of a single image draw to render the background, and a single image draw to render the label. It's dimensions and position are likely to be recalculated, and trivial to deal with.
Compare that against what needs to happen to render a button on an HTML page. The entire page must be laid out again (as bounds may have changed, and had knock on effects for other elements). The button's bounds recomputed. Now, an html element (presumably a div) must have its style computed, a general function that can render all kinds of properties must be called, and in doing so many irrelevant chunks of code executed, just in case the style specifies those properties. The same must happen for anything held within the button.
Here's a profile of OS X rendering a single button 5 times: Note, the actual render method does not actually even appear in the profile, because it runs so quickly Running Time Self Symbol Name 2.0ms 100.0% 0.0 Main Thread 0x10e87b 2.0ms 100.0% 0.0 start 2.0ms 100.0% 0.0 NSApplicationMain 2.0ms 100.0% 0.0 -[NSApplication run] 2.0ms 100.0% 0.0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] 2.0ms 100.0% 0.0 _DPSNextEvent 2.0ms 100.0% 0.0 BlockUntilNextEventMatchingListInMode 2.0ms 100.0% 0.0 ReceiveNextEventCommon 2.0ms 100.0% 0.0 RunCurrentEventLoopInMode 2.0ms 100.0% 0.0 CFRunLoopRunSpecific 2.0ms 100.0% 0.0 __CFRunLoopRun 1.0ms 50.0% 0.0 __CFRunLoopDoObservers 1.0ms 50.0% 0.0 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ 1.0ms 50.0% 0.0 __83-[NSWindow _postWindowNeedsDisplayOrLayoutOrUpdateConstraintsUnlessPostingDisabled]_block_invoke_01208 1.0ms 50.0% 0.0 _handleWindowNeedsDisplayOrLayoutOrUpdateConstraints 1.0ms 50.0% 0.0 -[NSView displayIfNeeded] 1.0ms 50.0% 0.0 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] 1.0ms 50.0% 0.0 -[NSWindow flushWindow] 1.0ms 50.0% 1.0 objc_msgSend
Meanwhile, here's chrome rendering a div with some text on it, and a grey background, once (note, unfortunately, chrome doesn't have symbols in it's binary, so we can't see what it's actually doing in that time): Chrome's engine is taking more than 400 times longer to render just a single button, and the button doesn't even have an image to represent the button – it's just a simple grey rectangle. Running Time Self Symbol Name 83.0ms 84.6% 0.0 Main Thread 0xfe5ac 83.0ms 84.6% 0.0 0x7ef20 83.0ms 84.6% 0.0 main 83.0ms 84.6% 0.0 ChromeMain 83.0ms 84.6% 0.0 0x6913f0 83.0ms 84.6% 0.0 0x692030 83.0ms 84.6% 0.0 0x2a17cc0 83.0ms 84.6% 0.0 0x2a19650 83.0ms 84.6% 0.0 0x2a18d80 83.0ms 84.6% 0.0 0x1fd950 83.0ms 84.6% 0.0 0x7ca120 83.0ms 84.6% 0.0 0x7b62f0 83.0ms 84.6% 0.0 0x787650 83.0ms 84.6% 0.0 0x787a60 83.0ms 84.6% 0.0 -[NSApplication run] 69.0ms 70.4% 0.0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] 69.0ms 70.4% 0.0 _DPSNextEvent 65.0ms 66.3% 0.0 BlockUntilNextEventMatchingListInMode 65.0ms 66.3% 0.0 ReceiveNextEventCommon 64.0ms 65.3% 0.0 RunCurrentEventLoopInMode 63.0ms 64.2% 0.0 CFRunLoopRunInMode 63.0ms 64.2% 0.0 CFRunLoopRunSpecific 63.0ms 64.2% 1.0 __CFRunLoopRun 26.0ms 26.5% 0.0 __CFRunLoopDoSources0 26.0ms 26.5% 0.0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 25.0ms 25.5% 0.0 0x787780 1.0ms 1.0% 1.0 objc_msgSend 24.0ms 24.4% 0.0 __CFRunLoopDoObservers 24.0ms 24.4% 0.0 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
The fact that the HTML, CSS and javascript need to be parsed and interpretted, as well as simply run, and the fact that they're designed with the flexibility to represent any web page in existance in mind, rather than with the ability to render standard UI widgets in mind with the option to add extra code if you need to do something custom.
Again, no –fit, and not fat are not the same thing at all. I know a couple of people off hand who are significantly heavier than me, and significantly larger around the waist than me, but who can cycle significantly faster and further than me, and who can happily walk at just the same rate as me for pretty much any distance.
Mostly because fat people live sedentary lives; the guy with a beer gut isn't going to die rock climbing. That doesn't mean they're healthier.
Actually, no, but because the BMI scale is significantly off. Most people who go rock climbing will be considered "obese", or at very least overweight by it, because they have significant muscle mass.
And it's not simply "normal" weight, it's based on actual fitness. Your body can not do as many things if it has lots of fat and little muscle, so you are functionally disabled. You don't see fat people out running because on the odd occasion that they do, they can't keep it up for very long. They can't have sex as long. They can't climb flights of stairs. They can't physically defend themselves.
Again, wrong. Not fat, and fit are very different things. It's possible to be overweight and extremely fit and active, and its very easy to be underweight or "normal" weight, and not at all fit.
A health care professional can be expected to have a bias regarding healthy vs unhealthy life choices. Being fat indicates that a person has made one HELL of a lot of unhealthy choices. Like - every single day, he eats to much.
Actually, not necessarily, for two reasons: 1) There are plenty of medical causes of being fat, e.g. polycystic ovarian syndrome, type 1 diabetes (which causes fatness rather than the reverse), etc. Not just eating too much every single day. 2) Studies have repeatedly shown that overweight and moderately obese (grade 1 obese) people actually live longer, healthier lives than people of "normal" weight. Only at grade 2 and 3 obesity do these people start to live shorter less healthy lives due to type 2 diabetes and kidney disease. Underweight as a category leads to shorter lifespan than all of overweight, normal and grade 1 obesity.
You missread his post. He was asserting that single threaded performance is what matters on these laptops, because no one is going to use them for big number crunching tasks that can actually use multiple cores effectively. He's correct. The Pentium beats the Brazos at single threaded performance, therefore, is a better chip for this kind of task.
You got modded down, but you're absolutely right. If he could reasonably make money by actually doing the work himself, he would be doing that. Clearly he can make more money by getting someone naïve to do the work for him and then making the profit himself. What's happening here is that the naïve people have stopped being so naïve and he's having to move back to the other business model to correct for it.
Actually, the common theme with builders in the UK is exactly that –they give you an estimate of how much it will cost in total. If they run over, or hit problems, or need more materials... You're paying, not them.
So you don't ever use any of the services provided by government then? You never use a road, a railway, an airport, the education system, water, trade with other countries, defence against foreign invaders, and tons of other stuff?
If you don't, then fair play to your "net loss", but frankly... get using those services!
I actually don't understand what the issue is... It seems to be "wha wha wha, apple leaves the money it makes in other countries in those countries, rather than bringing it into the US"... It seems to me that apple is perfectly entitled to do that.
It's certainly nothing compared to google's "We don't sell anything in the UK, it's all in Ireland, honest" bullshit.
Because they're quite intelligently, avoiding getting stuck in a dead end. Wonder why businesses end up in the modern age with websites that only work on IE6? That's because they apply your thinking. The DoD are doing exactly the right thing here –making sure that all platforms that will reasonably continue into the future are supported correctly, so that they don't have all their eggs in one basket.
So what you're saying is that both have their CPU manufactured in the USA, both have the physical device manufactured in the east, and only one has tens of thousands employed in the states designing the thing. Notably that same one has already begun moving production of various of their product lines to the US too.
Oh right... And where does the space for the larger GPU board go (larger, because previously its parts could be interleaved with the other logic board parts, and now it has to be routed out, and separated). Where does the cooling for that part go? Do you stick all that cooling for a massive GPU in there, even when none of the stock options include it?
Macbook pro is the prime example of style over substance, and as a result the antithesis to a gaming laptop which is substance over style. Gaming laptop need to be thick regardless due to need to dissipate incredible amounts of heat, they need to be heavy to be able to fit huge batteries needed to keep the thing running even for an hour on full throttle and they need big but relatively low res screens so that optimal screen resolution can produce decent FPS in heavy games on mobile hardware.
Actually, "Gaming" laptops are in my mind the ultimate in style over substance. What is it you need from a laptop: Something portable Something that lasts a long time on batteries
Something that can fit in a bag Something you can carry without breaking your back A "gaming" laptop fulfils none of these requirements to being a good laptop, they're thick, heavy, unwieldy, and generally last only an hour or two on batteries - or in some cases, so little time that they can't even boot without shutting down (yes, I've actually seen brand new laptops that can't boot on their battery).
Meanwhile, the MacBook Pro fulfils all of those requirements.
To me, that sounds rather like it's full of substance, while the gaming laptop is simply an ePenis (aka style) –and not a very long one.
To be honest, that's great with me. Killing animals because the land needs to be managed, and we need to eat –fine. Killing animals because some sick fuck thinks it's fun –not fine. If this gun increases the accuracy, and hence the likelihood that the animal will die instantly, then all to the good.
Except that the XML definitions of forms used by modern UI toolkits are describing a much more simple structure, and doing so with significantly less flexibility in terms of ability to style.
The internal method to render a button is simple on most of these platforms –likely to be a matter of a single image draw to render the background, and a single image draw to render the label. It's dimensions and position are likely to be recalculated, and trivial to deal with.
Compare that against what needs to happen to render a button on an HTML page. The entire page must be laid out again (as bounds may have changed, and had knock on effects for other elements). The button's bounds recomputed. Now, an html element (presumably a div) must have its style computed, a general function that can render all kinds of properties must be called, and in doing so many irrelevant chunks of code executed, just in case the style specifies those properties. The same must happen for anything held within the button.
Here's a profile of OS X rendering a single button 5 times:
Note, the actual render method does not actually even appear in the profile, because it runs so quickly
Running Time Self Symbol Name
2.0ms 100.0% 0.0 Main Thread 0x10e87b
2.0ms 100.0% 0.0 start
2.0ms 100.0% 0.0 NSApplicationMain
2.0ms 100.0% 0.0 -[NSApplication run]
2.0ms 100.0% 0.0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
2.0ms 100.0% 0.0 _DPSNextEvent
2.0ms 100.0% 0.0 BlockUntilNextEventMatchingListInMode
2.0ms 100.0% 0.0 ReceiveNextEventCommon
2.0ms 100.0% 0.0 RunCurrentEventLoopInMode
2.0ms 100.0% 0.0 CFRunLoopRunSpecific
2.0ms 100.0% 0.0 __CFRunLoopRun
1.0ms 50.0% 0.0 __CFRunLoopDoObservers
1.0ms 50.0% 0.0 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
1.0ms 50.0% 0.0 __83-[NSWindow _postWindowNeedsDisplayOrLayoutOrUpdateConstraintsUnlessPostingDisabled]_block_invoke_01208
1.0ms 50.0% 0.0 _handleWindowNeedsDisplayOrLayoutOrUpdateConstraints
1.0ms 50.0% 0.0 -[NSView displayIfNeeded]
1.0ms 50.0% 0.0 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
1.0ms 50.0% 0.0 -[NSWindow flushWindow]
1.0ms 50.0% 1.0 objc_msgSend
Meanwhile, here's chrome rendering a div with some text on it, and a grey background, once (note, unfortunately, chrome doesn't have symbols in it's binary, so we can't see what it's actually doing in that time):
Chrome's engine is taking more than 400 times longer to render just a single button, and the button doesn't even have an image to represent the button – it's just a simple grey rectangle.
Running Time Self Symbol Name
83.0ms 84.6% 0.0 Main Thread 0xfe5ac
83.0ms 84.6% 0.0 0x7ef20
83.0ms 84.6% 0.0 main
83.0ms 84.6% 0.0 ChromeMain
83.0ms 84.6% 0.0 0x6913f0
83.0ms 84.6% 0.0 0x692030
83.0ms 84.6% 0.0 0x2a17cc0
83.0ms 84.6% 0.0 0x2a19650
83.0ms 84.6% 0.0 0x2a18d80
83.0ms 84.6% 0.0 0x1fd950
83.0ms 84.6% 0.0 0x7ca120
83.0ms 84.6% 0.0 0x7b62f0
83.0ms 84.6% 0.0 0x787650
83.0ms 84.6% 0.0 0x787a60
83.0ms 84.6% 0.0 -[NSApplication run]
69.0ms 70.4% 0.0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
69.0ms 70.4% 0.0 _DPSNextEvent
65.0ms 66.3% 0.0 BlockUntilNextEventMatchingListInMode
65.0ms 66.3% 0.0 ReceiveNextEventCommon
64.0ms 65.3% 0.0 RunCurrentEventLoopInMode
63.0ms 64.2% 0.0 CFRunLoopRunInMode
63.0ms 64.2% 0.0 CFRunLoopRunSpecific
63.0ms 64.2% 1.0 __CFRunLoopRun
26.0ms 26.5% 0.0 __CFRunLoopDoSources0
26.0ms 26.5% 0.0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
25.0ms 25.5% 0.0 0x787780
1.0ms 1.0% 1.0 objc_msgSend
24.0ms 24.4% 0.0 __CFRunLoopDoObservers
24.0ms 24.4% 0.0 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
The fact that the HTML, CSS and javascript need to be parsed and interpretted, as well as simply run, and the fact that they're designed with the flexibility to represent any web page in existance in mind, rather than with the ability to render standard UI widgets in mind with the option to add extra code if you need to do something custom.
Again, no –fit, and not fat are not the same thing at all. I know a couple of people off hand who are significantly heavier than me, and significantly larger around the waist than me, but who can cycle significantly faster and further than me, and who can happily walk at just the same rate as me for pretty much any distance.
Mostly because fat people live sedentary lives; the guy with a beer gut isn't going to die rock climbing. That doesn't mean they're healthier.
Actually, no, but because the BMI scale is significantly off. Most people who go rock climbing will be considered "obese", or at very least overweight by it, because they have significant muscle mass.
And it's not simply "normal" weight, it's based on actual fitness. Your body can not do as many things if it has lots of fat and little muscle, so you are functionally disabled. You don't see fat people out running because on the odd occasion that they do, they can't keep it up for very long. They can't have sex as long. They can't climb flights of stairs. They can't physically defend themselves.
Again, wrong. Not fat, and fit are very different things. It's possible to be overweight and extremely fit and active, and its very easy to be underweight or "normal" weight, and not at all fit.
You realise that web rendering, and running interpretted javascript code is significantly more intensive than a native UI rendering library, right?
Let me ponder this for a minute.
A health care professional can be expected to have a bias regarding healthy vs unhealthy life choices. Being fat indicates that a person has made one HELL of a lot of unhealthy choices. Like - every single day, he eats to much.
Actually, not necessarily, for two reasons:
1) There are plenty of medical causes of being fat, e.g. polycystic ovarian syndrome, type 1 diabetes (which causes fatness rather than the reverse), etc. Not just eating too much every single day.
2) Studies have repeatedly shown that overweight and moderately obese (grade 1 obese) people actually live longer, healthier lives than people of "normal" weight. Only at grade 2 and 3 obesity do these people start to live shorter less healthy lives due to type 2 diabetes and kidney disease. Underweight as a category leads to shorter lifespan than all of overweight, normal and grade 1 obesity.
You missread his post. He was asserting that single threaded performance is what matters on these laptops, because no one is going to use them for big number crunching tasks that can actually use multiple cores effectively. He's correct. The Pentium beats the Brazos at single threaded performance, therefore, is a better chip for this kind of task.
There is such a spec –that spec is the code for the program though, so he wouldn't be outsourcing the code if he had it.
You got modded down, but you're absolutely right. If he could reasonably make money by actually doing the work himself, he would be doing that. Clearly he can make more money by getting someone naïve to do the work for him and then making the profit himself. What's happening here is that the naïve people have stopped being so naïve and he's having to move back to the other business model to correct for it.
Actually, the common theme with builders in the UK is exactly that –they give you an estimate of how much it will cost in total. If they run over, or hit problems, or need more materials... You're paying, not them.
Ah, I see, so what you're after is protectionism? Companies should employ people less well suited to the job because they're American?
So you don't ever use any of the services provided by government then? You never use a road, a railway, an airport, the education system, water, trade with other countries, defence against foreign invaders, and tons of other stuff?
If you don't, then fair play to your "net loss", but frankly... get using those services!
I actually don't understand what the issue is... It seems to be "wha wha wha, apple leaves the money it makes in other countries in those countries, rather than bringing it into the US"... It seems to me that apple is perfectly entitled to do that.
It's certainly nothing compared to google's "We don't sell anything in the UK, it's all in Ireland, honest" bullshit.
Because they're quite intelligently, avoiding getting stuck in a dead end. Wonder why businesses end up in the modern age with websites that only work on IE6? That's because they apply your thinking. The DoD are doing exactly the right thing here –making sure that all platforms that will reasonably continue into the future are supported correctly, so that they don't have all their eggs in one basket.
So what you're saying is that both have their CPU manufactured in the USA, both have the physical device manufactured in the east, and only one has tens of thousands employed in the states designing the thing. Notably that same one has already begun moving production of various of their product lines to the US too.
Perhaps you should read the summary, and find out what we're talking about.
Speaking as a soon to be H1B... I'm raising your average, stop whining.
If I had mod points, you would get them... I really genuinely don't get why no one saw this coming.
Sure, but "progressive for its time" is not the same as "uhura was an independent woman".
You're trying to claim that the original StarTrek wasn't a chauvinistic, womanising series in which Uhura was portrayed as an independant woman?
Seriously... What?
You can many points about how this differs from the original StarTrek, but that sure as hell isn't one of them.
Personally, I think this StarTrek is probably the most StarTrek that StarTrek has been in a long time.
Woosh ;-)
Actually, no, normal people do not enjoy the act of killing.
Oh right... And where does the space for the larger GPU board go (larger, because previously its parts could be interleaved with the other logic board parts, and now it has to be routed out, and separated). Where does the cooling for that part go? Do you stick all that cooling for a massive GPU in there, even when none of the stock options include it?
Macbook pro is the prime example of style over substance, and as a result the antithesis to a gaming laptop which is substance over style. Gaming laptop need to be thick regardless due to need to dissipate incredible amounts of heat, they need to be heavy to be able to fit huge batteries needed to keep the thing running even for an hour on full throttle and they need big but relatively low res screens so that optimal screen resolution can produce decent FPS in heavy games on mobile hardware.
Actually, "Gaming" laptops are in my mind the ultimate in style over substance. What is it you need from a laptop:
Something portable
Something that lasts a long time on batteries
Something that can fit in a bag
Something you can carry without breaking your back
A "gaming" laptop fulfils none of these requirements to being a good laptop, they're thick, heavy, unwieldy, and generally last only an hour or two on batteries - or in some cases, so little time that they can't even boot without shutting down (yes, I've actually seen brand new laptops that can't boot on their battery).
Meanwhile, the MacBook Pro fulfils all of those requirements.
To me, that sounds rather like it's full of substance, while the gaming laptop is simply an ePenis (aka style) –and not a very long one.
To be honest, that's great with me. Killing animals because the land needs to be managed, and we need to eat –fine. Killing animals because some sick fuck thinks it's fun –not fine. If this gun increases the accuracy, and hence the likelihood that the animal will die instantly, then all to the good.