I mean, the routine would take a name like MACDONALD or MCINTOSH and produce MacDonald or McIntosh. Without messing with the (few, but non-zero) ones that shouldn't be camelCased. It started out as a really simple, "Hey, we can do this easily and our letters will look better," idea that became a major undertaking, much to everyone's surprise, as people complained.
not to mention any auto-filled fields in the letter: "We are writing to inform MR DAVANGER that his account..."
I once had a name-casing routine that was close to 1,000 LOC, just to convert names from all caps to the probable mixed case versions. Its hard, because you have to deal with Mac and Mc (except when you don't), all sorts of foreign names, hyphenated names, etc. There were actually about 100 special cases. The thing is that 100 LOC gets 99% of the names, but nobody likes seeing their name "wrong," especially if when they call to complain there's nothing the data-entry clerk can actually do about it. So either you have to really nail it, or you have to punt on it (people don't seem to mind ALLCAPS, we've trained them to accept it).
In these areas, I can get to a certain level through rigorous training - but basic genetics prevents me from competing with the world's best. The same applies to a lot of intellectual areas. I can become a competent physicist - but from interacting with other physics students, I know that I lack the ease of insight necessary to actually build something new.
One thing that I have noticed, however, is that the genetic-limitation bar is way, way higher than most people are willing to admit to themselves, in most activities. Take running, for example. The world record for the marathon is currently 2:04:55. Most people, I believe, would have a very hard time getting there even with extraordinary training. However, most people with moderate (demanding, but not world-class) training can get to sub 3:00. Most people also won't put in the time, effort, and money (coaches, diet, etc) needed to get there - but they could if they wanted to.
And yet, people who have a hard time breaking 4:00 or even 5:00 will blame their "genetic predisposition." That's what I don't buy. Does it make a difference at an elite level? Certainly. Does it have a measurable difference at a low level? Probably, but (IMO) its an exponential curve. The closer you get to elite, the more of an effect it will have. If you're 100% slower than the WR, its probably not having much of an effect. 10% slower? Yeah, it probably is.
We all seem to want to be able to blame something unchangable, like our genetics, when we can't make our goals. Most of the time, that's just whining.
Within a week of buying my AlBook, the corner was dented by a cab driver who dropped my bag 3 feet to the street. That also pushed metal in the hinge which made the luscious (but thin) screen not want to stay shut, even though the elegant (but non-fault-tolerant) magentic hook tried its best to hold onto the screen.
How many laptops using traditional hard plastic could have shattered in that situation, or at least chipped? I agree that plastic is better in general (and I have a MacBook for that matter), but a small amount of damage after a three foot drop onto concrete is not, in my mind, unreasonable.
I think so. It ended up being around $1,500 for the midgrade white book (superdrive, etc) plus a 3rd party 100gb 7200rpm HD and two 3rd party 1gb ram sticks. I guess I could get $100 or so by selling off the old stuff, but I'm moving the factory 60gb into an old Dell I've got lying around that could use a space boost. For the money, its real hard to beat. Add the amazing usability of OSX to that (and I design usable computer software for a living, so have a pretty low tolerance for crap) and its all great. The screen resolution is lower than I'd wanted, but the OS tools (Expose, etc) almost make up for it. The glossy screen isn't significantly reflective in most conditions either, which pleasantly surprised me. Oh, add in another $70 for iWork on top of that if you want to be technical.
Heck, the "immediate-wake" mode would be worth a massive premium all by itself. By the time you've opened the screen, its wide awake, connected to the network, and ready to go. Its kind of like moving from dial-up to broadband in that respect; the extra "connection" time isn't much on paper, but its a subjective eternity once you've become used to the faster option.
Ok but take your 2.5 $ and multiply it by a 1000 users, plus the fact that 4 batteries = 4000 batteries a year, that is so ecological.
either way, it means more money and more pollution so there is no positive side to this exceptthe fact that you are annoyed by wires, in some case wireless can be fun and even needed but to standardize it? I dont think so.
This would like when they introduce dispoable plastic bag,,,it was so convenient but look now, they are trying to get people back on using the same bags over and over, same with that, if you see a logic in spending more momey and creating more pollution then you should probably work in an oil company.
First, why multiply? I mean, heck, why not pick 100mm (random guess as to the number of computers in the US)? Or more, going globally? The fact that its at a one person company or a thousand person company is irrelevant.
And as for the waste, well, pardon my asking, but so what? Do you ever use a remote control? Shame on you, that uses batteries too. Or how about lunch, did you drive to eat today? Or drive to work (I telecommuted and walked, but that's not the point). 99% of American's daily lives are full of "waste" by somebody's definition, using resources that we don't, strictly speaking, need to use. I sure hope you never use plastics or wear synthetic fibers or drink anything in a can (recycled or not, lots of energy there)...
Heck, why are you posting on/. instead of turning off your monitor when you have nothing better to do? You should work at an energy company yourself.
The bottom line is that the cost of batteries and the inconvenience of replacing them occasionally are both small. The benefit from having a wireless keyboard is small too, but non-zero. The benefit of a wireless mouse is greater. Some benefit in both events is aesthetic, at least as far as I'm concerned. You may or may not care.
Either way, you may want to take a long hard look at yourself and your own habits before decrying others for wasting an unbelivably disgusting 5 AA batteries every year.
How many batteries does a keyboard take and a mouse? you'll ahve to spend 40$ every 3 months for each user so they dont have wires on their desktop?
Hmm. I have the Microsoft set, and both pieces take 2 AA batteries. The keyboard set needed to be replaced after a year, the mouse after about eight months. This is with mid-grade (energizer max, iirc) batteries. In fact, I just picked up an eight-pack at Walgreen's for $5 (on sale from $7.5). So that's about $2.5/year, a little less than your $160/year estimated. And no, that doesn't include IT time, but hell, when I carried a pager they didn't send somebody around to change my battery for me then either.
I find it silly that in windows you can't, just seems elegent to me to have some system-wide defaults a normal user can't change and some stored in his user area that he can.
That's exactly how well-behaved Windows applications should work. You write system-wide information into c:\documents and settings\all users\application data\[company]\[application] and user-specific information into c:\documents and settings\[username]\application data\[company]\[application]. Of course there are environment variables that the system sets for you in case the admin has changed the location, so you don't blindly write onto c: when you shouldn't.
While they probably wouldn't be able to share the entire codebase (obvious platform differences) they could readily share the core engine of VirtualPC as well as the VB stuff.
I totally agree, and I never meant to imply that there would be a "testing spec." There is a specification that describes the design. That is what everyone -- the people who make the machines and the people who test the machines -- code to.
That's not really good enough, unless your "standard" includes every single possible combination of data that might possibly be entired into the machine(s).
Actually, you don't really want your testing standard available to the people who are making the machines, since they might be able to program the machines to recognize when they are being tested for standards-compliance and to provide "fake" results in that situation. Basically, you want your testers to do their best to try and "break" the machines, and use those results to improve your specifications for the next batch of machines.
By "standard" I didn't mean, "Well known test," I meant, well, RFC. A specification. A true standard. Something that multiple front-ends, back-ends, and testing engines can be written against.
They are in no way shape or form circumventing the DMCA. Don't drink the coolaid. Making a bit-for-bit copy of the DVD, as long as they don't try to understand the content, involves no decryption. They are not providing electronic access to the content in that sense - at no point are they playing the movie. They're simply copying it. From a legal standpoint, this is a huge distinction. This is why DeCSS is required to play DVDs on Linux, not to copy them.
Most DVD "backup" utilities failed this test, because there are very few dual-layer DVD burners out there. So people were trying to create MPEGs of the movie (requires understanding/filtering the content), or change the resolution (likewise), or split it onto two discs while maintaining the menus, etc (likewise). All of those require understanding what's on the disk, which requires decrypting the content, which violates the DMCA.
Simple copying? Might violate copyright (taken care of with the fair-use clause, probably) but unrealted to DMCA.
Actually, all you'd have to do is test each machine against the standard. With something as simple as assigning either a letter or a write-in to each position in a list, you should be able to have a bullet-proof mathematically proven specification for the standard. That guarantees that you can write tests against it. Heck, theoretically if someone could draw very well they could just sit down with a pad of paper and create a vaild ballot. The screen->printout machine becomes a very useful piece of assistive technology, nothing more, which is where it should be. If you did end up going with OCR, you could theoretically even get rid of that step, although it should still be pretty much required because it eliminates the "doubt" that humans have when counting, of "Is this a B or a D?" But that's all the frontend would do.
I envisioned a human-readable 8.5x11 page, with a barcode up in the corner. So anyone should be able to stick the paper into the reader, see what the computer says, and compare it to the written text. They'd be more likely to do this if it was a barcode instead of OCR, I think, which is a good reason to do it. People shouldn't "trust" any part of the voting process unnecessarily.
The other nice thing is that you could have a huge variety of manufacturers of the various components. In fact, there would be no reason to have the same company make the screen->paper portion as makes the paper->counted-vote portion. None whatsoever. That in and of itself makes it much harder to rig. The counting machines would need to be fast, and could be moderately centralized and fairly expensive. The screen->printout ones could be cheap and (relatively) disposable, so that if any of them had issues, you could just move to another one, even if it was a different brand.
In -- I believe its Australia -- they have mandatory voting. The thing is, you are required to get your ass up of the couch and come into the polling station. Once there, and registered as present, you are not required to vote. Not voting is still a valid statement. Not bothering, however, is not.
It gets even better. Make sure that there are spare printers available -- after all, printers are cheap and there's no real risk of bad firmware causing fraud since people can (and are instructed to) read the printout before posting it into the polling box. Besides, corporations and print-shops manage to print full-size letter stock day in and day out with very little difficulty. With ATMs, you don't have any backup machinary. Even so, I agree, they manage to figure it out there. But the bar's not even that high.
People shouldn't trust the OCR software any more than they trust the barcode software. That's why I proposed random recounts by hand. After all, the only way to verify any computer-scored totals is by comparing them to human-scored totals. Since you have to do those anyway, it would be easy enough to let the system use the fastest possible encoding/decoding. The barcode is there as a convenience for processing speed, nothing more, nothing less. Trusting OCR any more than barcode readers is a massive mistake, IMO.
So all you really need is for an electronic voting machine to generate a very clear unambiguous paper ballot which gets posted just like a traditional ballot - but without any hanging chads and with everything spelled out (ie: no mention of people you didn't vote for). If the voter doesn't agree with it, they throw it away and redo it... or feed it back into the machine to get another vote, to avoid potential overvotes. When they're happy with it, they walk it over to a sealed box and deposit it.
On the paper, they have a nice 2D barcode that has all of the votes encoded within it. However, it has a plain English description of those votes as well. Boxes can be opened after the election and very easily (and foolproofly) scanned, incredibly quickly. Some small percentage of them are also hand-counted (there shouldn't be much disagreement in reading the English printout) and the totals compared to the scan-counted totals. Any discrepency forces a full recount.
So its the best of both worlds. Fast scoring, full paper trail, and no significant chance of fraud. Where's the catch?
Actually, on Windows there are specific places for both of these files. They should either be under c:\documents and settings\[username]\local settings\application data or, for more generic settings, using All Users instead of [username]. IIRC, that is, its been a while since I've written Windows binaries. And you should refer to both paths through their aliases, in case people have installed onto different drives or are using remote profiles or whatever.
But any application that writes into its c:\program files\ directory is misbehaving. Thus any application whose uninstalled needs to preserve files in that directory is misbehaving.
Hmm. What you seem to be suggesting is buying a computer and then, when things start to go downhill, do absolutely nothing about it, and instead just "deal" with it while the computer slows to a crawl and maybe a cd-drive stops working like it should.
I've had a ton of systems. Some home-built, most (especially lately) COTS, most recent purchase was an Apple MacBook.
I have, in all that time, never had a computer "start to go downhil." CD drives don't, as a general rule, wear out. Every now and then I've reinstalled a Windows system, and I do tend to purchase decent machines and load 'em with RAM, but that's it. I'd guess that many people fall into the same boat. PCs shouldn't actually need regular hardware maintenance, unless you've done something wrong.
Or is that what happens when you build 'em yourself these days?
One interesting compromise would be to have all work on library computers be "public." As in, echoed up to a screen above the user, like they did (do?) for popular arcade video games. After all, its a very arguable point that the reason that libraries provide computers is to foster knowledge transfer, not to allow people without computers to do their online banking. This would still be private in the "not-logged" sense, but not private in the same way that, if you're browsing in the library, other people can see what book you pick up.
I mean, the routine would take a name like MACDONALD or MCINTOSH and produce MacDonald or McIntosh. Without messing with the (few, but non-zero) ones that shouldn't be camelCased. It started out as a really simple, "Hey, we can do this easily and our letters will look better," idea that became a major undertaking, much to everyone's surprise, as people complained.
I once had a name-casing routine that was close to 1,000 LOC, just to convert names from all caps to the probable mixed case versions. Its hard, because you have to deal with Mac and Mc (except when you don't), all sorts of foreign names, hyphenated names, etc. There were actually about 100 special cases. The thing is that 100 LOC gets 99% of the names, but nobody likes seeing their name "wrong," especially if when they call to complain there's nothing the data-entry clerk can actually do about it. So either you have to really nail it, or you have to punt on it (people don't seem to mind ALLCAPS, we've trained them to accept it).
One thing that I have noticed, however, is that the genetic-limitation bar is way, way higher than most people are willing to admit to themselves, in most activities. Take running, for example. The world record for the marathon is currently 2:04:55. Most people, I believe, would have a very hard time getting there even with extraordinary training. However, most people with moderate (demanding, but not world-class) training can get to sub 3:00. Most people also won't put in the time, effort, and money (coaches, diet, etc) needed to get there - but they could if they wanted to.
And yet, people who have a hard time breaking 4:00 or even 5:00 will blame their "genetic predisposition." That's what I don't buy. Does it make a difference at an elite level? Certainly. Does it have a measurable difference at a low level? Probably, but (IMO) its an exponential curve. The closer you get to elite, the more of an effect it will have. If you're 100% slower than the WR, its probably not having much of an effect. 10% slower? Yeah, it probably is.
We all seem to want to be able to blame something unchangable, like our genetics, when we can't make our goals. Most of the time, that's just whining.
Actually, I just visited that link with IE7, and it rendered the page identically to Firefox. So yes, they have fixed that bug.
For the record, IE7 beta (maybe not the most recent version) has exactly the same report card.
How many laptops using traditional hard plastic could have shattered in that situation, or at least chipped? I agree that plastic is better in general (and I have a MacBook for that matter), but a small amount of damage after a three foot drop onto concrete is not, in my mind, unreasonable.
I think so. It ended up being around $1,500 for the midgrade white book (superdrive, etc) plus a 3rd party 100gb 7200rpm HD and two 3rd party 1gb ram sticks. I guess I could get $100 or so by selling off the old stuff, but I'm moving the factory 60gb into an old Dell I've got lying around that could use a space boost. For the money, its real hard to beat. Add the amazing usability of OSX to that (and I design usable computer software for a living, so have a pretty low tolerance for crap) and its all great. The screen resolution is lower than I'd wanted, but the OS tools (Expose, etc) almost make up for it. The glossy screen isn't significantly reflective in most conditions either, which pleasantly surprised me. Oh, add in another $70 for iWork on top of that if you want to be technical.
Heck, the "immediate-wake" mode would be worth a massive premium all by itself. By the time you've opened the screen, its wide awake, connected to the network, and ready to go. Its kind of like moving from dial-up to broadband in that respect; the extra "connection" time isn't much on paper, but its a subjective eternity once you've become used to the faster option.
First, why multiply? I mean, heck, why not pick 100mm (random guess as to the number of computers in the US)? Or more, going globally? The fact that its at a one person company or a thousand person company is irrelevant.
And as for the waste, well, pardon my asking, but so what? Do you ever use a remote control? Shame on you, that uses batteries too. Or how about lunch, did you drive to eat today? Or drive to work (I telecommuted and walked, but that's not the point). 99% of American's daily lives are full of "waste" by somebody's definition, using resources that we don't, strictly speaking, need to use. I sure hope you never use plastics or wear synthetic fibers or drink anything in a can (recycled or not, lots of energy there)...
Heck, why are you posting on
The bottom line is that the cost of batteries and the inconvenience of replacing them occasionally are both small. The benefit from having a wireless keyboard is small too, but non-zero. The benefit of a wireless mouse is greater. Some benefit in both events is aesthetic, at least as far as I'm concerned. You may or may not care.
Either way, you may want to take a long hard look at yourself and your own habits before decrying others for wasting an unbelivably disgusting 5 AA batteries every year.
How many batteries does a keyboard take and a mouse? you'll ahve to spend 40$ every 3 months for each user so they dont have wires on their desktop?
Hmm. I have the Microsoft set, and both pieces take 2 AA batteries. The keyboard set needed to be replaced after a year, the mouse after about eight months. This is with mid-grade (energizer max, iirc) batteries. In fact, I just picked up an eight-pack at Walgreen's for $5 (on sale from $7.5). So that's about $2.5/year, a little less than your $160/year estimated. And no, that doesn't include IT time, but hell, when I carried a pager they didn't send somebody around to change my battery for me then either.
I find it silly that in windows you can't, just seems elegent to me to have some system-wide defaults a normal user can't change and some stored in his user area that he can.
That's exactly how well-behaved Windows applications should work. You write system-wide information into c:\documents and settings\all users\application data\[company]\[application] and user-specific information into c:\documents and settings\[username]\application data\[company]\[application]. Of course there are environment variables that the system sets for you in case the admin has changed the location, so you don't blindly write onto c: when you shouldn't.
Can't they just virtualize that part away?
I just disagree that you want a testing spec.
I totally agree, and I never meant to imply that there would be a "testing spec." There is a specification that describes the design. That is what everyone -- the people who make the machines and the people who test the machines -- code to.
Yeah, that sounds like slashdot alright...
That's not really good enough, unless your "standard" includes every single possible combination of data that might possibly be entired into the machine(s).
Actually, you don't really want your testing standard available to the people who are making the machines, since they might be able to program the machines to recognize when they are being tested for standards-compliance and to provide "fake" results in that situation. Basically, you want your testers to do their best to try and "break" the machines, and use those results to improve your specifications for the next batch of machines.
By "standard" I didn't mean, "Well known test," I meant, well, RFC. A specification. A true standard. Something that multiple front-ends, back-ends, and testing engines can be written against.
They are in no way shape or form circumventing the DMCA. Don't drink the coolaid. Making a bit-for-bit copy of the DVD, as long as they don't try to understand the content, involves no decryption. They are not providing electronic access to the content in that sense - at no point are they playing the movie. They're simply copying it. From a legal standpoint, this is a huge distinction. This is why DeCSS is required to play DVDs on Linux, not to copy them.
Most DVD "backup" utilities failed this test, because there are very few dual-layer DVD burners out there. So people were trying to create MPEGs of the movie (requires understanding/filtering the content), or change the resolution (likewise), or split it onto two discs while maintaining the menus, etc (likewise). All of those require understanding what's on the disk, which requires decrypting the content, which violates the DMCA.
Simple copying? Might violate copyright (taken care of with the fair-use clause, probably) but unrealted to DMCA.
Actually, all you'd have to do is test each machine against the standard. With something as simple as assigning either a letter or a write-in to each position in a list, you should be able to have a bullet-proof mathematically proven specification for the standard. That guarantees that you can write tests against it. Heck, theoretically if someone could draw very well they could just sit down with a pad of paper and create a vaild ballot. The screen->printout machine becomes a very useful piece of assistive technology, nothing more, which is where it should be. If you did end up going with OCR, you could theoretically even get rid of that step, although it should still be pretty much required because it eliminates the "doubt" that humans have when counting, of "Is this a B or a D?" But that's all the frontend would do.
I envisioned a human-readable 8.5x11 page, with a barcode up in the corner. So anyone should be able to stick the paper into the reader, see what the computer says, and compare it to the written text. They'd be more likely to do this if it was a barcode instead of OCR, I think, which is a good reason to do it. People shouldn't "trust" any part of the voting process unnecessarily.
The other nice thing is that you could have a huge variety of manufacturers of the various components. In fact, there would be no reason to have the same company make the screen->paper portion as makes the paper->counted-vote portion. None whatsoever. That in and of itself makes it much harder to rig. The counting machines would need to be fast, and could be moderately centralized and fairly expensive. The screen->printout ones could be cheap and (relatively) disposable, so that if any of them had issues, you could just move to another one, even if it was a different brand.
In -- I believe its Australia -- they have mandatory voting. The thing is, you are required to get your ass up of the couch and come into the polling station. Once there, and registered as present, you are not required to vote. Not voting is still a valid statement. Not bothering, however, is not.
It gets even better. Make sure that there are spare printers available -- after all, printers are cheap and there's no real risk of bad firmware causing fraud since people can (and are instructed to) read the printout before posting it into the polling box. Besides, corporations and print-shops manage to print full-size letter stock day in and day out with very little difficulty. With ATMs, you don't have any backup machinary. Even so, I agree, they manage to figure it out there. But the bar's not even that high.
People shouldn't trust the OCR software any more than they trust the barcode software. That's why I proposed random recounts by hand. After all, the only way to verify any computer-scored totals is by comparing them to human-scored totals. Since you have to do those anyway, it would be easy enough to let the system use the fastest possible encoding/decoding. The barcode is there as a convenience for processing speed, nothing more, nothing less. Trusting OCR any more than barcode readers is a massive mistake, IMO.
So all you really need is for an electronic voting machine to generate a very clear unambiguous paper ballot which gets posted just like a traditional ballot - but without any hanging chads and with everything spelled out (ie: no mention of people you didn't vote for). If the voter doesn't agree with it, they throw it away and redo it... or feed it back into the machine to get another vote, to avoid potential overvotes. When they're happy with it, they walk it over to a sealed box and deposit it.
On the paper, they have a nice 2D barcode that has all of the votes encoded within it. However, it has a plain English description of those votes as well. Boxes can be opened after the election and very easily (and foolproofly) scanned, incredibly quickly. Some small percentage of them are also hand-counted (there shouldn't be much disagreement in reading the English printout) and the totals compared to the scan-counted totals. Any discrepency forces a full recount.
So its the best of both worlds. Fast scoring, full paper trail, and no significant chance of fraud. Where's the catch?
Actually, on Windows there are specific places for both of these files. They should either be under c:\documents and settings\[username]\local settings\application data or, for more generic settings, using All Users instead of [username]. IIRC, that is, its been a while since I've written Windows binaries. And you should refer to both paths through their aliases, in case people have installed onto different drives or are using remote profiles or whatever.
But any application that writes into its c:\program files\ directory is misbehaving. Thus any application whose uninstalled needs to preserve files in that directory is misbehaving.
I think I speak for everyoe here when I say, "Eww."
Still, I suppose its better than it feeling like Barry Manilow.
I've had a ton of systems. Some home-built, most (especially lately) COTS, most recent purchase was an Apple MacBook.
I have, in all that time, never had a computer "start to go downhil." CD drives don't, as a general rule, wear out. Every now and then I've reinstalled a Windows system, and I do tend to purchase decent machines and load 'em with RAM, but that's it. I'd guess that many people fall into the same boat. PCs shouldn't actually need regular hardware maintenance, unless you've done something wrong.
Or is that what happens when you build 'em yourself these days?
I keed, I keed. Well, somewhat.
One interesting compromise would be to have all work on library computers be "public." As in, echoed up to a screen above the user, like they did (do?) for popular arcade video games. After all, its a very arguable point that the reason that libraries provide computers is to foster knowledge transfer, not to allow people without computers to do their online banking. This would still be private in the "not-logged" sense, but not private in the same way that, if you're browsing in the library, other people can see what book you pick up.