Is it more intuitive to jot something down that even you yourself can barely read and that is poorly recognized by the PC than it is to simply type something that everybody can understand? Is it any faster? (The answer to that is clearly no; you can test that yourself.)
Having switched a year ago from a Grafitti-based Palm to a keyboard-based one (the Treo 650), I firmly believe the keyboard is worse. I suspect raw character entry speed is about the same for me, but now I have to switch back and forth between the keyboard and the stylus all the goddamn time. It's awkward in a way that pure pen-based work never was.
I think the reason people buy the keyboard more is that it's more obvious how to work it. I doubt it's faster to get proficient at the keyboard, but any fool can see where the buttons are.
I think you have some reasonable points, but I disagree on this one:
When they say: "The code is better because more eyeballs see it" is also crap, because not that many eyeballs see it, much less understand it.
However many eyeballs see it, it's generally a lot more than corporate projects. A lot of corporate shops partition the work so only one person really works with a particular chunk of code. Even in more team-oriented places, you rarely get the kind of review that is pretty much required through open source, where code is the primary means of communication.
With open source, the code has to stand on its own much more than with closed projects. Even if nobody ever looks at your particular contributions, you are still putting it out there for all the world to see. For me, at least, that makes me more careful.
Open Source has strong merits, but to suggest that Corporate Software is akin to someone hacking out sphagetti code in their basement is just nonsense.
As a developer and consultant who has seen the inside of dozens of corporate projects in 15 years of development, I can promise you that this is not nonsense at all.
The typical life-cycle: Commercial pressure and scheduling optimism leads to too-short schedules, but internal politics prevent feature cuts. The difference is made up in sustainability: code quality is lowered, new features are hacked in, and people get tired and burnt out. Managers promise that they'll have time to fix things "later", but later never comes, as the next release is already behind schedule. Eventually, productivity collapses and The Great Rewrite happens, starting the cycle anew. If they can stay in business that long, that is.
Successful open-source projects are necessarily different. The focus on quality and sustainability is primary, because people otherwise find something amore fun to do. Hitting a fixed release date with a list of features promised by some clue-deficient marketroid is generally not a factor, because people don't do that for free. Most of the great ones won't even do it for money, which is why so many corporate shops are seas of mediocrity.
Seriously. I honestly checked to make sure that April first is still a month away. I thought SCO couldn't get more evil, but they've managed. And not by inches, either; helping MLM fuckheads is worse than enabling penis-pill spammers.
The only way justice could be done is if they all catch some new, unholy cross between syphilis and ebola.
An optical reader will reject any ballots where you vote >1 in a single race when you try to hand in the ballot.
One especially nice feature of this system is that if you fail to vote in any race, the machine will warn you before accepting the ballot, and the operator will make really sure that you intentionally skipped voting when you could have. So not only does it reject overvotes, but it verifies undervotes.
A whistleblower takes his knowledge and does not go public with it. [...] Had he contacted any one of a dozen agencies to handle the complaint, he'd be in no legal trouble.
Perhaps we need better laws.
I agree that it's better to go through channels, but when there's a big problem there's a lot to be said for going straight to the top. And that's us, the citizens.
It's not meant to be read through like a piece of fiction. Design Pattern books are more of a quick reference guide than a gripping narrative.
I completely agree. Patterns books are like parts catalogs. When you first get one, you leaf through it, reading about items that happen to interest you. When you actually need to get something done, you grab it again and hunt for the items that apply to your situation.
This review is another fine reminder that if I see somebody do something that seems completely ridiculous, it only proves that one of us has missed something basic, not which of us.
If you've got one of those tight budgets, you could even ship yourself off to India. It'd be cheaper to live there, so you could even take a voluntary pay cut!
Speaking as an American consultant who is in Bangalore trying to save an at-risk project, I think that's the way to go.
Email and phone lines are ridiculously low bandwidth compared with being in the same room eight hours a day. To make good software, you need the developers in the same place as the people who know what needs to get made. I don't care whether that's in New York, Bulgaria, Bangalore, or Alabama, but it has to happen.
Collaboration only works when everyone is willing to work. Otherwise you get people who are lazy, stupid, and would much rather ask you instead of figuring it out for themselves.
You get what you reward. If you have lazy people bothering you, only answer them with questions. E.g., "Have you looked into X?" "What did a Google search on that error message turn up?" "What have you done so far?"
Also, remember that their problems are not automatically your problem, and certainly not your problem right now. When a lazy person bugs you, try saying, "I'm busy right now. Could we discuss that tomorrow morning?"
How do you know that Google will always do this for reasons you agree with?
Why would I need to?
Never forget that when Google started, everybody thought the search business was stable, and an uninteresting area for innovation. If Google starts to suck, or if somebody outdoes them significantly, I'll switch immediately. And you will, too.
But you don't think it's dangerous that a site that has a de-facto monopoly on searches is doing this?
You mean their shocking, world-gripping monopoly where they have 36.5% of all search traffic and switching is as easy as typing a slightly different URL into your browser?
I agree that we should keep an eye on them, but your unjustified alarmism is ridiculous.
No, it is NOT fraud to display different kinds of content to different site visitors, and I hope it never will be. And if it were fraud, it would be a matter for the police, not Google's page rank algorithm.
You misunderstand how a democracy works. We are the sovereign. Police are our agents for things we have failed to resolve amongst ourselves.
Google isn't stopping BMW from attempting to deceive. But Google is refusing to be deceived. Google has no more obligation to be suckered by search engine spam than you do to read all your email spam.
I found Mining the Web useful. It's written by academics, so you'll have to put in a little brain work translating it into implementable patterns, but it gave me a good jump start when I took on a new client that does a lot of crawling and searching.
THere is no silver bullet for what you describe other than sound development practices. The best results in this area are acheived by teams who are constantly refining their processes based on lessons learned in previous software iterations.
Bulletproof code isn't cheap, but it can be done.
This is the most insightful comment I've seen so far. Particular tools can fix particular problems, but that's the easy part. The hard part is finding and noticing the problems, so that you know to look for (or make) the tools.
My teams have in-production bug rates well below one per developer-month. Here are the ten things I think are most important:
test, test, test (manually) - The only way to be sure that something works in production is to repeatedly and frequently prove that it works in conditions as bad or worse than production.
test, test, test (automatically) - Write unit tests, integration tests, end-to-end tests, and load tests. Write as many as you can in test-driven development style, where the test comes before the code that makes the test pass. My code bases are circa 50% test code, with 95% code coverage.
make testing the default - Make your tests run with one simple command. Then automate it so that all tests run on every checkin.
integrate frequently - Keep your colleagues up to date: check in every few hours. Breaking your work down into discrete bites takes practice, but it's worth it.
work as a team - Get everybody in one war room. Make it a great environment to code in. A big source of bugs is misunderstanding, and having everybody together eases intentional communication and creates a lot of tacit communication.
code in pairs - Yes, this takes some getting used to. But pair programming is just cranking up code review. Now that I've gotten used to it, I think solo coding is no fun: I know I'm making stuff that's less good than it could be, but until I come back to it a week or a month later, I can't tell what the problem is.
work sane hours - Once you start doing these other practices, you will discover that there is no point in staying late: as productivity drops and your error rate increases, marathon sessions just dig the hole deeper. Drunk drivers think they are just fine; so do tired coders. Both are wrong.
regularly look back and ahead - Every Friday at 4, bring in cold beers and talk about what went well and what didn't. No need for action plans or GANTT charts; just talk.
aim for perfection - A lot of shops consider it perfectly normal to have hundreds and hundreds of bugs in the database. This may be normal, but it's not necessary. There are a number of teams working at or below the level of one bug per developer-month, and yours could be one of them.
remember: quality can pay for itself - I have seen shops where developers average 50% of time in the debugger, and then complain that they have no time for code reviews and unit testing. Even if they can't connect the dots, you can. I spend perhaps five minutes a day in the debugger, and every time I do it, it's a sign that I'm missing a test and that the design could be clearer.
Corporations don't exist to be humanitarian organizations. Their job is to make as much money as possible, while remaining within the law.
This false contradiction is just as naive an interpretation of capitalism as social darwinism is of evolution.
Nature, notoriously red in tooth and claw, produces cooperation, nurturing, and altruism over and over again. This only looks like a paradox. The truth is that humanitarian behavior is one of the dominant characteristics of the most successful species on the planet.
Similarly, Google has done fantastically well while generally living up to their motto. That's no coincidence, either.
According to your link, Pixar has only grossed $3.2bn since 1995. $7.4bn, or even $6.4bn considering the cash Pixar had on hand, still seems like a lot of money. Might take them 10 years to recoup their investment.
You're thinking about it like a stockholder, not an acquirer.
The theory behind most acquisitions is that you are getting something beyond the existing income stream. The business buzzword for this is "synergy". I haven't followed the deal, but my guess it that they are expecting to be able extract a lot of money from Pixar properties through their parks, stores, media channels, distribution networks, and the brain implants they apparently have in every six year old.
Also, from the performance of recent Disney films, it's clear Disney needs a creative kick in the ass. Hopefully by swapping key people around they can make the Pixar mojo contagious. That would allow Disney to get a lot more money out of current assets, hopefully without harming the Pixar revenue stream. And of course, they keep Pixar out of the hands of a competitor, which is always appealing to budding monopolists.
What if parents divorce and only one has custody? The school's system wouldn't know this unless it was told so by a human. Do you think it would be updated fast enough to prevent the other parent from picking up the child and abducting him/her?
You're missing the point. The system is for two things only:
1) Officials now get to say they're doing something about something that worries people. 2) Officials later will get to dodge blame by saying they spent lots of money and got the very best.
Slashdot readers have probably seen this dynamic in action when some executive decides to buy, say, Oracle rather than using one of the free databases.
I remember an article about how "liberating" it was to have an RFID chip, and how much easier it'll make our life. I figure I'll hold out as long as I can.
Holding out won't work. There are enough sheep that you're just delaying the day you'll get one.
Instead, find some friends and pay for the development of a rewritable chip and then sell it at cost. I'd buy one just for the prank potential; criminals would buy one for identity theft and other antisocial reasons. Once there are enough of these on the street, you'll get news coverage and people will have a fear-producing story to balance out the panacea story. It'll all fall apart.
My biggest worry with the system is what people do when they discover that it's a pain in the ass. I've been to a number of corporate offices where everybody is supposed to be badged all the time. But as long as you're wearing khakis and a button-down, you can follow people anywhere you want. And then see all their 8-random-character passwords written on post-it notes on their monitors, with their keys sitting right on the desk.
My employer knows that if I want to steal data I can do it. Even if it comes down to hand transcription of one memorized line of code per day. So they trust me and provide me a hardened notebook to do my work on. Even if it is lost the data will not be compromized till it's likely to be useless anyway.
This is such the smarter policy for most companies and most data. I've seen some large corporate shops where they went to absurd, productivity-sapping lengths to lock down developer machines. And then they gave developers access to an internet connection and things like C compilers and Perl interpreters. Any decent developer could have shipped out vast quantities of information hidden in DNS queries or HTTP activity.
Now that I think about it, they were kind of light on decent developers. I always thought that was just because ultra-corporate shops were sucky places to work, but perhaps it's part of their security policies: a developer with a small brain doesn't have room to steal much in the way of secrets.
Also, I strongly doubt any game can make you hate or love a specific group. If you hate cops, don't blame the game.
I strongly agree.
I think the biggest contributor to bad attitudes towards cops isn't video games, it's making them enforce a lot of bullshit laws. Pretty much everybody in the US grows up dodging the law through underage drinking, smoking marijuana, or driving a bit above the speed limit. It doesn't help that some cops seem to be pretty high-handed with their power.
One of the things I love asking people is how they contrast their attitude toward policemen with their attitude toward firemen. You would hope that they'd be pretty close, but they're often not. It varies widely across countries, though, and I'd be curious to hear what Slashdotters say.
Wow! There's so much content that doesn't make the main page. And thank goodness, as I sure wouldn't care to see it. I had no idea that the editors were doing such a good job.
Maybe people who already have a tumor in the side of their head are naturally attracted to using that side to hold their phone.
My theory is that a cellphone acts as a cancer magnet. My plan is to buy old cellphones and turn them into cushions, so that Americans can pull cancer out of their vital organs and into their ample asses, and then just have the cancer liposuctioned out.
Is it more intuitive to jot something down that even you yourself can barely read and that is poorly recognized by the PC than it is to simply type something that everybody can understand? Is it any faster? (The answer to that is clearly no; you can test that yourself.)
Having switched a year ago from a Grafitti-based Palm to a keyboard-based one (the Treo 650), I firmly believe the keyboard is worse. I suspect raw character entry speed is about the same for me, but now I have to switch back and forth between the keyboard and the stylus all the goddamn time. It's awkward in a way that pure pen-based work never was.
I think the reason people buy the keyboard more is that it's more obvious how to work it. I doubt it's faster to get proficient at the keyboard, but any fool can see where the buttons are.
I think you have some reasonable points, but I disagree on this one:
When they say: "The code is better because more eyeballs see it" is also crap, because not that many eyeballs see it, much less understand it.
However many eyeballs see it, it's generally a lot more than corporate projects. A lot of corporate shops partition the work so only one person really works with a particular chunk of code. Even in more team-oriented places, you rarely get the kind of review that is pretty much required through open source, where code is the primary means of communication.
With open source, the code has to stand on its own much more than with closed projects. Even if nobody ever looks at your particular contributions, you are still putting it out there for all the world to see. For me, at least, that makes me more careful.
Open Source has strong merits, but to suggest that Corporate Software is akin to someone hacking out sphagetti code in their basement is just nonsense.
As a developer and consultant who has seen the inside of dozens of corporate projects in 15 years of development, I can promise you that this is not nonsense at all.
The typical life-cycle: Commercial pressure and scheduling optimism leads to too-short schedules, but internal politics prevent feature cuts. The difference is made up in sustainability: code quality is lowered, new features are hacked in, and people get tired and burnt out. Managers promise that they'll have time to fix things "later", but later never comes, as the next release is already behind schedule. Eventually, productivity collapses and The Great Rewrite happens, starting the cycle anew. If they can stay in business that long, that is.
Successful open-source projects are necessarily different. The focus on quality and sustainability is primary, because people otherwise find something amore fun to do. Hitting a fixed release date with a list of features promised by some clue-deficient marketroid is generally not a factor, because people don't do that for free. Most of the great ones won't even do it for money, which is why so many corporate shops are seas of mediocrity.
What is this, a Penny Arcade strip?
Seriously. I honestly checked to make sure that April first is still a month away. I thought SCO couldn't get more evil, but they've managed. And not by inches, either; helping MLM fuckheads is worse than enabling penis-pill spammers.
The only way justice could be done is if they all catch some new, unholy cross between syphilis and ebola.
Wow, Optiarc is a terrible name. Perhaps we could get them to call it Optigrab?
An optical reader will reject any ballots where you vote >1 in a single race when you try to hand in the ballot.
One especially nice feature of this system is that if you fail to vote in any race, the machine will warn you before accepting the ballot, and the operator will make really sure that you intentionally skipped voting when you could have. So not only does it reject overvotes, but it verifies undervotes.
A whistleblower takes his knowledge and does not go public with it. [...] Had he contacted any one of a dozen agencies to handle the complaint, he'd be in no legal trouble.
Perhaps we need better laws.
I agree that it's better to go through channels, but when there's a big problem there's a lot to be said for going straight to the top. And that's us, the citizens.
It's not meant to be read through like a piece of fiction. Design Pattern books are more of a quick reference guide than a gripping narrative.
I completely agree. Patterns books are like parts catalogs. When you first get one, you leaf through it, reading about items that happen to interest you. When you actually need to get something done, you grab it again and hunt for the items that apply to your situation.
This review is another fine reminder that if I see somebody do something that seems completely ridiculous, it only proves that one of us has missed something basic, not which of us.
If you've got one of those tight budgets, you could even ship yourself off to India. It'd be cheaper to live there, so you could even take a voluntary pay cut!
Speaking as an American consultant who is in Bangalore trying to save an at-risk project, I think that's the way to go.
Email and phone lines are ridiculously low bandwidth compared with being in the same room eight hours a day. To make good software, you need the developers in the same place as the people who know what needs to get made. I don't care whether that's in New York, Bulgaria, Bangalore, or Alabama, but it has to happen.
Collaboration only works when everyone is willing to work. Otherwise you get people who are lazy, stupid, and would much rather ask you instead of figuring it out for themselves.
You get what you reward. If you have lazy people bothering you, only answer them with questions. E.g., "Have you looked into X?" "What did a Google search on that error message turn up?" "What have you done so far?"
Also, remember that their problems are not automatically your problem, and certainly not your problem right now. When a lazy person bugs you, try saying, "I'm busy right now. Could we discuss that tomorrow morning?"
How do you know that Google will always do this for reasons you agree with?
Why would I need to?
Never forget that when Google started, everybody thought the search business was stable, and an uninteresting area for innovation. If Google starts to suck, or if somebody outdoes them significantly, I'll switch immediately. And you will, too.
But you don't think it's dangerous that a site that has a de-facto monopoly on searches is doing this?
You mean their shocking, world-gripping monopoly where they have 36.5% of all search traffic and switching is as easy as typing a slightly different URL into your browser?
I agree that we should keep an eye on them, but your unjustified alarmism is ridiculous.
No, it is NOT fraud to display different kinds of content to different site visitors, and I hope it never will be. And if it were fraud, it would be a matter for the police, not Google's page rank algorithm.
You misunderstand how a democracy works. We are the sovereign. Police are our agents for things we have failed to resolve amongst ourselves.
Google isn't stopping BMW from attempting to deceive. But Google is refusing to be deceived. Google has no more obligation to be suckered by search engine spam than you do to read all your email spam.
I found Mining the Web useful. It's written by academics, so you'll have to put in a little brain work translating it into implementable patterns, but it gave me a good jump start when I took on a new client that does a lot of crawling and searching.
Bulletproof code isn't cheap, but it can be done.
This is the most insightful comment I've seen so far. Particular tools can fix particular problems, but that's the easy part. The hard part is finding and noticing the problems, so that you know to look for (or make) the tools.
My teams have in-production bug rates well below one per developer-month. Here are the ten things I think are most important:
Corporations don't exist to be humanitarian organizations. Their job is to make as much money as possible, while remaining within the law.
This false contradiction is just as naive an interpretation of capitalism as social darwinism is of evolution.
Nature, notoriously red in tooth and claw, produces cooperation, nurturing, and altruism over and over again. This only looks like a paradox. The truth is that humanitarian behavior is one of the dominant characteristics of the most successful species on the planet.
Similarly, Google has done fantastically well while generally living up to their motto. That's no coincidence, either.
According to your link, Pixar has only grossed $3.2bn since 1995. $7.4bn, or even $6.4bn considering the cash Pixar had on hand, still seems like a lot of money. Might take them 10 years to recoup their investment.
You're thinking about it like a stockholder, not an acquirer.
The theory behind most acquisitions is that you are getting something beyond the existing income stream. The business buzzword for this is "synergy". I haven't followed the deal, but my guess it that they are expecting to be able extract a lot of money from Pixar properties through their parks, stores, media channels, distribution networks, and the brain implants they apparently have in every six year old.
Also, from the performance of recent Disney films, it's clear Disney needs a creative kick in the ass. Hopefully by swapping key people around they can make the Pixar mojo contagious. That would allow Disney to get a lot more money out of current assets, hopefully without harming the Pixar revenue stream. And of course, they keep Pixar out of the hands of a competitor, which is always appealing to budding monopolists.
What if parents divorce and only one has custody? The school's system wouldn't know this unless it was told so by a human. Do you think it would be updated fast enough to prevent the other parent from picking up the child and abducting him/her?
You're missing the point. The system is for two things only:
1) Officials now get to say they're doing something about something that worries people.
2) Officials later will get to dodge blame by saying they spent lots of money and got the very best.
Slashdot readers have probably seen this dynamic in action when some executive decides to buy, say, Oracle rather than using one of the free databases.
I remember an article about how "liberating" it was to have an RFID chip, and how much easier it'll make our life. I figure I'll hold out as long as I can.
Holding out won't work. There are enough sheep that you're just delaying the day you'll get one.
Instead, find some friends and pay for the development of a rewritable chip and then sell it at cost. I'd buy one just for the prank potential; criminals would buy one for identity theft and other antisocial reasons. Once there are enough of these on the street, you'll get news coverage and people will have a fear-producing story to balance out the panacea story. It'll all fall apart.
Don't resist the system. Jam the system!
My biggest worry with the system is what people do when they discover that it's a pain in the ass. I've been to a number of corporate offices where everybody is supposed to be badged all the time. But as long as you're wearing khakis and a button-down, you can follow people anywhere you want. And then see all their 8-random-character passwords written on post-it notes on their monitors, with their keys sitting right on the desk.
My employer knows that if I want to steal data I can do it. Even if it comes down to hand transcription of one memorized line of code per day. So they trust me and provide me a hardened notebook to do my work on. Even if it is lost the data will not be compromized till it's likely to be useless anyway.
This is such the smarter policy for most companies and most data. I've seen some large corporate shops where they went to absurd, productivity-sapping lengths to lock down developer machines. And then they gave developers access to an internet connection and things like C compilers and Perl interpreters. Any decent developer could have shipped out vast quantities of information hidden in DNS queries or HTTP activity.
Now that I think about it, they were kind of light on decent developers. I always thought that was just because ultra-corporate shops were sucky places to work, but perhaps it's part of their security policies: a developer with a small brain doesn't have room to steal much in the way of secrets.
Also, I strongly doubt any game can make you hate or love a specific group. If you hate cops, don't blame the game.
I strongly agree.
I think the biggest contributor to bad attitudes towards cops isn't video games, it's making them enforce a lot of bullshit laws. Pretty much everybody in the US grows up dodging the law through underage drinking, smoking marijuana, or driving a bit above the speed limit. It doesn't help that some cops seem to be pretty high-handed with their power.
One of the things I love asking people is how they contrast their attitude toward policemen with their attitude toward firemen. You would hope that they'd be pretty close, but they're often not. It varies widely across countries, though, and I'd be curious to hear what Slashdotters say.
Yes! These games are an outrage. In my youth we had good, clean, wholesome fun. We kids ran around outside and played, uh, Cops and Robbers.
Wow! There's so much content that doesn't make the main page. And thank goodness, as I sure wouldn't care to see it. I had no idea that the editors were doing such a good job.
Maybe people who already have a tumor in the side of their head are naturally attracted to using that side to hold their phone.
My theory is that a cellphone acts as a cancer magnet. My plan is to buy old cellphones and turn them into cushions, so that Americans can pull cancer out of their vital organs and into their ample asses, and then just have the cancer liposuctioned out.