Poker between a group of players is a zero sum game, therefore, the hypothetical "average" player breaks even.
This is not necessarily true. For example, it is not uncommon to have one or two really bad players at the table feeding the rest of the game. While the "sharks" may have the largest edge, the average player may have an edge as well. The inverse is also true. One or two exceptional players could be the only players at the table with an edge.
I wouldn't discount research based on the research date. If the research is accurate there's no reason that time would be a factor, unless better studies were conducted and drew a different conclusion. If you're interested, do some research on the topic and you'll find that many companies from startups to major corporations utilize some form of open work spaces.
...he was a duct tape programmer! He always got it done by the deadline, but then he spent 75% of his time maintaining... in some cases we just tossed the exisiting work and started from scratch
Maintainability costs money. The article would have been much better if it just linked to the KISS principle as a reminder that needless complexity is bad. Instead there's this apparent (unintended?) emphasis on lower quality with the use of the "duct tape" metaphor as well as an out of context reference to Gabriel's "Worse is Better" essay*. The hard problem in software is maintainability, which is usually the result of hack-n-slash code that appears "done" because it "works" (just don't ever change it).
* There is a big difference between not developing the "perfect product" (i.e. every ideal feature) vs. code quality. The latter has a direct correlation to maintainability costs and future development velocity.
Anecdotally, my 13 year career is split almost exactly 50/50 TDD/!TDD. While I kicked and screamed initially, I'm confident that TDD has had the most positive impact on my effectiveness as a software developer.
If you ran your mail server off a single $499 dell workstation you'd probably have availability problems as well. This is not a problem inherent with SaaS, it's a problem with using a consumer grade mail service for a corporate mail.
If you have to write "what" comments, then refactor your code so that it more clearly describes its intent. When I see code that is heavily commented (and this is usually from those that brag to do so), I see code that is not clearly written in the first place. Additionally, you always have the risk of code and comments being out of sync, making the comments worse than useless. The best use of comments is when the purpose of clearly written code may still be unclear. That is, we can clearly see "what" the code is doing, but not "why". This is what makes comments useful. However, this situation should be relatively rare.
Other than the fact that PC users can download and run games released as free software, freeware, or shareware, produced by any developer...
Build and distribute your games with XNA and Xbox Live. It's not free but the cost of membership is very cheap and the framework/compiler/tools are free.
MS Visual Studio requires MS Office for some of the data aware components to work at all.
I'm not sure what you mean by "data aware components". I keep my dev machines lean and do not install MS Office, among other things, on them. VS runs just fine.
I wonder if/when governments are going to start going after Apple. OS X is 10x "worse" than Windows when it comes to bundled software. I use "worse" lightly, of course, because I actually want bundled software.
Excellent point. Cue the "but Microsoft is a monopoly" responses. At the end of the day antitrust legislation is about being pro consumer. It's not a cut-and-dried set of "you can and can't do foo with your product if you're a monopoly. There is, however, public interest in ensuring that what's bundled isn't preventing competition or damaging the value to the consumer in some other form. Making Windows have a far worse out-of-the-box experience (e.g. removing key functionality such as web browsing) is not pro consumer.
A service which, I might add, happens to work beautifully if you're running XP. It looks like this guy's problems stem from the fact that he's running Vista and has decided to change his hardware (even if it is only the monitor). We were given plenty of warning that Vista would do this, so we shouldn't be surprised when it happens.
The service works fine on Vista too (I use it all the time). This issue seems to lie HD display with an HDCP interface that requires DRM. Someone please correct me if I'm wrong, but I don't think that XP/Linux/OSX has support for this so you wouldn't even be able to stream HD content via an HDCP protected interface to an HDCP capable display, as these types of displays require a "secure" video source for streaming digital HD content.
And yet another reason to switch to a Free (as in Freedom) operating system.
You mean an OS that won't even stream Netflix content in the first place? That's not freedom either. If you choose to buy/subscribe to DRM'd content then you have the freedom to consume that DRM'd content on Vista with the (IMHO crappy) restrictions that come along with DRM'd content. If you don't want the DRM - and I wouldn't blame you - then don't buy that content.
It's unfreakingbelievable to me that you consider it normal for your CPU to idle at 11% usage
It's not normal. I'm on a Pentium D 2.8Ghz and it spikes at 2% while flatlining at ~0%. High "idle" CPU usage is usually due to antivirus/spyware running or the Vista Indexer running for the first time.
I agree. Which is why I gave the desktop search example. Performance is just another feature that has to be prioritized given what the customer want. The point is to be customer centric. My point regarding this thread is that performance is not always top priority and this is many times due to the fact that hardware is cheap.
At close to 90% profit margins for Microsoft's OS and Office divisions, I don't think you can make that claim with a straight face. First, I'm not just talking about Windows and Office. Second, don't think of cost in just dollars, it's time to market. It costs customers in terms of valuable features that would otherwise get cut if time was spent elsewhere. Software development really does not scale well in terms of number of developers. In many cases adding developers just slows you down. Whether you're Microsoft or a tiny development shop, resources are constrained and many times hardware is cheaper than developer time.
Software should be optimized for customers, not for computers. The extra programming time spent on performance optimization costs customers in terms of valuable features, stability, security, and time to market. This doesn't mean we waste CPU cycles with sloppy code, but it does mean that in many cases (not all!) there are customer-centric priorities other than writing everything in perfectly optimized code. Desktop search is a example where performance optimization happens to be more important since it runs in the background and has relatively simple functionality. A financial application, on the other hand, can afford to focus more on useful features, usability, and stability as long as it peforms decently on moderate hardware.
Poker between a group of players is a zero sum game, therefore, the hypothetical "average" player breaks even.
This is not necessarily true. For example, it is not uncommon to have one or two really bad players at the table feeding the rest of the game. While the "sharks" may have the largest edge, the average player may have an edge as well. The inverse is also true. One or two exceptional players could be the only players at the table with an edge.
I wouldn't discount research based on the research date. If the research is accurate there's no reason that time would be a factor, unless better studies were conducted and drew a different conclusion. If you're interested, do some research on the topic and you'll find that many companies from startups to major corporations utilize some form of open work spaces.
Multiple studies, at least within the context of software development, seem to be in conflict:
http://www.sciencedaily.com/releases/2000/12/001206144705.htm
...he was a duct tape programmer! He always got it done by the deadline, but then he spent 75% of his time maintaining... in some cases we just tossed the exisiting work and started from scratch
Maintainability costs money. The article would have been much better if it just linked to the KISS principle as a reminder that needless complexity is bad. Instead there's this apparent (unintended?) emphasis on lower quality with the use of the "duct tape" metaphor as well as an out of context reference to Gabriel's "Worse is Better" essay*. The hard problem in software is maintainability, which is usually the result of hack-n-slash code that appears "done" because it "works" (just don't ever change it).
* There is a big difference between not developing the "perfect product" (i.e. every ideal feature) vs. code quality. The latter has a direct correlation to maintainability costs and future development velocity.
Here are some Test Driven Development studies.
Anecdotally, my 13 year career is split almost exactly 50/50 TDD/!TDD. While I kicked and screamed initially, I'm confident that TDD has had the most positive impact on my effectiveness as a software developer.
Unlike homeowner's insurance, where you ARE playing against the house. Or car insurance. Or the state lottery. Or mutual funds. Or health insurance.
We manage risk all the time, and happily pay people for the privilege. I've never understood why poker got such a bad rep.
Ignorance.
Over 100 comments and we still don't have a concise list of substantial features Windows 7 offers over Vista?
Features New to Windows 7.
Enjoy!
If you ran your mail server off a single $499 dell workstation you'd probably have availability problems as well. This is not a problem inherent with SaaS, it's a problem with using a consumer grade mail service for a corporate mail.
Exactly.
If you have to write "what" comments, then refactor your code so that it more clearly describes its intent. When I see code that is heavily commented (and this is usually from those that brag to do so), I see code that is not clearly written in the first place. Additionally, you always have the risk of code and comments being out of sync, making the comments worse than useless. The best use of comments is when the purpose of clearly written code may still be unclear. That is, we can clearly see "what" the code is doing, but not "why". This is what makes comments useful. However, this situation should be relatively rare.
There is a free update for Office 2000 and Office 2003 that allows you to read Office 2007 formats: Microsoft Office Compatibility Pack.
So you also want to pay per mile of road you use?
We do. It's called a fuel tax.
Other than the fact that PC users can download and run games released as free software, freeware, or shareware, produced by any developer...
Build and distribute your games with XNA and Xbox Live. It's not free but the cost of membership is very cheap and the framework/compiler/tools are free.
MS Visual Studio requires MS Office for some of the data aware components to work at all.
I'm not sure what you mean by "data aware components". I keep my dev machines lean and do not install MS Office, among other things, on them. VS runs just fine.
The customer gets what he wants, even if he is an idiot.
Not if it damanges my good name.
I wonder if/when governments are going to start going after Apple. OS X is 10x "worse" than Windows when it comes to bundled software. I use "worse" lightly, of course, because I actually want bundled software.
Excellent point. Cue the "but Microsoft is a monopoly" responses. At the end of the day antitrust legislation is about being pro consumer. It's not a cut-and-dried set of "you can and can't do foo with your product if you're a monopoly. There is, however, public interest in ensuring that what's bundled isn't preventing competition or damaging the value to the consumer in some other form. Making Windows have a far worse out-of-the-box experience (e.g. removing key functionality such as web browsing) is not pro consumer.
A service which, I might add, happens to work beautifully if you're running XP. It looks like this guy's problems stem from the fact that he's running Vista and has decided to change his hardware (even if it is only the monitor). We were given plenty of warning that Vista would do this, so we shouldn't be surprised when it happens.
The service works fine on Vista too (I use it all the time). This issue seems to lie HD display with an HDCP interface that requires DRM. Someone please correct me if I'm wrong, but I don't think that XP/Linux/OSX has support for this so you wouldn't even be able to stream HD content via an HDCP protected interface to an HDCP capable display, as these types of displays require a "secure" video source for streaming digital HD content.
And yet another reason to switch to a Free (as in Freedom) operating system.
You mean an OS that won't even stream Netflix content in the first place? That's not freedom either. If you choose to buy/subscribe to DRM'd content then you have the freedom to consume that DRM'd content on Vista with the (IMHO crappy) restrictions that come along with DRM'd content. If you don't want the DRM - and I wouldn't blame you - then don't buy that content.
As a developer, I'm waiting for Silverlight 2.0 so that I can use .Net languages instead of that heap of crap which is Javascript.
I hear you. Fortunately you only have to wait for Silverlight 1.1 which is available for developers to alpha test today.
It's unfreakingbelievable to me that you consider it normal for your CPU to idle at 11% usage
It's not normal. I'm on a Pentium D 2.8Ghz and it spikes at 2% while flatlining at ~0%. High "idle" CPU usage is usually due to antivirus/spyware running or the Vista Indexer running for the first time.
If the people of the United States (or any country) want to ban online gambling then what business of the WTO is it?
It became the WTO's business when we signed a treaty making it thier business.
...that's what DJ's are for.
I agree. Which is why I gave the desktop search example. Performance is just another feature that has to be prioritized given what the customer want. The point is to be customer centric. My point regarding this thread is that performance is not always top priority and this is many times due to the fact that hardware is cheap.
At close to 90% profit margins for Microsoft's OS and Office divisions, I don't think you can make that claim with a straight face.
First, I'm not just talking about Windows and Office. Second, don't think of cost in just dollars, it's time to market. It costs customers in terms of valuable features that would otherwise get cut if time was spent elsewhere. Software development really does not scale well in terms of number of developers. In many cases adding developers just slows you down. Whether you're Microsoft or a tiny development shop, resources are constrained and many times hardware is cheaper than developer time.
Software should be optimized for customers, not for computers. The extra programming time spent on performance optimization costs customers in terms of valuable features, stability, security, and time to market. This doesn't mean we waste CPU cycles with sloppy code, but it does mean that in many cases (not all!) there are customer-centric priorities other than writing everything in perfectly optimized code. Desktop search is a example where performance optimization happens to be more important since it runs in the background and has relatively simple functionality. A financial application, on the other hand, can afford to focus more on useful features, usability, and stability as long as it peforms decently on moderate hardware.
Clearly the open letter was written in an emotional state of mind. Just short of calling names
The sad thing is that a lot of people seem to take this as fact around here.