One KNOWN, one not. The known word is not necessarily going to be OCR readable... you can seed the database with 100 or so images which are known, but maybe not OCR readable. Of course it works better if the known words are NOT OCR readable.
The point is OCR can have typos as well, so just because OCR returns a result doesn't mean it should be trusted. The known word of the two is likely independently analyzed, probably by a human.
Once enough people put the same answer for an unknown word, it becomes trustworthy. That is not easy to hack by making repeated requests with your OCR tool (which does not get GOOD results, but does get CONSISTENT results, therefore the same answer each time) and putting incorrect answers in the database - one of the millions of human users will likely get one of the words being attacked, and respond differently. So you will have several different answers and no clear winner, leaving it an unknown word.
An airplane builder had its proprietary metal reverse engineered by asian companies. They did a great job with security, so couldn't figure out how the metals got sampled. People can't just go scrape parts off a military airplane, especially when it's not built yet.
They gave tours and you couldn't take pictures, but you could see planes being built.
Turns out asians were using very soft-soled shoes. So while looking up and pointing, they pressed their feet down on metal filings, and when they drove away they had samples in their shoes, to be analyzed later.
We don't know what the impact is. Several security holes have been classified as "important" because it's only a DoS, then someone figures out how to exploit it, and all of a sudden it's "critical".
We don't have the source, so we can only trust them. They have a vested interest in making security problems look as innocuous as possible.
I spent 15 mins moderating, then got here and had to post. We can't trust someone with a history of getting it wrong, when that person won't show us proof.
"this isn't powerful enough for your main computer, and the keyboard and display are too small!!!"
Ever since processors hit 500mHz I've been telling people it doesn't matter what CPU you have, and you just need enough RAM for the OS (not minimal, but enough). It's plenty powerful for anything you want to throw at it.
Of course, then I looked at Nero, which was dumbed-down and rewritten in Molasses. And AVG rewritten in Pitch, with extra notifications windows and a little pop-up which helpfully summarizes whatever you're looking at, in case you happen to be... I don't know, woefully myopic to the point that you can't read the window you just clicked on. And Visual Studio which has to run a compiler every time you open a file. And it was then I realized you'll never win. It's never going to be fast enough after you apply all of the security updates.
I used to be able to watch individual controls get painted because file I/O had a high priority (and apparently even with far more RAM than necessary Windows likes to page things out). Now I have the same experience, only it's because of the applications being inefficient. Black-box object reuse abuse at its finest, like using IE rendering engine to run JavaScript to show a message box.
I'd say Sam's Club is right on the money. Next year that netbook won't run any new apps, so you better be planning on using what software you already have.
This is the internet. You can think before you start typing. No need to type "Um", which usually means "I'm about to say something". If you're using text to speech, you can edit out those extra filler words to make your post more clear.
Unless you used it in the "I can't believe all of you are so completely stupid" sense. In that case, you're right, nobody cares.
I disagree. How many times do laws get passed, and we start yelling "If you monitored your kids' behavior better they wouldn't do dumb crap like that"? Every time.
Your instructions are valid - educate them. If they say they are going to a party, and GPS say they tell the truth, you still have no idea what happened there. So you must educate them. I would not support this in-car camera as a general rule, but when they first start to drive it's a great idea. I was in the ER once when a teenager, someone's child, got rushed in and died. Because they were goofing off while driving. If they thought there was a chance of someone seeing them drive like that, they probably would still be alive. We can argue about privacy, but that child's parents would probably make the decision to put a camera in the car for the first few months of driving, to make them aware that OTHER PEOPLE CAN SEE YOU WHEN YOU DRIVE! Maybe no one will watch the tape, but someone will likely see the stupid shit they do - it can be parents, or police, or the back of another car.
With both parents often working, it's impossible to watch your kids the old fashioned way, so this is a good substitute. If anyone ever types something like "I can't believe his parents had no idea he was into guns", your argument goes out the window. Parents need to be aware, and it helps to be able to say "Behave yourself, I'll watch the tape later."
So then at some point you say "You've earned your independence, I'm turning it off." Just like you do with training wheels.
Teen Safe Driver providing the discount is different from the insurance company providing the discount. Especially if they are the same thing.
In this case, the insurance company is probably trying to field test the program and encourage people to sign up, so you tell select people at random they get a discount. So not everyone gets a discount you see. So on the FAQ page they say no, you don't get a discount. But if we select you to participate in a field test to calibrate and work out the bugs and get processes in place, we will give you a discount to help us.
"American Family does not have enough information at this point to provide an insurance discount to participants" means they are probably gathering information, by the above process.
Linux: Here's some code, have fun with it. MS: Ah OK, so we need to do this to make Hyper-V work Linux: Um, you're violating a license MS: Go away, we just want to make our stuff work Linux: Source code or (court case + source code)? MS: Oh fine, here you go Linux: Thanks. It's not good enough. MS: What? What are they talking about now? Linux: Not good enough, we fixed it for you. MS: Invalidating our test cases and documentation... Linux: So, when are you going to maintain this pile? MS: You took our code, changed it, and now expect *US* to troubleshoot and fix issues that people who aren't our customers find? Linux: Uhm, yeah, or we'll call you out on a blog. MS: FUCK YOU PEOPLE SIDEWAYS! NO ONE ANSWER THE PHONE!!! NO E_MAILS!!! NOTHING!!! THEY'LL GET NOTHING!!!!!!!!!!!
1) Google to find pages which are helpful. Half the time they just say "Have you checked here?" with a link at microsoft's site. 2) Visit the link, opps page not found. 3) Google the title of the page, or a quote of the page, using "site:microsoft.com" qualifier. 4) If that doesn't work, Google "link:" and the URL to find pages linked to it, which might have portions of the text 5) If no luck still, repeat search #1 using "site:microsoft.com" and blunder through piles of social.microsoft.com crap 6) End up disassembling the binary and solving my own problem
Might I point out that for example I asked a question about an issue I was having with ASP.NET - they told me to go post it at the official ASP.NET site. Considering my question was more about the.NET runtime (CLR) than about ASP, Microsoft's references should have been sufficient, yes? Also considering my post was a clarification of the sparse documentation found at MSDN, this made no sense. As an aside, all of the.NET documentation I have seen could have been produced by doxygen, assuming they properly commented all of the function arguments, so good luck getting much more than what Auto-Complete ("Intellisense" or whatever they branded it) would say.
As soon as one group gets assigned as "the website group", now you have a bunch of people telling everyone else how to present their information to their customers. A middleman who will be resented for requiring changes to the documents, an SLA which says updates won't go out immediately unless something is broken, removal of direct access to the production environment, new change control procedures which usually require a lot more documentation and busywork, inevitable meetings to gain approval do to changes, and in general someone telling your group what to do.
No group likes that, especially when you can make a case that the enterprise standards are making it difficult to reach and/or serve your customers the way the application does. The Silverlight team probably wants a lot of interaction highlighting various "cool" features of their site, Office wants a ribbon bar, Windows wants more marketing flash, MSDN wants to appear more thoughtful while retaining features from a.hlp file...
Microsoft is a huge company. There's no way they will be consistent. I propose that this be considered and the study done again. Apple will still win because MS has no idea how to make anything usable, but I want more reasons than just inconsistency. When Apple has a huge marketshare of office suites, database servers, content management, decade-long OS support documentation, a gaming console, sprawling R&D, and unfathomable FUD all of which need content delivered in a branded sort of way, maybe we'll see how it's supposed to be done.
Can the XBOX pages really be consistent with Office and Windows sections? Did this guy even think about what he was comparing?
Lots of people want DRM that works. the people coming up with these ideas have to understand it's futile, but a paying customer who doesn't understand how it works is the best kind of customer you can have. IEEE has copyright over specs and you have to pay to read the standard (or subscribe, or whatever you do). So it's just another product - let the buyer beware.
Lots of people don't like the way laws are written, comparing it to software development is not a good way to try to draw attention to that. Evolving from simple to complex is already what laws do, assuming you're looking at the entire USC at once. The problem is, there's no way you can pass part of a law, and then do another part and still have the same political support.
Large-scale legislation change is the only way to accomplish a big legislative change - it's like a coherent patch set that doesn't break the build. If you don't do it that way, you'll end up with a patchwork quilt, where language and intent of each part gets changed as the committee chairs score political points and parts become a political liability. In your analogy, it would be letting different teams write different parts of the design at different times, and with feedback from the audience of the Jerry Springer show, and then hoping everything fits. It won't.
Now, in your reply here you're saying "systems architecture", which actually makes (slightly) more sense than actual software. The result is a design document, or in this case a complete architecture specification, and people have to figure out how to follow the law when living just as they have to figure out how to follow the design when coding. So the changes made to the daily lives of citizens would be the software, and the law is the design. Of course as we all know, not everything works as designed.
Your analysis basically boils down to: people make the same mistakes in different fields. Design problems which plague software development plague design in other fields. The biggest problem I see, which you did not address, is: what if your coding team were decided by popularity contest instead of based on ability? You'd have the current system where jargon is supposed to be precise but ends up confusing, and changes don't propagate everywhere they should so you end up with conflicting definitions or directives. It's not that software is similar, it's that people just work that way no matter the field.
We will never pass laws in small parts due to political issues. We will never avoid jargon because words are chosen for their legal meanings, not their natural language denotation. We will never give the full text of a section when making a change because it's a "diff", so we have websites where people post the effective proposed new law text based on the diff. We will never explain the intent of a law change because people in power don't like doing things in broad daylight - even if there's nothing shady about it.
So I have to conclude that analyzing legislation as software development is an ill-conceived and ill-fitting analogy. Based on the thoughtful feedback you've received, I'd say you might want to re-think this.
Since you alredy started, here's my tagalong (addressed to the article author):
Every time you write "By contrast" you're showing us how your thinking is wrong.
You're not putting something into place without a "test-run". These things are hashed out at multiple stages before being voted on by the house or senate.
"complex, obscure, jargon-laden English" is there for a purpose, they are (supposed to be) using legal terms in a legal document, where every word is precisely defined and chosen so that usage matches all of the other laws and court documents. That's why we have a legal profession - legal English is not everyday English.
"Spaghetti coding" is a special case of jargon, where you simply reference something alredy written so you don't have to repeat yourself and risk having a mismatched redefinition. It's the same as macro expansion if you want to stick with the software idea.
So at best, congratulations for discovering how a Bill becomes a Law. It's messy, ain't it? And no, they aren't going to use multiple bills to do this - it's all or nothing because one side wants one set of changes and another side wants different changes. You don't fight this out multiple time, potentially coming up with conflicting rules. You wouldn't commit a partial change which breaks the build and then hope the other team can fix the build without reverting your changes would you?
Too bad I have to be logged in to make comments - it makes correcting people on the internet that much more difficult if I have to get an account for every blog out there.
If I were hiring, I would want to give people a test. If I were applying, I would not want to take a test. Here's a better way - have them tell you what a small snippet of code does, and then regardless of what they answer, ask them to rewiite it, or clean it up, or add a feature or something. That shows they can read code, which is important for a new hire. Peer code reviews are not effective if someone can't understand code that someone else wrote. Seeing their rewrite shows you their biases. Do they make a bunch of unnecessary classes? Or to they turn OOP into GW-Basic? Efficient or ridiculous variable names?
The only thing tests show you is who is good at tests. Someone who refuses could simply see the folly of testing someone. I know my first thought is, great now I have to remember something obscure that someone else thinks is important but I have never had the need to memorize. If you do have a test of some sort, you have to realize that a wrong answer doesn't mean they fail - all it does is show that what you expect doesn't match what they know.
And lots of people can learn very quickly. Technology changes quickly, you don't even want someone who knows everything there is to know about Win32 API, because it was replaced with OWL and MFC and JAVA and.NET and Qt/GTK. So you ask your programmer about Win32 and they goof because it's poorly documented to the point that if you don't have Win32.hlp you'll fail almost anything. And most people have template code they use to get started anyway - you don't sit down and write WinMain() from scratch every time. Or at least if you do, you don't deserve a job.
The problem I have with tests stems from the difficulty of knowing what to ask. You don't want to ask simple things that an IDE would auto-complete for you - that's why we have auto-complete. also why we have reference pages bookmarked. Someone's going to argue that you save time when you don't have to look something up. But the large libraries we have today are impossible to memorize, especially the little nuances where you have to remember whether a function returns true for error or false. Much better to check things periodically. I still re-read my assembly language books from time to time, just to remind myself of all the little details that get forgotten.
You don't want to ask an obscure, picky question that someone wouldn't have experience with, and run the risk of running someone off.
When I take a test, it shows me more about the person asking than it shows them about me.
Good parents would do well with this, poor parents terribly. If only there were a way to decide who gets to do this.... but then who gets to decide? We can't, that's who.
I've taught before, I know there are both kinds of parents out there. If you're pessimistic about this you probably had the bad parents, optimistic you probably had the good ones.
Think of how the kid feels - learning what's needed and being interested in what's being learned. The only fear I have is that lots of kids are forced to take certain classes, learn that they actually like it, and have a happy and successful career. We just need a guarantee that the students will be exposed to more than just their interests, and then I won't have a problem with this.
Probably doesn't matter, since the video gets encoded, not the 3D. Current technology could generate a picture from over/under or side by side frames, (1080P, normally 1920x1080, would actually be two images @ 1920x540 or 960x1080 and the images stretched to fit). With a few tweaks it could take interleaved video (1920x1080 3D would mean one frame is 1920x2160 and split as above, only this time not requiring stretching).
I don't see a need for a standard as long as it's not obfuscated in some way - the logic can take care of it.
Of course, side-by-side (with the left eye image on the right) would allow either cross-eyed viewing or translation to a 3D display. Lower res, more use cases. Interleaved or over/under would require split-screen (or discarding one eye to make it 2D).
http://www.iz3d.com/ is glasses-based, but it's polarized light instead of shutters. I think motion sickness is a bigger risk with shuttered glasses. Polarized light looks better, feels better, and costs $300.
Still costs money to defend, and time. And for a publicly traded company, stock prices can suffer since people don't want to invest heavily in such a wildcard. Patent cases can seem to be rather arbitrarily decided at times, so easier to put your money somewhere else until the case is decided.
I'm betting most Windows stuff goes through middlemen - think outsourcing companies like HP, IBM, EDS, and smaller. You pay the company to purchase, install, configure, and babysit, and Microsoft gets the money, without it being tracked.
You'd probably want to see how much was spent on operating systems, if they have it broken down to those type of purchase. Sadly it looks like no.
I bought a PS2 with the intent of purchasing $20 games. If I can't find them (out of print or not sold here or whatever), I'll just download them. I intend to give them my money, but if they make it impossible to do that I won't do it.
Of course, that probably means I'll stop buying console stuff and move back to computers. I feel better about giving hardware mfrs my money anyway, even though PC gaming is a constant upgrade treadmill.
Ever higher game prices are only shooting yourself in the foot.
Forget the opposite. What if they reduced their marketing expenses and sold games cheaper?
You need to advertise games to get the initial customer base. At some point, however, you have to spend a lot of money convincing people to spend $60 for a game. 3x marketing means the game would be $15, except that they had to spend $45 convincing you to buy it.
First-round releases could be $60, because you have to get the word out there and generate console sales and initial game purchases. But then spend less on marketing and let the consumers browse available titles. I'm positive you'll see more money spend in increments of $15 than $60. If I have $150 available, I could buy 2 games at $60, for $120 spent... or 10 games at $15 for complete $150 spent. Plus more likely to have a splurge purchase while out looking at other things.
Surely Sony has figured out the only games I buy are the $20 classics. In fact that's why I bought myself a PS2 last Christmas. Also why I won't be upgrading to a HD console soon. And, I don't buy a game because of marketing - just based on other people saying it's awesome and must-play. So I am trying to save them money and subtracting the cost of advertising that I never see from the prices - seems to work out for me, why can't it work for everyone?
PS - at $15 games would be cheaper than CDs. So discretionary spending could migrate from audio to gaming, and music purchases go down and a new round of "music losing billions through piracy" stories can get started again, fun times for all.
Post post script - I just saw an advert - buy furniture and get a free LCD tv. The more you spend, the bigger tv you get. Marketing likely thought htat up, but in my head I hear "Our furniture is so overpriced you can't afford to buy both furniture and a TV". People like free, I know that, and marketing knows that. But I don't want a bundle. I don't want to pay $5 to rent a movie for 5 days - I only need one night. Two or three hours in fact. Marketing expenses should die, but that's just me being biased and a thoughtful consumer.
One KNOWN, one not. The known word is not necessarily going to be OCR readable... you can seed the database with 100 or so images which are known, but maybe not OCR readable. Of course it works better if the known words are NOT OCR readable.
The point is OCR can have typos as well, so just because OCR returns a result doesn't mean it should be trusted. The known word of the two is likely independently analyzed, probably by a human.
Once enough people put the same answer for an unknown word, it becomes trustworthy. That is not easy to hack by making repeated requests with your OCR tool (which does not get GOOD results, but does get CONSISTENT results, therefore the same answer each time) and putting incorrect answers in the database - one of the millions of human users will likely get one of the words being attacked, and respond differently. So you will have several different answers and no clear winner, leaving it an unknown word.
An airplane builder had its proprietary metal reverse engineered by asian companies. They did a great job with security, so couldn't figure out how the metals got sampled. People can't just go scrape parts off a military airplane, especially when it's not built yet.
They gave tours and you couldn't take pictures, but you could see planes being built.
Turns out asians were using very soft-soled shoes. So while looking up and pointing, they pressed their feet down on metal filings, and when they drove away they had samples in their shoes, to be analyzed later.
Sneaky bastards work in corporate espionage.
If your child has heart problems, the device will alert staff. Or, they could be like this guy and be on trial for manslaughter.
http://www.wkyt.com/home/headlines/57036257.html
Lots of others like him too. They probably just want to avoid lawsuits.
We don't know what the impact is. Several security holes have been classified as "important" because it's only a DoS, then someone figures out how to exploit it, and all of a sudden it's "critical".
We don't have the source, so we can only trust them. They have a vested interest in making security problems look as innocuous as possible.
I spent 15 mins moderating, then got here and had to post. We can't trust someone with a history of getting it wrong, when that person won't show us proof.
One flaw reclassified (read the first comment):
http://voices.washingtonpost.com/securityfix/2005/11/exploit_for_unpatched_ie_flaw_1.html
Outlook DoS reclassified as remote code execution:
http://www.computerweekly.com/Articles/2004/03/15/201044/ms-outlook-hole-is-more-serious-than-first-thought.htm
Ever since processors hit 500mHz I've been telling people it doesn't matter what CPU you have, and you just need enough RAM for the OS (not minimal, but enough). It's plenty powerful for anything you want to throw at it.
Of course, then I looked at Nero, which was dumbed-down and rewritten in Molasses. And AVG rewritten in Pitch, with extra notifications windows and a little pop-up which helpfully summarizes whatever you're looking at, in case you happen to be... I don't know, woefully myopic to the point that you can't read the window you just clicked on. And Visual Studio which has to run a compiler every time you open a file. And it was then I realized you'll never win. It's never going to be fast enough after you apply all of the security updates.
I used to be able to watch individual controls get painted because file I/O had a high priority (and apparently even with far more RAM than necessary Windows likes to page things out). Now I have the same experience, only it's because of the applications being inefficient. Black-box object reuse abuse at its finest, like using IE rendering engine to run JavaScript to show a message box.
I'd say Sam's Club is right on the money. Next year that netbook won't run any new apps, so you better be planning on using what software you already have.
This is the internet. You can think before you start typing. No need to type "Um", which usually means "I'm about to say something". If you're using text to speech, you can edit out those extra filler words to make your post more clear.
Unless you used it in the "I can't believe all of you are so completely stupid" sense. In that case, you're right, nobody cares.
I disagree. How many times do laws get passed, and we start yelling "If you monitored your kids' behavior better they wouldn't do dumb crap like that"? Every time.
Your instructions are valid - educate them. If they say they are going to a party, and GPS say they tell the truth, you still have no idea what happened there. So you must educate them. I would not support this in-car camera as a general rule, but when they first start to drive it's a great idea. I was in the ER once when a teenager, someone's child, got rushed in and died. Because they were goofing off while driving. If they thought there was a chance of someone seeing them drive like that, they probably would still be alive. We can argue about privacy, but that child's parents would probably make the decision to put a camera in the car for the first few months of driving, to make them aware that OTHER PEOPLE CAN SEE YOU WHEN YOU DRIVE! Maybe no one will watch the tape, but someone will likely see the stupid shit they do - it can be parents, or police, or the back of another car.
With both parents often working, it's impossible to watch your kids the old fashioned way, so this is a good substitute. If anyone ever types something like "I can't believe his parents had no idea he was into guns", your argument goes out the window. Parents need to be aware, and it helps to be able to say "Behave yourself, I'll watch the tape later."
So then at some point you say "You've earned your independence, I'm turning it off." Just like you do with training wheels.
Teen Safe Driver providing the discount is different from the insurance company providing the discount. Especially if they are the same thing.
In this case, the insurance company is probably trying to field test the program and encourage people to sign up, so you tell select people at random they get a discount. So not everyone gets a discount you see. So on the FAQ page they say no, you don't get a discount. But if we select you to participate in a field test to calibrate and work out the bugs and get processes in place, we will give you a discount to help us.
"American Family does not have enough information at this point to provide an insurance discount to participants" means they are probably gathering information, by the above process.
That is the weirdest mix of English and Englicsh syntax I've ever seen.
Linux: Here's some code, have fun with it.
MS: Ah OK, so we need to do this to make Hyper-V work
Linux: Um, you're violating a license
MS: Go away, we just want to make our stuff work
Linux: Source code or (court case + source code)?
MS: Oh fine, here you go
Linux: Thanks. It's not good enough.
MS: What? What are they talking about now?
Linux: Not good enough, we fixed it for you.
MS: Invalidating our test cases and documentation...
Linux: So, when are you going to maintain this pile?
MS: You took our code, changed it, and now expect *US* to troubleshoot and fix issues that people who aren't our customers find?
Linux: Uhm, yeah, or we'll call you out on a blog.
MS: FUCK YOU PEOPLE SIDEWAYS! NO ONE ANSWER THE PHONE!!! NO E_MAILS!!! NOTHING!!! THEY'LL GET NOTHING!!!!!!!!!!!
I usually find things this way:
1) Google to find pages which are helpful. Half the time they just say "Have you checked here?" with a link at microsoft's site.
2) Visit the link, opps page not found.
3) Google the title of the page, or a quote of the page, using "site:microsoft.com" qualifier.
4) If that doesn't work, Google "link:" and the URL to find pages linked to it, which might have portions of the text
5) If no luck still, repeat search #1 using "site:microsoft.com" and blunder through piles of social.microsoft.com crap
6) End up disassembling the binary and solving my own problem
Might I point out that for example I asked a question about an issue I was having with ASP.NET - they told me to go post it at the official ASP.NET site. Considering my question was more about the .NET runtime (CLR) than about ASP, Microsoft's references should have been sufficient, yes? Also considering my post was a clarification of the sparse documentation found at MSDN, this made no sense. As an aside, all of the .NET documentation I have seen could have been produced by doxygen, assuming they properly commented all of the function arguments, so good luck getting much more than what Auto-Complete ("Intellisense" or whatever they branded it) would say.
As soon as one group gets assigned as "the website group", now you have a bunch of people telling everyone else how to present their information to their customers. A middleman who will be resented for requiring changes to the documents, an SLA which says updates won't go out immediately unless something is broken, removal of direct access to the production environment, new change control procedures which usually require a lot more documentation and busywork, inevitable meetings to gain approval do to changes, and in general someone telling your group what to do.
No group likes that, especially when you can make a case that the enterprise standards are making it difficult to reach and/or serve your customers the way the application does. The Silverlight team probably wants a lot of interaction highlighting various "cool" features of their site, Office wants a ribbon bar, Windows wants more marketing flash, MSDN wants to appear more thoughtful while retaining features from a .hlp file...
Microsoft is a huge company. There's no way they will be consistent. I propose that this be considered and the study done again. Apple will still win because MS has no idea how to make anything usable, but I want more reasons than just inconsistency. When Apple has a huge marketshare of office suites, database servers, content management, decade-long OS support documentation, a gaming console, sprawling R&D, and unfathomable FUD all of which need content delivered in a branded sort of way, maybe we'll see how it's supposed to be done.
Can the XBOX pages really be consistent with Office and Windows sections? Did this guy even think about what he was comparing?
Because there's a market.
Lots of people want DRM that works. the people coming up with these ideas have to understand it's futile, but a paying customer who doesn't understand how it works is the best kind of customer you can have. IEEE has copyright over specs and you have to pay to read the standard (or subscribe, or whatever you do). So it's just another product - let the buyer beware.
In addition to my points here http://slashdot.org/comments.pl?sid=1360701&cid=29350549 I'll add this.
Lots of people don't like the way laws are written, comparing it to software development is not a good way to try to draw attention to that. Evolving from simple to complex is already what laws do, assuming you're looking at the entire USC at once. The problem is, there's no way you can pass part of a law, and then do another part and still have the same political support.
Large-scale legislation change is the only way to accomplish a big legislative change - it's like a coherent patch set that doesn't break the build. If you don't do it that way, you'll end up with a patchwork quilt, where language and intent of each part gets changed as the committee chairs score political points and parts become a political liability. In your analogy, it would be letting different teams write different parts of the design at different times, and with feedback from the audience of the Jerry Springer show, and then hoping everything fits. It won't.
Now, in your reply here you're saying "systems architecture", which actually makes (slightly) more sense than actual software. The result is a design document, or in this case a complete architecture specification, and people have to figure out how to follow the law when living just as they have to figure out how to follow the design when coding. So the changes made to the daily lives of citizens would be the software, and the law is the design. Of course as we all know, not everything works as designed.
Your analysis basically boils down to: people make the same mistakes in different fields. Design problems which plague software development plague design in other fields. The biggest problem I see, which you did not address, is: what if your coding team were decided by popularity contest instead of based on ability? You'd have the current system where jargon is supposed to be precise but ends up confusing, and changes don't propagate everywhere they should so you end up with conflicting definitions or directives. It's not that software is similar, it's that people just work that way no matter the field.
We will never pass laws in small parts due to political issues. We will never avoid jargon because words are chosen for their legal meanings, not their natural language denotation. We will never give the full text of a section when making a change because it's a "diff", so we have websites where people post the effective proposed new law text based on the diff. We will never explain the intent of a law change because people in power don't like doing things in broad daylight - even if there's nothing shady about it.
So I have to conclude that analyzing legislation as software development is an ill-conceived and ill-fitting analogy. Based on the thoughtful feedback you've received, I'd say you might want to re-think this.
Since you alredy started, here's my tagalong (addressed to the article author):
Every time you write "By contrast" you're showing us how your thinking is wrong.
You're not putting something into place without a "test-run". These things are hashed out at multiple stages before being voted on by the house or senate.
"complex, obscure, jargon-laden English" is there for a purpose, they are (supposed to be) using legal terms in a legal document, where every word is precisely defined and chosen so that usage matches all of the other laws and court documents. That's why we have a legal profession - legal English is not everyday English.
"Spaghetti coding" is a special case of jargon, where you simply reference something alredy written so you don't have to repeat yourself and risk having a mismatched redefinition. It's the same as macro expansion if you want to stick with the software idea.
So at best, congratulations for discovering how a Bill becomes a Law. It's messy, ain't it? And no, they aren't going to use multiple bills to do this - it's all or nothing because one side wants one set of changes and another side wants different changes. You don't fight this out multiple time, potentially coming up with conflicting rules. You wouldn't commit a partial change which breaks the build and then hope the other team can fix the build without reverting your changes would you?
Too bad I have to be logged in to make comments - it makes correcting people on the internet that much more difficult if I have to get an account for every blog out there.
If I were hiring, I would want to give people a test. If I were applying, I would not want to take a test. Here's a better way - have them tell you what a small snippet of code does, and then regardless of what they answer, ask them to rewiite it, or clean it up, or add a feature or something. That shows they can read code, which is important for a new hire. Peer code reviews are not effective if someone can't understand code that someone else wrote. Seeing their rewrite shows you their biases. Do they make a bunch of unnecessary classes? Or to they turn OOP into GW-Basic? Efficient or ridiculous variable names?
The only thing tests show you is who is good at tests. Someone who refuses could simply see the folly of testing someone. I know my first thought is, great now I have to remember something obscure that someone else thinks is important but I have never had the need to memorize. If you do have a test of some sort, you have to realize that a wrong answer doesn't mean they fail - all it does is show that what you expect doesn't match what they know.
And lots of people can learn very quickly. Technology changes quickly, you don't even want someone who knows everything there is to know about Win32 API, because it was replaced with OWL and MFC and JAVA and .NET and Qt/GTK. So you ask your programmer about Win32 and they goof because it's poorly documented to the point that if you don't have Win32.hlp you'll fail almost anything. And most people have template code they use to get started anyway - you don't sit down and write WinMain() from scratch every time. Or at least if you do, you don't deserve a job.
The problem I have with tests stems from the difficulty of knowing what to ask. You don't want to ask simple things that an IDE would auto-complete for you - that's why we have auto-complete. also why we have reference pages bookmarked. Someone's going to argue that you save time when you don't have to look something up. But the large libraries we have today are impossible to memorize, especially the little nuances where you have to remember whether a function returns true for error or false. Much better to check things periodically. I still re-read my assembly language books from time to time, just to remind myself of all the little details that get forgotten.
You don't want to ask an obscure, picky question that someone wouldn't have experience with, and run the risk of running someone off.
When I take a test, it shows me more about the person asking than it shows them about me.
Good parents would do well with this, poor parents terribly. If only there were a way to decide who gets to do this.... but then who gets to decide? We can't, that's who.
I've taught before, I know there are both kinds of parents out there. If you're pessimistic about this you probably had the bad parents, optimistic you probably had the good ones.
Think of how the kid feels - learning what's needed and being interested in what's being learned. The only fear I have is that lots of kids are forced to take certain classes, learn that they actually like it, and have a happy and successful career. We just need a guarantee that the students will be exposed to more than just their interests, and then I won't have a problem with this.
Probably doesn't matter, since the video gets encoded, not the 3D. Current technology could generate a picture from over/under or side by side frames, (1080P, normally 1920x1080, would actually be two images @ 1920x540 or 960x1080 and the images stretched to fit). With a few tweaks it could take interleaved video (1920x1080 3D would mean one frame is 1920x2160 and split as above, only this time not requiring stretching).
I don't see a need for a standard as long as it's not obfuscated in some way - the logic can take care of it.
Of course, side-by-side (with the left eye image on the right) would allow either cross-eyed viewing or translation to a 3D display. Lower res, more use cases. Interleaved or over/under would require split-screen (or discarding one eye to make it 2D).
http://www.iz3d.com/ is glasses-based, but it's polarized light instead of shutters. I think motion sickness is a bigger risk with shuttered glasses. Polarized light looks better, feels better, and costs $300.
I want one of these :)
Still costs money to defend, and time. And for a publicly traded company, stock prices can suffer since people don't want to invest heavily in such a wildcard. Patent cases can seem to be rather arbitrarily decided at times, so easier to put your money somewhere else until the case is decided.
I'm betting most Windows stuff goes through middlemen - think outsourcing companies like HP, IBM, EDS, and smaller. You pay the company to purchase, install, configure, and babysit, and Microsoft gets the money, without it being tracked.
You'd probably want to see how much was spent on operating systems, if they have it broken down to those type of purchase. Sadly it looks like no.
I haven't either, but I'm assuming it's more like I didn't get the contract so I'll criticise the guy who did. Which is why I won't read it.
Most people here haven't read the book to be able to comment on the review? Just a guess.
Of course, this is slashdot, so I'm surprised he hasn't been "corrected" a number of times already regardless.
I bought a PS2 with the intent of purchasing $20 games. If I can't find them (out of print or not sold here or whatever), I'll just download them. I intend to give them my money, but if they make it impossible to do that I won't do it.
Of course, that probably means I'll stop buying console stuff and move back to computers. I feel better about giving hardware mfrs my money anyway, even though PC gaming is a constant upgrade treadmill.
Ever higher game prices are only shooting yourself in the foot.
Forget the opposite. What if they reduced their marketing expenses and sold games cheaper?
You need to advertise games to get the initial customer base. At some point, however, you have to spend a lot of money convincing people to spend $60 for a game. 3x marketing means the game would be $15, except that they had to spend $45 convincing you to buy it.
First-round releases could be $60, because you have to get the word out there and generate console sales and initial game purchases. But then spend less on marketing and let the consumers browse available titles. I'm positive you'll see more money spend in increments of $15 than $60. If I have $150 available, I could buy 2 games at $60, for $120 spent... or 10 games at $15 for complete $150 spent. Plus more likely to have a splurge purchase while out looking at other things.
Surely Sony has figured out the only games I buy are the $20 classics. In fact that's why I bought myself a PS2 last Christmas. Also why I won't be upgrading to a HD console soon. And, I don't buy a game because of marketing - just based on other people saying it's awesome and must-play. So I am trying to save them money and subtracting the cost of advertising that I never see from the prices - seems to work out for me, why can't it work for everyone?
PS - at $15 games would be cheaper than CDs. So discretionary spending could migrate from audio to gaming, and music purchases go down and a new round of "music losing billions through piracy" stories can get started again, fun times for all.
Post post script - I just saw an advert - buy furniture and get a free LCD tv. The more you spend, the bigger tv you get. Marketing likely thought htat up, but in my head I hear "Our furniture is so overpriced you can't afford to buy both furniture and a TV". People like free, I know that, and marketing knows that. But I don't want a bundle. I don't want to pay $5 to rent a movie for 5 days - I only need one night. Two or three hours in fact. Marketing expenses should die, but that's just me being biased and a thoughtful consumer.