In my experience, the places with the most stringent coding standards have the worst code. The impression I get is that the standards were developed by programmers who couldn't program as a way of kissing ass, or by managers who thought that they knew something.
At Expedia there's a style checker built into the build, so that you can't check anything in until the style checker stops complaining.
The code I had inherited was, naturally, riddled with suppression directives and was basically spaghetti.
Obviously the standards weren't accomplishing anything, because they don't enforce what needs to be enforced: code quality.
It's the TSA approach: they provide the illusion of quality.
You're right, America isn't a democracy of any kind. It was originally a representative republic, and now it's just prof that democracy isn't a viable form of government, because the people are too stupid to vote for candidates that will serve them. Both dominant parties are essentially the same, and both represent the corporations that own them. They just pretend to oppose each other so that it looks like there are alternatives, but the reality is that that they all serve the same corporate overlords. The "debates" are a farce.
If you don't live in America, you should be worried... Our short-sighted stupidity is ruining the planet for everyone, economically, politically, and ecologically.
Very few Americans are brilliant. And fewer still do anything of significance, let alpine brilliant. We're a nation that ostracizes the intellectuals, and rewards the imbeciles by giving them fake federal credentials and the authority to fuck with the lives or harmless citizens in the name of theatrical security.
If you still think that americans are brilliant, look at fox news, look at what the heartland institute spews, and look at how many americans vote for the same morons whose policies they complain about because the media told them to.
I see candidates from other parties on the ballots all the time.
Obviously american'ts aren't intelligent enough to vote for someone other than who their favored media outlet tells them to vote for.
It's a way of ensuring that the children will never outshine their parents.
Besides, history shows us that organized religion is one of the world's greatest evils. It's the organized religions of the world that have driven most of the greatest atrocities in human history, like the Holocaust, the Inquisition, and the Crusades.
In reality, christian religion perpetuates a society in which evil is ok as long as you apologize to the magic man in the sky.
When some missionaries came to my door and trid to convert me, they used the story of Abraham, in which god told Abraham to take sacrifice his son. I told them that this story proved that Abraham was an unworthy follower, and that god was a megalomaniac with a weak ego.
I've lost count of how many times I've joined a new company only to discover that the supposedly senior engineering staff and the technical leads appear to lack even a basic understanding of engineering, and even less of an understanding of quality.
They usually are people who are good at spewing technobabble and throwing around names of complex algorithms... but they don't implement them, they just grab someone else's implementation and throw the terms around.
They're definitely not top-tier folks. Even giving them credit as mid-tier is very extremely generous, based on the "quality" of their spaghetti. Er, code.
Profit and politics pretty much ensure that things won't ever get done right in IT.
IT management get ahead by increasing the number of people reporting to them. The easiest way to do that is to mismanage things so that the team has to put in lots of overtime, push for logging that to prove that they're working overtime, and then start recruiting other people. The team grows, the manager gets a resume pad, and the product ends up being crap, on the off chance that it works.
So the manager's personal profit and politicking trump getting things done, ensuring that the death spiral of software quality at big companies will continue.
Yes, they're full of shit, but be that as it is you're still left with [un|under]employed techies. The world doesn't work according to what we feel is right or fair, and ageism in tech appears to be a very serious problem. So what do you do about this?
Ruby isn't the problem. It's the developers using it.
The thing is that by being easy to work with, Ruby as well as java have lead to the demise of quality. Once you have a language so forgiving that even a moron can make something work(ish) with it, you're doomed to live with a morass of abysmal code.
I worked at a startup once where we used a variety of languages on the back end, basically every team working on a service picked the language that they felt was the best fit for their service, and published a service interface. The front end developers were using Ruby on Rails. I was one of the latter.
Things were actually going quite well, in spite of the fact that many of our teams got delayed by several months because the defective executives were too dumb to give the developers actual functional requirements, they thought that pictures were enough.
A small team of rogue JUNIOR developers, none of whom had shipped a single working product in their lives, threw together a demo in Ruby on Rails and went to Daddy CTO (literally). Daddy CTO, unaware of the fact that his group of morons had done nothing more than take the code the rest of us had written and map it onto a faked back end (i.e. their demo didn't actually work as well as what the rest of us were working on), decided to go with their approach.
Never mind that these morons had taken time off from meeting their own commitments, and in so doing had actually sabotaged several teams... but they'd put in massive numbers of hours not doing their jobs, so the execs put them in charge.
The result? A non-functional web site. Except for the search page, because they couldn't find a Ruby replacement for Lucene. So our stuff worked fine, but little things like signing up for accounts didn't.
This wasn't due to Ruby itself, but rather due to the fact that Ruby made their hackjob possible, and the management was swayed by their "effort and passion" rather than by the fact that their approach simply didn't work.
One thing that happens as one gets older is their bullshit tolerance goes down.
That applies in many ways. I found that as I got better at software engineering through experience, I got more and more crapware maintenance work. That basically meant that unless I put in a lot of overtime, I didn't have time to learn anything new, and I really didn't care about anything beyond the paycheck.
Hell, even at MSFT my manager told me that because of MSFT's corporate belief that developers are interchangeable, we can't use F#.
SAP shouldn't be telling anyone about engineering until they figure out how to do it themselves
I think that's kind of the point. They'd rather hire people who will put in hours than get the job done. It's more profitable to hire cheap and largely incompetent sweatshop staff than it is to hire expensive but competent developers.
The reality is that competent developers would simply write the software and go home, then start again on the next project. The cheap dimwits that consulting firms prefer will put in hours and hours hacking away at crap, take FAR longer to get the job done, and deliver a maintenance nightmare that leads to lots more consulting work.
It's not hard to see why the industry in general, since it's dominated by big companies whose only obsession is billable hours, prefers the newbies.
According to the constitution, officers are NOT exempt from the requirement to respect citizen privacy. If an officer puts a camera on your property without a warrant, it's a crime, and by this action the supreme court is violating the constitution.
It's just one more nail in the coffin of the illusion of a free country.
These people unfortunately now comprise the majority of the developers in the industry... and people wonder why most software these days is bug-ridden, memory-hungry, and bloated. It's because most "programmers" learned a programming language, not programming, and certainly nothing like engineering.
"Of course, the problem is that he's trying to use lack of certainty as an excuse to to avoid taking any action, despite the fact that the science doesn't say anything at all about the best way to fix the issue (or indeed whether it needs fixing...)"
In reality the science says a lot about both.
However, most of the policies the scientific community recommends conflict with the interests of agribiz, oil, and bottled water industries.
As a result, those industries have dedicated a lot of money to obfuscating the messages that the scientific community is sending, and bribing policy makers into taking no action because any rational action they take would take money away from those industries.
So instead of doing something intelligent, we're knowingly destroying ourselves in the name of profit.
We should change the american mantra to reflect the truth:
It is government of the dollar, by the dollar, and for the dollar... and fuck the people and the world we live in.
You should realize that because you pointed out that the software you describe "works and works well" it's also very much in a minority.
"Bad software" isn't software that's built on a primitive platform and only does one thing (unless it does that one thing poorly, or crashes constantly, or something). Instead it refers to software that is simply buggy, nightmarish to maintain, extremely brittle, that sort of thing... much like most of today's software.
I don't know VB, but as far as I'm concerned if the application does what it's supposed to and is maintainable, then who cares what it's written in?
It's like iPhone photography... sure the camera in an iPhone is pretty basic, has a puny sensor, and a tiny lens, but there are people who've made great photos with iPhones.
"True, but photoshop isn't for the home market, the damned program costs as much or more than the computer it's running on. Most non-professionals using photoshop are using a pirate version. There's no need to spend $700 to edit the photos you shot with your cell phone."
It's far more likely that most non-professionals are using either the included software that came with their PC whether it's mac or windows based, or using Photoshop elements than that they're taking the extra trouble to pirate Photoshop.
"There is no real possibility of editing video.
Google says you're wrong."
That is a classic techie answer, based entirely on specs... you might want to try USING software before making inane claims about it. There are actually good reasons that most people doing video production use some combination of Premiere, AfterFX, Final Cut Pro, Media Composer, and Motion (which seems to be fading in favor of AfterFX).
Features is part of it, but there is quite a bit more involved than just a list of features.
I tried to use Linux at one point, and ran into this limitation... the only mature production software available for Linux right now is Blender, and that's only one part of the pipeline.
There is high-end production software available for Linux, but for the most part it's proprietary and/or expensive. (By expensive I mean $5k+.) Very few small production and visual effects shops even consider Linux as a result. Even if they could afford the software, they generally can't afford the staff.
A lot of Linux pundits cite the cost savings of Linux while also pointing out that you can customize it as much as you want, and in the process ignore the fact that you need to have staff to customize and support it.
As a result, most production and visual effects shops run Windows and/or OSX. Many do in fact run both, of course.
Some of the same OEMs that build a lot of hardware for Windows machines also build hardware for OSX. The problem isn't that the OEMs can't build quality hardware, the problem is that most of their market doesn't want to pay for it. Hence the level of quality varies widely throughout the market. At the low end you have cheap throwaway crap, and at the high end you have the AlienWares with the Porche designs as well as the MacBook Pros. Apple just stays out of the throwaway market.
Microsoft is realizing that there are some advantages to being fully vertically integrated, and they've probably been trying to hide their envy about Apple's ability to act like a monopoly as a result of it, even though Apple doesn't actually have a monopoly based on market definition.
"Are they perhaps trying to kill institutionalized education? If so, they're definitely on the right path."
I think they're just trying to kill of critical thinking. Start by removing things that people conceive of as "hard" and then gradually dumb them down from there...
If our government were even marginally competent, we'd have invested heavily in updating our antiquated electrical and telecom infrastructures. One immediate benefit of that would be creating jobs in order to actually do the work, but another longer-term benefit is higher efficiency in transporting electricity, since the current power lines lead around 30% of the power that they're transporting.
Instead of course we gave money away to one of the most useless industries in existence (financial), as a "punishment" for hosing the economy.
"Even many techies bought into the whole 64-bit hype when the only thing they really cared about was a larger addressable memory space, and that was already available through PAE."
Most of them still don't need the larger addressable memory space. To top it off, even on natively 64-bit platforms, most of the software available is 32-bit.
Now there is quite a bit of 64-bit software for x86, but it's still not because of memory requirements, it's because of the extra registers and SIMD instructions that aren't available in legacy x86 mode. These require 64-bit mode on x86, so we accept the memory overhead and associated bandwidth overhead because the additional registers, flat floating point register model, and new SIMD instructions far more than make up the difference, and the margin increases with every new processor generation.
"I'm hardly an expert on US matters, but I've always thought that this "disastrous approach" actually predates the Obama presidency, which is forced to cope with its results."
You're correct. Obama didn't cause the current problems, but he hasn't done much to help, either.
Romney getting elected would almost certainly push the country into a deep depression.
In my experience, the places with the most stringent coding standards have the worst code. The impression I get is that the standards were developed by programmers who couldn't program as a way of kissing ass, or by managers who thought that they knew something. At Expedia there's a style checker built into the build, so that you can't check anything in until the style checker stops complaining. The code I had inherited was, naturally, riddled with suppression directives and was basically spaghetti. Obviously the standards weren't accomplishing anything, because they don't enforce what needs to be enforced: code quality. It's the TSA approach: they provide the illusion of quality.
Aargh... "Let ALONE" brilliant. This iPad autocorrect is terrible.
If you don't live in America, you should be worried... Our short-sighted stupidity is ruining the planet for everyone, economically, politically, and ecologically.
Very few Americans are brilliant. And fewer still do anything of significance, let alpine brilliant. We're a nation that ostracizes the intellectuals, and rewards the imbeciles by giving them fake federal credentials and the authority to fuck with the lives or harmless citizens in the name of theatrical security.
If you still think that americans are brilliant, look at fox news, look at what the heartland institute spews, and look at how many americans vote for the same morons whose policies they complain about because the media told them to.
I see candidates from other parties on the ballots all the time. Obviously american'ts aren't intelligent enough to vote for someone other than who their favored media outlet tells them to vote for.
It's a way of ensuring that the children will never outshine their parents. Besides, history shows us that organized religion is one of the world's greatest evils. It's the organized religions of the world that have driven most of the greatest atrocities in human history, like the Holocaust, the Inquisition, and the Crusades. In reality, christian religion perpetuates a society in which evil is ok as long as you apologize to the magic man in the sky. When some missionaries came to my door and trid to convert me, they used the story of Abraham, in which god told Abraham to take sacrifice his son. I told them that this story proved that Abraham was an unworthy follower, and that god was a megalomaniac with a weak ego.
I've lost count of how many times I've joined a new company only to discover that the supposedly senior engineering staff and the technical leads appear to lack even a basic understanding of engineering, and even less of an understanding of quality. They usually are people who are good at spewing technobabble and throwing around names of complex algorithms... but they don't implement them, they just grab someone else's implementation and throw the terms around. They're definitely not top-tier folks. Even giving them credit as mid-tier is very extremely generous, based on the "quality" of their spaghetti. Er, code.
The company's demise was inevitable. It wasn't because of the union, it was because of the management.
Many of those laws have already been changed, and are continuing to change at the expense of of the slaves. I mean, employees.
Profit and politics pretty much ensure that things won't ever get done right in IT.
IT management get ahead by increasing the number of people reporting to them. The easiest way to do that is to mismanage things so that the team has to put in lots of overtime, push for logging that to prove that they're working overtime, and then start recruiting other people. The team grows, the manager gets a resume pad, and the product ends up being crap, on the off chance that it works.
So the manager's personal profit and politicking trump getting things done, ensuring that the death spiral of software quality at big companies will continue.
Yes, they're full of shit, but be that as it is you're still left with [un|under]employed techies. The world doesn't work according to what we feel is right or fair, and ageism in tech appears to be a very serious problem. So what do you do about this?
Follow Hollywood's example.
Ruby isn't the problem. It's the developers using it. The thing is that by being easy to work with, Ruby as well as java have lead to the demise of quality. Once you have a language so forgiving that even a moron can make something work(ish) with it, you're doomed to live with a morass of abysmal code. I worked at a startup once where we used a variety of languages on the back end, basically every team working on a service picked the language that they felt was the best fit for their service, and published a service interface. The front end developers were using Ruby on Rails. I was one of the latter. Things were actually going quite well, in spite of the fact that many of our teams got delayed by several months because the defective executives were too dumb to give the developers actual functional requirements, they thought that pictures were enough. A small team of rogue JUNIOR developers, none of whom had shipped a single working product in their lives, threw together a demo in Ruby on Rails and went to Daddy CTO (literally). Daddy CTO, unaware of the fact that his group of morons had done nothing more than take the code the rest of us had written and map it onto a faked back end (i.e. their demo didn't actually work as well as what the rest of us were working on), decided to go with their approach. Never mind that these morons had taken time off from meeting their own commitments, and in so doing had actually sabotaged several teams... but they'd put in massive numbers of hours not doing their jobs, so the execs put them in charge. The result? A non-functional web site. Except for the search page, because they couldn't find a Ruby replacement for Lucene. So our stuff worked fine, but little things like signing up for accounts didn't. This wasn't due to Ruby itself, but rather due to the fact that Ruby made their hackjob possible, and the management was swayed by their "effort and passion" rather than by the fact that their approach simply didn't work.
One thing that happens as one gets older is their bullshit tolerance goes down.
That applies in many ways. I found that as I got better at software engineering through experience, I got more and more crapware maintenance work. That basically meant that unless I put in a lot of overtime, I didn't have time to learn anything new, and I really didn't care about anything beyond the paycheck. Hell, even at MSFT my manager told me that because of MSFT's corporate belief that developers are interchangeable, we can't use F#.
SAP shouldn't be telling anyone about engineering until they figure out how to do it themselves
I think that's kind of the point. They'd rather hire people who will put in hours than get the job done. It's more profitable to hire cheap and largely incompetent sweatshop staff than it is to hire expensive but competent developers. The reality is that competent developers would simply write the software and go home, then start again on the next project. The cheap dimwits that consulting firms prefer will put in hours and hours hacking away at crap, take FAR longer to get the job done, and deliver a maintenance nightmare that leads to lots more consulting work. It's not hard to see why the industry in general, since it's dominated by big companies whose only obsession is billable hours, prefers the newbies.
According to the constitution, officers are NOT exempt from the requirement to respect citizen privacy. If an officer puts a camera on your property without a warrant, it's a crime, and by this action the supreme court is violating the constitution. It's just one more nail in the coffin of the illusion of a free country.
These people unfortunately now comprise the majority of the developers in the industry... and people wonder why most software these days is bug-ridden, memory-hungry, and bloated. It's because most "programmers" learned a programming language, not programming, and certainly nothing like engineering.
"Of course, the problem is that he's trying to use lack of certainty as an excuse to to avoid taking any action, despite the fact that the science doesn't say anything at all about the best way to fix the issue (or indeed whether it needs fixing...)" In reality the science says a lot about both. However, most of the policies the scientific community recommends conflict with the interests of agribiz, oil, and bottled water industries. As a result, those industries have dedicated a lot of money to obfuscating the messages that the scientific community is sending, and bribing policy makers into taking no action because any rational action they take would take money away from those industries. So instead of doing something intelligent, we're knowingly destroying ourselves in the name of profit. We should change the american mantra to reflect the truth: It is government of the dollar, by the dollar, and for the dollar... and fuck the people and the world we live in.
You should realize that because you pointed out that the software you describe "works and works well" it's also very much in a minority. "Bad software" isn't software that's built on a primitive platform and only does one thing (unless it does that one thing poorly, or crashes constantly, or something). Instead it refers to software that is simply buggy, nightmarish to maintain, extremely brittle, that sort of thing... much like most of today's software. I don't know VB, but as far as I'm concerned if the application does what it's supposed to and is maintainable, then who cares what it's written in? It's like iPhone photography... sure the camera in an iPhone is pretty basic, has a puny sensor, and a tiny lens, but there are people who've made great photos with iPhones.
"True, but photoshop isn't for the home market, the damned program costs as much or more than the computer it's running on. Most non-professionals using photoshop are using a pirate version. There's no need to spend $700 to edit the photos you shot with your cell phone." It's far more likely that most non-professionals are using either the included software that came with their PC whether it's mac or windows based, or using Photoshop elements than that they're taking the extra trouble to pirate Photoshop. "There is no real possibility of editing video. Google says you're wrong." That is a classic techie answer, based entirely on specs... you might want to try USING software before making inane claims about it. There are actually good reasons that most people doing video production use some combination of Premiere, AfterFX, Final Cut Pro, Media Composer, and Motion (which seems to be fading in favor of AfterFX). Features is part of it, but there is quite a bit more involved than just a list of features.
I tried to use Linux at one point, and ran into this limitation... the only mature production software available for Linux right now is Blender, and that's only one part of the pipeline. There is high-end production software available for Linux, but for the most part it's proprietary and/or expensive. (By expensive I mean $5k+.) Very few small production and visual effects shops even consider Linux as a result. Even if they could afford the software, they generally can't afford the staff. A lot of Linux pundits cite the cost savings of Linux while also pointing out that you can customize it as much as you want, and in the process ignore the fact that you need to have staff to customize and support it. As a result, most production and visual effects shops run Windows and/or OSX. Many do in fact run both, of course. Some of the same OEMs that build a lot of hardware for Windows machines also build hardware for OSX. The problem isn't that the OEMs can't build quality hardware, the problem is that most of their market doesn't want to pay for it. Hence the level of quality varies widely throughout the market. At the low end you have cheap throwaway crap, and at the high end you have the AlienWares with the Porche designs as well as the MacBook Pros. Apple just stays out of the throwaway market. Microsoft is realizing that there are some advantages to being fully vertically integrated, and they've probably been trying to hide their envy about Apple's ability to act like a monopoly as a result of it, even though Apple doesn't actually have a monopoly based on market definition.
"Are they perhaps trying to kill institutionalized education? If so, they're definitely on the right path." I think they're just trying to kill of critical thinking. Start by removing things that people conceive of as "hard" and then gradually dumb them down from there...
If our government were even marginally competent, we'd have invested heavily in updating our antiquated electrical and telecom infrastructures. One immediate benefit of that would be creating jobs in order to actually do the work, but another longer-term benefit is higher efficiency in transporting electricity, since the current power lines lead around 30% of the power that they're transporting. Instead of course we gave money away to one of the most useless industries in existence (financial), as a "punishment" for hosing the economy.
"Even many techies bought into the whole 64-bit hype when the only thing they really cared about was a larger addressable memory space, and that was already available through PAE." Most of them still don't need the larger addressable memory space. To top it off, even on natively 64-bit platforms, most of the software available is 32-bit. Now there is quite a bit of 64-bit software for x86, but it's still not because of memory requirements, it's because of the extra registers and SIMD instructions that aren't available in legacy x86 mode. These require 64-bit mode on x86, so we accept the memory overhead and associated bandwidth overhead because the additional registers, flat floating point register model, and new SIMD instructions far more than make up the difference, and the margin increases with every new processor generation.
So, you're saying that the explosive overpopulation of homo retardus is just a fork bomb?
"I'm hardly an expert on US matters, but I've always thought that this "disastrous approach" actually predates the Obama presidency, which is forced to cope with its results." You're correct. Obama didn't cause the current problems, but he hasn't done much to help, either. Romney getting elected would almost certainly push the country into a deep depression.
Politician is just a layman's term for "homo retardus" which has a symbiotic relationship to its voters, also known as "homo lobotomus."