Frigging Red Hat. Gives Linux a bad name. I feel for this guy, I really do. Installing and getting RedHat up to date is a major pain. Gentoo and Debian don't have that problem, but they aren't marketed like Red Hat, so the uninitiated have no idea what they're missing.
Every microecon 101 class makes a simple fact very clear: There is no such thing as a shortage in a free market economy. Prices may fluctuate, prices may become astronomical, but in a market where prices are allowed to vary naturally, there is no such thing as a shortage.
So what's happening with the dwindling ranks of engineers? Why do we have a perceived shortage of engineers? Simple; engineers don't get payed as much as business school grads. Why not? Simple; business school grads are educated, at length, in the practices of negotiation and garnering of wealth. Engineers are not. Business school grads are taught that buying anything, including labor (which is what engineers are), at the lowest possible price, is the measure of success. Engineers, generally, create because they love it. What's the natural outcome in this situation? Artful, frugal negotiators on one side, non-negotiator idealists on the other. What's the natural outcome? It's not rocket science - pay for engineers is low.
So what? What does that have to do with it? Simple: When was the last time you heard of an engineer making over a million dollars a year? Pretty rare, yes? How about managers? Lots, right? How many engineers who are actually doing engineering do you know who make more than $200,000 per year? Not many, eh? How many managers? Which is harder, business or engineering school? So, what percentage of people with feet in both streams are going to choose engineering? Once again, it's not rocket science - it's going to be something like zero percent.
What he says in his article is true - engineering school is hard, and the professors see teaching as a necessary evil. But guess what? If we paid for the skill, there would be no shortage. There is no shortage. There is simply an infrastructral unwillingness to pay. Labor doesn't get paid as much as management. It's a rule that is as old as the free market (older probably). But engineering is hard, and getting harder - the easy stuff is all being done by computers now. And the value of good engineers is getting larger - computer aided engineering is an extraordinary force multiplier. This isn't the old-school labor that the old-school rules are based on. Today's engineering labor generates enormous wealth. But the wealth those engineers are generating is not reaching them, even though they are having to work harder and longer hours, and even though the bar for entry is being set higher every year.
Still not convinced? Look at the changes in patent and other IP standards and practices. Who owns the IP? The creator? No, a corporation. Who gets the money the patent generates? The creator? No, the corporation. Who decides what to do with that money, the engineers? No, the managers. I'm not necessarily saying it is wrong, I'm saying it is. And what's the latest change to patent law on the table? Officially throw out first-to-invent in favor of first-to-file. Management, paying legislators, to create laws, that tip the scales further in favor of the managers. Infrastructural unwillingness to pay labor (which is what engineers are). And the hired help in Washington isn't even raising an eyebrow - it is standard operating procedure.
The answer is simple: If you pay them they will come. If you dont, they won't. It's not a magical mystical formula. It's microecon 101. There is no such thing as a shortage. The US simply doesn't know how to pay labor (which is what engineers are) what they are worth.
One final note before I click "Submit": Ninety five percent of the well educated managers in the US are completely aware that there is no such thing as a shortage. It's one of the most basic things taught to any student in business school. The stories you read about corporate execs claiming there is a shortage are just PR. It's a negotiating tactic. They're good at it, and they will, once again, get the hired help in Washington to give them a handout (more H1Bs, more tax advantages to offshoring). And it will continue to erode our nation's ability to compete. And it will continue to make a mockery of the elegant scientific theory that is free market capitalism.
JSON is object syntax. It is a real, live object serialized to string.
So it is a proxy, and when I call a method on the object, the behaviour occurs on the server side? I find that pretty hard to believe (or a very bad idea if it is true). Fine grained method calls were pretty much abandoned with the total failure of early EJB applications to scale gracefully (a lesson which had already been learned by many DCOM and CORBA programmers). I'm guessing that JSON actually uses serialized structs, possibly with identical associated methods on both sides of the wire.
That is to say, a real live object has behavior associated with it, and state which is intrinsically linked to the environment in which the object resides. Early EJB apps extended that environment across the wire, with every method call traversing the network. It is extraordinarily hungry for bandwidth and completely unworkable on today's Internet (though it can work quite nicely in the lab or on purpose-built networks).
Don't get me wrong, I'm not saying serialized structs are a bad thing. I love 'em, and use them every day. But objects they are not.
Aside from the question raised in many posts about whether the fact that Firefox is open source leads to faster and fuller disclosure, the following is an email I sent this past weekend regarding this article.
Lots is being made the past few days about the number of security holes found in various browsers. Just to try to keep the discussion from descending to complete irrelevance, here's the stats that actually matter:
Unpatched Criticality (what can happen to me today?) Requires a little more looking - see the list at the bottom of each page: http://secunia.com/product/11/ http://secunia.com/product/4227/ IE: 5 unpatched moderate or greater criticality Firefox: 0 unpatched moderate or greater criticality
Finally, and unfortunately not clearly covered in [the Secunia] report is vulnerability window - how long does a bug go without being patched. You can, however, make a fairly good estimate by looking at the patch time for highly critical or worse bugs:
MS has been making big improvements lately, so I'll only look at the MS holes from the past year (the older ones have dramatically longer vulnerability windows) (I've also left out holes which were publicly discovered as a result of a windows patch)
Keep the discussion rational - security is hard, so is assessing security. Be skeptical of anyone who has a dog in the fight (eg: Symantec). [Which is not to say that Symantec cannot be trusted for Windows security, only that their PR department's press releases regarding software security should be treated as suspect - particularly when they draw questionable conclusions from insufficient data.]
You want the ultimate developer rig? Get a projector (I use the $1000, 1280x720 PLV-Z2), an easy chair (I'm actually using my couch and put my feet up on the coffee table, but I plan to upgrade), and a wireless mouse and keyboard. 30 square feet of Emacs is a beautiful thing - no more eyestrain for me. I picked up the easy-chair thing from a buddhist / cab driver / software engineer friend in Seattle.
Office furniture is for suits trying to impress clients with their professionalism. If you don't sit in an office chair when you're watching football, how would it suddenly become a good thing when you're coding?
People will look at you funny, but earplugs with headphones is the right answer. You can eliminate all the background noise, and play the music at a level that (after passing through the earplugs) is safe. Foam earplugs are available at drugstores - 20 - 30 pairs for about 6 dollars. To really do it right, get a nice pair of circumaural headphones like Sennheisers.
Internetworking in British higher education institutions was seriously set back in the 1980s by the insistence that only "international standards" (that is X25 and its derivatives rather than TCP/IP) were allowed to be used.
While your story is very interesting, and very applicable to many situations, I think it is somewhat irrelevant here. What the report is calling for is the adoption of open standards, not international standards. Open standards are simply standards that are not legally encumbered - ie: standards that anyone can implement without fear of legal reprisal. The report is not calling for governments to restrict themselves to protocols that have passed some arcane officialization process.
Should the onus be on the software firm to manage each issue and the relationship well, or does it fall to the morally responsible user?
This is a bullshit question. I don't want to hear another single question like this until we have ethical accountability from the corporate execs who are running the companies that are bitching about security disclosures.
Yesterday I read the article about Steve Ballmer ranting like a psychopath calling for the head of the competition. I sent that article to some business exec friends of mine and heard back, "There's nothing to see here - most execs of large firms are like that." That fits in very well with everything that floats to the service.
So you know what? Fuck 'em. When they start playing the game like rational, ethical adults, we should start listening to their ethics requests. Until then, we as a society go miles beyond their standards, and have nothing to be ashamed of.
I remember distinctly reading on some Agile XP whatever site that CRC cards (the documentation is the code and unit tests!) are used long enough to get the devs on board with what to do AND THEN THEY ARE DISCARDED.
CRC cards are not documentation. They are an artifact of the development process. You can hang onto them for historical records if you find them useful, but they are inherently out of synch with the final product (except by coincidence).
Don't feed the trolls. Andrew Orlowski is not simply failing to understand with an open mind and a desire to learn, he is choosing to not understand in order to incite. Don't let yourself be baited.
Hmm, Firefox downloads continue to climb exponentially, and yet Firefox's browser share dropped this month. About a month ago, the Honeymonkey project, which is a few thousand MSIE browsers hammering the internet as fast as possible, went online. Gee, any connection?
This is not a Windows vs. Linux thing but more of a software design issue. The key is realizing that there's a continuum of possible trade-offs. With increased integration you have certain advantages and disadvantages, and conversely with increased modularity you have other advantages and disadvantages. As an operating system designer, you can pick where you want to be on this modularity/integration spectrum.
Microsoft has found that pursuing a balance, rather than one extreme, is a successful approach that fits the needs of our users and customers in a broad and effective way.
I really liked this point, and the general concept is right on. The latter paragraph made me snicker however. Isn't it funny how, from where I'm standing, I can always see that I'm in the center. Everyone else is an extremist. Hint: if you can't remove the browser without breaking the operating system, you're on the extreme end of tight coupling.
U.K. employees working in the information technology industry are more valued than they think they are,
I think this is reflective of some general truths about IT workers. We are primarily computer people. Generally the political side is at best a secondary skill and more often a deficient skill. As such, we are less adept than those in other sectors at negotiating and getting the maximum compensation that is warranted by the amount of wealth we generate for our companies. The profit maximizing solution from the company's perspective in this situation is to undercompensate, underpromote, and underraise. We resign ourselves to it, because we do not have the skill set necessary to negotiate a profit minimizing deal (ie: minimizing the margin between the corporate revenue we generate and our compensation + overhead).
Moreover, since many of us are not good at negotiating profit minimizing deals, those few of us who are good at it are market disadvantaged. As my brother (on the finance side of things) says, "It's not about what you're worth, it's about what it costs to replace you." Not being mean - simple pragmatic truth.
An unfortunate side effect of this is that many of us feel undercompensated. In such reduced morale situations, productivity is hampered, and the margin between productivity and compensation narrows, but not in the good way. In theory this leads to a market opportunity for a company that compensates IT people in a profit minimizing way, because the increased morale would lead to increased productivity. This is the market opportunity famously exploited by Henry Ford when he started compensating factory workers $14 per day, well above the market wage (though in that day the inequity margin was, I would guess, far greater). But I digress.
If we were good at the political / profit negotiation side of things - if it were our primary skill set - we would be in management or finance, not in IT. I'm not bitching (well maybe a little bit) - I love IT, and would do it even if the profit margin for my employer were significantly larger.
Of course I do hope and believe that the continued expansion and maturation of computer science in business will continue to lead to a more efficient market for IT labor, ie: a narrower profit margin and thus higher compensation for my skill set.
Did it ever occur to you that there are no citizens of the United States being held there?
I think this is still true at the moment, but the current administration has been trying to get a provision through that would allow the removal of citizenship from suspected terrorists.
1. Use comments liberally to explain why. Why would I want to call this method? Why did you choose this particular algorithm? Why are you ignoring this exception? Source code has very little support for explaining why without comments - and why is often both the most important point and the most easily forgotten.
2. Use comments occasionally to explain what. Your method names, parameter names, and logic should strive to be clear enough that explaining what is happening is unnecessary. But that is in a perfect world. If you can't make it clear in a reasonable amount of time, add a comment explaining what is happening.
3. Never use comments to explain how. The real how diverges from the comment too quickly. If someone needs to see how, they should look at the source code, which is the only reliable resource for explaining how.
There are exceptions to all of these I'm sure, and this doesn't cover everything (for example, the above says nothing parameter definition comments or copyright comments), but they're decent rules of thumb for most cases.
"If you look at Windows and Linux, both are based on 25-year-old technology. Windows is sort of a GUI version of the Mac's operating system, and Linux is of course Unix, which stems from 1968. These are both old clunkers. So the question is, Where are the new operating systems likely to come from?"
Absolutely! And furthermore, what's with our antiquated notion of the automobile? The motor is nothing but a knockoff of a late 1800's Daimler Benz model and the tires are from the same era by Michelin. About the most modern major part is the assembly process, and that comes from Henry Ford in the early 1900's. Where are the new automobiles going to come from?
Sometimes building on existing success is the right answer.
Hey editors, could you stop propping up this washed-up has-been? It's really aggravating to see you steering the newer and less experienced members of our community towards such obvious trolling. Dvorak has nothing to contribute - let him die in peace.
In response to the "spam" claims, and general distaste for the style of article, I'd like to pose an alternate perception. Katamari Damashi is one of the all-time under-the-radar hits for any console (perhaps any game). Every person I know who has a PS/2 had not heard of it before I started passing it around. Everyone loved it. It is brilliant in its simplicity.
In addition, it came out new at $20. An outstanding market concept that few if any had really tried - a new game that was cheap to develop, with little or no marketing, priced to sell. An unfortunate side effect is that there was very little big media attention payed.
As for the part about fawning over the larger scope of the game - the original was short. Necessarily so given the target of a cheap-to-create, cheap-on-the-shelf game.
It's a good game, And the review is fair and accurate.
makes the case that "no one is going to work for free."
For those of you who aren't familiar with Marc Fleury, he is the stereotype of the maveric, much like many of us. He's used to being the smartest guy in the room, he's used to being right whenever someone disagrees with him, and he doesn't soft peddle the fact that he thinks he's always right. There's an upside and a downside; people don't follow the wishy washy, but maverics tend to come off as assholes.
All that to say, this is just vintage Marc. His view is the only credible view in his world. It has cost him some important allies (eg: his entire core development team last year), and has won him others (eg: lots of venture capital). It will continue to be his hallmark.
same as code, it's just people don't like looking at code as engineering for some reason.
One of the core differences that makes it so hard to compare software engineering with other engineering disciplines (particularly bridge building and building building) is that software is fundamentally more malleable.
If you build a condominium, then decide you want the first floor to be six feet taller, it is exceedingly expensive to change it. Furthermore it is obvious to the layman why it is expensive to change it, and why trying to bodge in a "quick fix" will result in an unstable building.
Contrast this with software. Well designed software can often have the first floor wiped out and replaced in a matter of hours or days, without having any adverse effects in the rest of the system - but not always. And it is rarely obvious to the layman why something is expensive to modify (I just want one more button that does account settlement - why is that so hard?). Heck, problem code is often a surprise to those who are well versed in the field.
This is particularly common with software that is rushed. You've rushed out a system that is krufty and does not lend itself to modification, and it went so quickly that you've established unrealistic expectations in the customer. The layman asks, "Why, if it only took two weeks to build the entire building, will it take another three weeks to add six feet to the first floor?" It is difficult then to explain to the customer that in your rush to get the first release out, you only used half the required number of studs, and they won't take the load of an additional six feet.
Does ESR sincerely believe that IBM, Sun, HP, Red Hat, Linspire, and Xandros would be feeding their enhancements back if it weren't for the GPL? Those are very pragmatic companies; they use Linux because they believe there is a competitive advantage to be had by doing so. If not for the GPL, they would be releasing proprietary extensions of Linux. Could the altruist community have brought Linux to where it is today in the same short time without the help of those companies? The GPL has done exactly what it was meant to do; "Here's a cool party. If you don't want to come, that's OK. If you do, it's potluck - you don't have to bring a dish if you can't cook, but you can't just take some food and leave."
Over the last few years, I've noticed that a surprisingly large number of lifelong word processor users, who are otherwise very literate, seem to lack the ability to read the fine manual. Mostly, this seems to manifest itself as varying degrees of system insecurity and instability: 'Administrator/root' instead of an unprivileged account; clicking on attachments instead of discarding them; I even see people running Windows without updates and exposed to the Internet from time to time. It baffles me that a culture so dependent on their word processor and obsessed with proper grammar can demonstrate such little attention to detail when it comes to maintaining the system on which their word processor runs.
By the way, I can't help noticing that verified religious crooks of recent centuries past have claimed to be able to perform those very things,
Not all were considered religious crooks (at least not universally), and not all were exposed (at least not in everyone's eyes). Take the Popes for example; they have to have performed... is it four?... documented miracles to get to wear the cool hat.
Denis emailed to request we use mirrors, as they're already getting hammered pretty hard.
I think it's very kind of you to edit the story to suggest that we go to the mirrors instead of to the main site. Did Denis, I dunno, maybe, provide links? If so, any possiblity you'd be willing to share the info?
Frigging Red Hat. Gives Linux a bad name. I feel for this guy, I really do. Installing and getting RedHat up to date is a major pain. Gentoo and Debian don't have that problem, but they aren't marketed like Red Hat, so the uninitiated have no idea what they're missing.
Every microecon 101 class makes a simple fact very clear: There is no such thing as a shortage in a free market economy. Prices may fluctuate, prices may become astronomical, but in a market where prices are allowed to vary naturally, there is no such thing as a shortage.
So what's happening with the dwindling ranks of engineers? Why do we have a perceived shortage of engineers? Simple; engineers don't get payed as much as business school grads. Why not? Simple; business school grads are educated, at length, in the practices of negotiation and garnering of wealth. Engineers are not. Business school grads are taught that buying anything, including labor (which is what engineers are), at the lowest possible price, is the measure of success. Engineers, generally, create because they love it. What's the natural outcome in this situation? Artful, frugal negotiators on one side, non-negotiator idealists on the other. What's the natural outcome? It's not rocket science - pay for engineers is low.
So what? What does that have to do with it? Simple: When was the last time you heard of an engineer making over a million dollars a year? Pretty rare, yes? How about managers? Lots, right? How many engineers who are actually doing engineering do you know who make more than $200,000 per year? Not many, eh? How many managers? Which is harder, business or engineering school? So, what percentage of people with feet in both streams are going to choose engineering? Once again, it's not rocket science - it's going to be something like zero percent.
What he says in his article is true - engineering school is hard, and the professors see teaching as a necessary evil. But guess what? If we paid for the skill, there would be no shortage. There is no shortage. There is simply an infrastructral unwillingness to pay. Labor doesn't get paid as much as management. It's a rule that is as old as the free market (older probably). But engineering is hard, and getting harder - the easy stuff is all being done by computers now. And the value of good engineers is getting larger - computer aided engineering is an extraordinary force multiplier. This isn't the old-school labor that the old-school rules are based on. Today's engineering labor generates enormous wealth. But the wealth those engineers are generating is not reaching them, even though they are having to work harder and longer hours, and even though the bar for entry is being set higher every year.
Still not convinced? Look at the changes in patent and other IP standards and practices. Who owns the IP? The creator? No, a corporation. Who gets the money the patent generates? The creator? No, the corporation. Who decides what to do with that money, the engineers? No, the managers. I'm not necessarily saying it is wrong, I'm saying it is. And what's the latest change to patent law on the table? Officially throw out first-to-invent in favor of first-to-file. Management, paying legislators, to create laws, that tip the scales further in favor of the managers. Infrastructural unwillingness to pay labor (which is what engineers are). And the hired help in Washington isn't even raising an eyebrow - it is standard operating procedure.
The answer is simple: If you pay them they will come. If you dont, they won't. It's not a magical mystical formula. It's microecon 101. There is no such thing as a shortage. The US simply doesn't know how to pay labor (which is what engineers are) what they are worth.
One final note before I click "Submit": Ninety five percent of the well educated managers in the US are completely aware that there is no such thing as a shortage. It's one of the most basic things taught to any student in business school. The stories you read about corporate execs claiming there is a shortage are just PR. It's a negotiating tactic. They're good at it, and they will, once again, get the hired help in Washington to give them a handout (more H1Bs, more tax advantages to offshoring). And it will continue to erode our nation's ability to compete. And it will continue to make a mockery of the elegant scientific theory that is free market capitalism.
JSON is object syntax. It is a real, live object serialized to string.
So it is a proxy, and when I call a method on the object, the behaviour occurs on the server side? I find that pretty hard to believe (or a very bad idea if it is true). Fine grained method calls were pretty much abandoned with the total failure of early EJB applications to scale gracefully (a lesson which had already been learned by many DCOM and CORBA programmers). I'm guessing that JSON actually uses serialized structs, possibly with identical associated methods on both sides of the wire.
That is to say, a real live object has behavior associated with it, and state which is intrinsically linked to the environment in which the object resides. Early EJB apps extended that environment across the wire, with every method call traversing the network. It is extraordinarily hungry for bandwidth and completely unworkable on today's Internet (though it can work quite nicely in the lab or on purpose-built networks).
Don't get me wrong, I'm not saying serialized structs are a bad thing. I love 'em, and use them every day. But objects they are not.
Aside from the question raised in many posts about whether the fact that Firefox is open source leads to faster and fuller disclosure, the following is an email I sent this past weekend regarding this article.
d =11d =4227
d =11d =4227
Lots is being made the past few days about the number of security holes found in various browsers. Just to try to keep the discussion from descending to complete irrelevance, here's the stats that actually matter:
Solution Status (has it been fixed?):
http://secunia.com/graph/?type=sol&period=all&pro
http://secunia.com/graph/?type=sol&period=all&pro
Criticality (how bad is it if I get hit?):
http://secunia.com/graph/?type=cri&period=all&pro
http://secunia.com/graph/?type=cri&period=all&pro
Unpatched Criticality (what can happen to me today?) Requires a little more looking - see the list at the bottom of each page:
http://secunia.com/product/11/
http://secunia.com/product/4227/
IE: 5 unpatched moderate or greater criticality
Firefox: 0 unpatched moderate or greater criticality
Finally, and unfortunately not clearly covered in [the Secunia] report is vulnerability window - how long does a bug go without being patched. You can, however, make a fairly good estimate by looking at the patch time for highly critical or worse bugs:
MS has been making big improvements lately, so I'll only look at the MS holes from the past year (the older ones have dramatically longer vulnerability windows) (I've also left out holes which were publicly discovered as a result of a windows patch)
IE Highly+ Critical Windows (past year)
http://secunia.com/advisories/12806/ 103 days
http://secunia.com/advisories/12889/ 108 days
http://secunia.com/advisories/12959/ 29 days
http://secunia.com/advisories/13482/ 53 days
http://secunia.com/advisories/15891/ 7 days
Firefox Highly+ Critical Windows (all time)
http://secunia.com/advisories/14654/ 7 days
http://secunia.com/advisories/14938/ 24 days
http://secunia.com/advisories/15292/ 5 days
http://secunia.com/advisories/16043/ 7 days
http://secunia.com/advisories/16764/ 3 days
Keep the discussion rational - security is hard, so is assessing security. Be skeptical of anyone who has a dog in the fight (eg: Symantec). [Which is not to say that Symantec cannot be trusted for Windows security, only that their PR department's press releases regarding software security should be treated as suspect - particularly when they draw questionable conclusions from insufficient data.]
dude, man, like... I think the server's cashed dude.
You want the ultimate developer rig? Get a projector (I use the $1000, 1280x720 PLV-Z2), an easy chair (I'm actually using my couch and put my feet up on the coffee table, but I plan to upgrade), and a wireless mouse and keyboard. 30 square feet of Emacs is a beautiful thing - no more eyestrain for me. I picked up the easy-chair thing from a buddhist / cab driver / software engineer friend in Seattle.
Office furniture is for suits trying to impress clients with their professionalism. If you don't sit in an office chair when you're watching football, how would it suddenly become a good thing when you're coding?
People will look at you funny, but earplugs with headphones is the right answer. You can eliminate all the background noise, and play the music at a level that (after passing through the earplugs) is safe. Foam earplugs are available at drugstores - 20 - 30 pairs for about 6 dollars. To really do it right, get a nice pair of circumaural headphones like Sennheisers.
Internetworking in British higher education institutions was seriously set back in the 1980s by the insistence that only "international standards" (that is X25 and its derivatives rather than TCP/IP) were allowed to be used.
While your story is very interesting, and very applicable to many situations, I think it is somewhat irrelevant here. What the report is calling for is the adoption of open standards, not international standards. Open standards are simply standards that are not legally encumbered - ie: standards that anyone can implement without fear of legal reprisal. The report is not calling for governments to restrict themselves to protocols that have passed some arcane officialization process.
Should the onus be on the software firm to manage each issue and the relationship well, or does it fall to the morally responsible user?
This is a bullshit question. I don't want to hear another single question like this until we have ethical accountability from the corporate execs who are running the companies that are bitching about security disclosures.
Yesterday I read the article about Steve Ballmer ranting like a psychopath calling for the head of the competition. I sent that article to some business exec friends of mine and heard back, "There's nothing to see here - most execs of large firms are like that." That fits in very well with everything that floats to the service.
So you know what? Fuck 'em. When they start playing the game like rational, ethical adults, we should start listening to their ethics requests. Until then, we as a society go miles beyond their standards, and have nothing to be ashamed of.
I remember distinctly reading on some Agile XP whatever site that CRC cards (the documentation is the code and unit tests!) are used long enough to get the devs on board with what to do AND THEN THEY ARE DISCARDED.
CRC cards are not documentation. They are an artifact of the development process. You can hang onto them for historical records if you find them useful, but they are inherently out of synch with the final product (except by coincidence).
Don't feed the trolls. Andrew Orlowski is not simply failing to understand with an open mind and a desire to learn, he is choosing to not understand in order to incite. Don't let yourself be baited.
Hmm, Firefox downloads continue to climb exponentially, and yet Firefox's browser share dropped this month. About a month ago, the Honeymonkey project, which is a few thousand MSIE browsers hammering the internet as fast as possible, went online. Gee, any connection?
This is not a Windows vs. Linux thing but more of a software design issue. The key is realizing that there's a continuum of possible trade-offs. With increased integration you have certain advantages and disadvantages, and conversely with increased modularity you have other advantages and disadvantages. As an operating system designer, you can pick where you want to be on this modularity/integration spectrum.
Microsoft has found that pursuing a balance, rather than one extreme, is a successful approach that fits the needs of our users and customers in a broad and effective way.
I really liked this point, and the general concept is right on. The latter paragraph made me snicker however. Isn't it funny how, from where I'm standing, I can always see that I'm in the center. Everyone else is an extremist. Hint: if you can't remove the browser without breaking the operating system, you're on the extreme end of tight coupling.
U.K. employees working in the information technology industry are more valued than they think they are,
I think this is reflective of some general truths about IT workers. We are primarily computer people. Generally the political side is at best a secondary skill and more often a deficient skill. As such, we are less adept than those in other sectors at negotiating and getting the maximum compensation that is warranted by the amount of wealth we generate for our companies. The profit maximizing solution from the company's perspective in this situation is to undercompensate, underpromote, and underraise. We resign ourselves to it, because we do not have the skill set necessary to negotiate a profit minimizing deal (ie: minimizing the margin between the corporate revenue we generate and our compensation + overhead).
Moreover, since many of us are not good at negotiating profit minimizing deals, those few of us who are good at it are market disadvantaged. As my brother (on the finance side of things) says, "It's not about what you're worth, it's about what it costs to replace you." Not being mean - simple pragmatic truth.
An unfortunate side effect of this is that many of us feel undercompensated. In such reduced morale situations, productivity is hampered, and the margin between productivity and compensation narrows, but not in the good way. In theory this leads to a market opportunity for a company that compensates IT people in a profit minimizing way, because the increased morale would lead to increased productivity. This is the market opportunity famously exploited by Henry Ford when he started compensating factory workers $14 per day, well above the market wage (though in that day the inequity margin was, I would guess, far greater). But I digress.
If we were good at the political / profit negotiation side of things - if it were our primary skill set - we would be in management or finance, not in IT. I'm not bitching (well maybe a little bit) - I love IT, and would do it even if the profit margin for my employer were significantly larger.
Of course I do hope and believe that the continued expansion and maturation of computer science in business will continue to lead to a more efficient market for IT labor, ie: a narrower profit margin and thus higher compensation for my skill set.
Did it ever occur to you that there are no citizens of the United States being held there?
I think this is still true at the moment, but the current administration has been trying to get a provision through that would allow the removal of citizenship from suspected terrorists.
Three rules of thumb that work fairly well:
1. Use comments liberally to explain why. Why would I want to call this method? Why did you choose this particular algorithm? Why are you ignoring this exception? Source code has very little support for explaining why without comments - and why is often both the most important point and the most easily forgotten.
2. Use comments occasionally to explain what. Your method names, parameter names, and logic should strive to be clear enough that explaining what is happening is unnecessary. But that is in a perfect world. If you can't make it clear in a reasonable amount of time, add a comment explaining what is happening.
3. Never use comments to explain how. The real how diverges from the comment too quickly. If someone needs to see how, they should look at the source code, which is the only reliable resource for explaining how.
There are exceptions to all of these I'm sure, and this doesn't cover everything (for example, the above says nothing parameter definition comments or copyright comments), but they're decent rules of thumb for most cases.
"If you look at Windows and Linux, both are based on 25-year-old technology. Windows is sort of a GUI version of the Mac's operating system, and Linux is of course Unix, which stems from 1968. These are both old clunkers. So the question is, Where are the new operating systems likely to come from?"
Absolutely! And furthermore, what's with our antiquated notion of the automobile? The motor is nothing but a knockoff of a late 1800's Daimler Benz model and the tires are from the same era by Michelin. About the most modern major part is the assembly process, and that comes from Henry Ford in the early 1900's. Where are the new automobiles going to come from?
Sometimes building on existing success is the right answer.
Hey editors, could you stop propping up this washed-up has-been? It's really aggravating to see you steering the newer and less experienced members of our community towards such obvious trolling. Dvorak has nothing to contribute - let him die in peace.
In response to the "spam" claims, and general distaste for the style of article, I'd like to pose an alternate perception. Katamari Damashi is one of the all-time under-the-radar hits for any console (perhaps any game). Every person I know who has a PS/2 had not heard of it before I started passing it around. Everyone loved it. It is brilliant in its simplicity.
In addition, it came out new at $20. An outstanding market concept that few if any had really tried - a new game that was cheap to develop, with little or no marketing, priced to sell. An unfortunate side effect is that there was very little big media attention payed.
As for the part about fawning over the larger scope of the game - the original was short. Necessarily so given the target of a cheap-to-create, cheap-on-the-shelf game.
It's a good game, And the review is fair and accurate.
makes the case that "no one is going to work for free."
For those of you who aren't familiar with Marc Fleury, he is the stereotype of the maveric, much like many of us. He's used to being the smartest guy in the room, he's used to being right whenever someone disagrees with him, and he doesn't soft peddle the fact that he thinks he's always right. There's an upside and a downside; people don't follow the wishy washy, but maverics tend to come off as assholes.
All that to say, this is just vintage Marc. His view is the only credible view in his world. It has cost him some important allies (eg: his entire core development team last year), and has won him others (eg: lots of venture capital). It will continue to be his hallmark.
same as code, it's just people don't like looking at code as engineering for some reason.
One of the core differences that makes it so hard to compare software engineering with other engineering disciplines (particularly bridge building and building building) is that software is fundamentally more malleable.
If you build a condominium, then decide you want the first floor to be six feet taller, it is exceedingly expensive to change it. Furthermore it is obvious to the layman why it is expensive to change it, and why trying to bodge in a "quick fix" will result in an unstable building.
Contrast this with software. Well designed software can often have the first floor wiped out and replaced in a matter of hours or days, without having any adverse effects in the rest of the system - but not always. And it is rarely obvious to the layman why something is expensive to modify (I just want one more button that does account settlement - why is that so hard?). Heck, problem code is often a surprise to those who are well versed in the field.
This is particularly common with software that is rushed. You've rushed out a system that is krufty and does not lend itself to modification, and it went so quickly that you've established unrealistic expectations in the customer. The layman asks, "Why, if it only took two weeks to build the entire building, will it take another three weeks to add six feet to the first floor?" It is difficult then to explain to the customer that in your rush to get the first release out, you only used half the required number of studs, and they won't take the load of an additional six feet.
Does ESR sincerely believe that IBM, Sun, HP, Red Hat, Linspire, and Xandros would be feeding their enhancements back if it weren't for the GPL? Those are very pragmatic companies; they use Linux because they believe there is a competitive advantage to be had by doing so. If not for the GPL, they would be releasing proprietary extensions of Linux. Could the altruist community have brought Linux to where it is today in the same short time without the help of those companies? The GPL has done exactly what it was meant to do; "Here's a cool party. If you don't want to come, that's OK. If you do, it's potluck - you don't have to bring a dish if you can't cook, but you can't just take some food and leave."
Over the last few years, I've noticed that a surprisingly large number of lifelong word processor users, who are otherwise very literate, seem to lack the ability to read the fine manual. Mostly, this seems to manifest itself as varying degrees of system insecurity and instability: 'Administrator/root' instead of an unprivileged account; clicking on attachments instead of discarding them; I even see people running Windows without updates and exposed to the Internet from time to time. It baffles me that a culture so dependent on their word processor and obsessed with proper grammar can demonstrate such little attention to detail when it comes to maintaining the system on which their word processor runs.
By the way, I can't help noticing that verified religious crooks of recent centuries past have claimed to be able to perform those very things,
... is it four? ... documented miracles to get to wear the cool hat.
Not all were considered religious crooks (at least not universally), and not all were exposed (at least not in everyone's eyes). Take the Popes for example; they have to have performed
Denis emailed to request we use mirrors, as they're already getting hammered pretty hard.
I think it's very kind of you to edit the story to suggest that we go to the mirrors instead of to the main site. Did Denis, I dunno, maybe, provide links? If so, any possiblity you'd be willing to share the info?