From what I understand, the Security Enhanced Linux project was developed in-house for NSA servers, and then publicly released. Any competition was incidental.
Having said that, now it exists. Why should Microsoft's "right" not to be competed against (where's *that* in the Constitution, again?) trump my right as a taxpayer to get the full value of the software my tax dollars have been spent on?
Just curious -- do you think that the government should never integrate any Open Source licensed code to create needed software, even if the cost of re-writing that code is, say, several thousand dollars more than the OS code? Is there any trade-off to you between economic practicality and pure public domain source?
When you think about it, the government's only real job is to defend the rights and freedoms of its citizens.
But wasn't that *exactly* what the NSA was doing by working on Security-Enhanced Linux? Defending your rights and freedoms by making sure the computers on which they depend are more secure? Should they be entrusting this job to corporate America, instead?
Second thing: What should happen to software that the government creates? Should it never be released to the public, left to sit and wallow as a waste of our tax dollars? Aren't we better off by having more choices in the marketplace instead of less?
An open source solution might very well be equal or even superior in all respects to a proprietary solution, but the open source developer can't pay an account manager $100k/year to take the decision-maker to lunch and explain to them just why their solution is better.
Why not?
Red Hat is Open Source, and they've got account managers. If you've got a proprietary solution, you'll know that you can lose your contract if any of your competitors chose to open source their software, so you'll be heavily pressured to offer the option of open source yourself.
I think it's a good place to start, at any rate.:)
You can come up with all kinds of preposterous hypotheticals that appear to support your position...
Well, it was an example to illustrate a point, cut me a little slack.:) Obviously, there's no word processor that doesn't support the backspace key. You asked for a real world example, so I'll give you (an admittedly imperfect) one.
I've been working on some VXML applications for the past few months. VXML servers have been traditionally very expensive, but in the past few months some companies have emerged with low-cost ($2000) VXML suites.
I'd prefer to use an Open Source VXML solution but... there aren't any. There is Bayonne, the GNU Open Source Telephony Server, which has been making good progress in many areas, but still hasn't released their first solid 1.0 yet, and won't support VXML anyway, even when it does reach 1.0.
Bayonne can be made to support VXML, but only at a significant cost of development (~$10,000 worth). Given that I could spend $10,000 to code an untested open source VXML server with zero support, or spend $2000 to get a proprietary suite with gobs of support and testing behind it, which one must I choose?
I'm keeping my eye on Bayonne, and I'm hoping the volunteer crew will step up to the plate and tackle VXML support soon. (My coding chops just aren't up to it. If only!) When Bayonne approaches the functionality and reliability I need, I'll definitely use it. But I'd hate to be in government and be forced to develop and use an incomplete solution for 5 times what a reliable commercial version would cost me. (And what if my budget couldn't support the cost of development? Or couldn't waste the time?)
This is just one example; there are others. Open Source doppelgangers simply do not exist for every proprietary piece of software, and reinventing the wheel by coding it yourself isn't always the best answer. If you can't admit this, you're sticking your head in the sand.
However, I do believe in open standards, and I do think that Open Source solutions should be preferred, all things being equal. In any case where competitive Open Source solutions exist (like your Oracle example), we should use them. That's common sense. We need open source in our government, for many reasons.
But it's foolish to enforce Open Source for EVERY project at legal gunpoint. And you know, I don't think Open Source needs it. Corporate America didn't start using Linux and Apache because the government said they had to -- they used them because they were the superior tools for the job, in part because of their Open Source licensing. I think the idea of Open Source Preferred requirements puts enough pressure on government to migrate to Open Source solutions without shooting ourselves in the foot in the process.
"Preferred" doesn't have to be slippery at all, though.
For any software, the government must create a list of requirements and specs for what the software should do. If you can fulfill those requirements and specifications, and be Open Source, the contract should go to you, or one of your Open Source competitors. If there's no Open Source solution that completely fulfills those requirements, then the choice will be among proprietary vendors.
This way, there's pressure for proprietary vendors to Open Source their software, but it's not necessary for everyone to use Open Source software in every case.
(You know, I just realized that I probably should be using the phrase "open source" instead of "Open Source". I think it's important that the government be able to alter its own software, but mandating public access to the source of all government software is another argument altogether. Force of habit.)
You don't need to access either chip. Simply relay the signal broadcast by the watch. Here's an example to make it clear.
Bob leaves his laptop on and goes down to the 1st floor breakroom to get a snack. Presumably his computer begins encrypting what little data remains unencrypted when he passes out of range. This takes about 6 seconds, according to the article.
Alice enters the breakroom and buys a Snickers / chats up / seduces Bob. Unbeknownst to Bob, Alice has a wireless link in her purse that is rebroadcasting Bob's signal to Carol, who is currently in Bob's office, sitting at his laptop. Carol, in turn, rebroadcasts Bob's signal on the appropriate frequency to Bob's laptop and Bob's laptop begins unencrypting data again.
Nothing's been stolen -- the computer has just been fooled into believing Bob's in range again. (The article states that Bob's watch is a transmitter, not a transceiver, so there's no key-exchange or two-way communication going on, and thus no need to reverse the process and broadcast from Carol to Alice.)
Got it?
Or:
Carol and Alice could forget all the subterfuge and beat up Bob, stealing his wristwatch while he's unconscious.
I agree with what you're saying -- there would be more and better Open Source software if the government required it. But there would still be situations where no adequate Open Source equivalent existed, and where an Open Source requirement could have a significant negative impact on an organization's efficiency or finances.
What if, instead of requiring Open Source in government, we legislated that Open Source solutions will be preferred to closed source solutions? An open source license should give you a competitive advantage in the government market, but it shouldn't be a gimme. I think this would still give a tremendous boost towards getting more open source software in government while allowing proprietary software when necessary.
And of course, the government should be required to use open formats.:)
I see what you're saying, but there's a fallacy there. Open Source is one quality that makes software good, but it isn't the only quality.
Let's say I have two word processing programs. One is Open Source, but doesn't support the backspace key, or italics, or different fonts. It crashes all the time and the amount of money it would take to fix it is twice as much as the proprietary software costs. The proprietary software supports all these functions.
Which one is best? Which one should we use?
What if the amount it costs to make the Open Source version comparable to the proprietary version is 100 times the cost of it? 1000? 10,000?
Open Standards makes sense. And I'd agree that, given a choice between exactly comparable programs, Open Source should be preferred because it is a value-added quality, just as you mentioned.
But to say that it MUST be preferred at ALL costs is a recipe for organizational disaster.
So the laptop determines how far away the user is by the signal strength of a wristwatch radio widget, worn by, let's say, Bob? If Alice knows what frequency Bob is broadcasting on, she can simply clandestinely relay that to Carol, who will approach the laptop while retransmitting Bob's signal, and be granted access to the goodies inside. This wouldn't be hard to do at all.
No security system is perfect, but thinking you're safe can lead to much more devastating repercussions than knowing you're not.
This system seems to trade a lot of security for a little convenience. I sure wouldn't trust my data to it.
That's the whole point of the engagement ring -- to show her that you'd spend a lot of money on something which seems frivolous and generally useless to you because SHE's worth it.
You're not alone in thinking, "Jewelry? What can I do with that?", but I suspect you'll come to the same conclusion most of us married guys came to when we were searching for a ring. Remember: It's not about you, it's about her. Buy what makes her happy.
Watch her face when she first sees it and see if it isn't worth the price.
What a great memory to have. A father & son working on a robot together. Just wanted to say thanks for sharing that.
Re:you're right, for the wrong reasons
on
Back to the Moon?
·
· Score: 3, Informative
1) Everything I've read on the subject regards construction in space as the most difficult and expensive environs possible. Maybe you can point me at something that says otherwise.
2) Your point about solar power satellites is incorrect. An article in more depth about this appeared in The Industrial Physicist in May. A relevant quote from the article follows:
Several types of solar-power satellites have been proposed. They are projected, over 30 years, to deliver approximately 10,000 kWh of electric energy to Earth for each kilogram of mass in orbit around the planet. To sell electric energy at $0.01/ kWh, less than $60 could be expended per kilogram to buy the components of the power satellites, ship them into space, assemble and maintain them, decommission the satellites, and finance all aspects of the space operations. To achieve this margin,launch and fabrication costs would have to be lowered by a factor of 10,000.
There's more in the article.
The Moon is the only practical place to build extraplanetary solar power, considering, as you note in point 3, that the Moon is made up of the very same materials in solar cells to begin with.
At any rate, we both agree that the human race needs a moon base. I just happen to think that it will be considerably more useful than you do.
Re:Moon base may make more sense than the ISS
on
Back to the Moon?
·
· Score: 2
While you're technically right, you haven't addressed his point. You've just used a bit of sophistry to make yourself seem smart.
The fact remains that living on the ISS for an extended period of time will leave you less fit to return to Earth than a similar stay in an environment with gravity closer to 1 G, (even 1/6 G, like the Moon). You'll be stronger after a year on the Moon than you will be after a year on the ISS, and no amount of doubletalk will change that.
Of course the ISS has its place, but as a base for long term habitation and assembly of complex machinery, it, frankly, bites. The logistics of making a trip to the Moon are more difficult than making a trip to the ISS, but are offset by the advantages to construction. Construction in space is a maximally complex environment for machines that already have complex and difficult requirements. Quality control is virtually nonexistant. Just because it's close doesn't mean it's best.
Forget about mining -- think power
on
Back to the Moon?
·
· Score: 1
Lunar generated solar power has the potential to replace every fossil fuel power plant on Earth. And who cares about gravity? We export the electricity by beaming it down via microwaves to collectors on the Earth's surface.
Solving the energy crisis could be the Great Reason we need to get back into space, and could turn the Moon into a moneymaker instead of a sinkhole. This is one of the few reasons I believe returning to the Moon is more important than colonizing Mars at this point. Off-earth manufacturing, energy, tourism, and science all show incredible promise. It's time we went back. I want to visit the Luna Hilton before I die.
Seriously. You're obviously a skilled communicator, and your opinions and insights are really unrepresented in the literature out there. Of course, I don't agree with all of them, but I enjoyed the hell out of reading your thoughts, and learned something, too. (Why *not* a Department of Psychedelic Studies that isn't just someone's dorm room?)
Please get a book contract. Tell them Slashdot said you need one.
I just finished writing up the code to see how many days it would take for my Master Counter solution to work, and on average it takes between 9,000 to 11,000 days, just as you pointed out. That's approx. 25 - 30 years, though! Ouch. Not as great as I'd hoped.
I'll work on coding yours in when I get a chance to see how it compares.
Your solution seems to be essentially the same one proposed by an A.C. here with one difference. Tell me if I misunderstand anything.
In both systems:
1. Everyone is assigned a number from 0 - 99.
2. Everyone keeps track of the days since the meeting.
3. You turn on the light when the last two digits of the day you are chosen match your own ID #.
4. You observe whether the light is off or on when you enter the room, and infer the ID # of whoever was last in the room if the light was on.
5. You make a list which records all IDs which you know have entered the room.
6. If it is your turn, you may turn on the light if the last two digits of the day are the same as an ID on your list.
Where your solution differs is that instead of relying on the length of the lists made by each prisoner to determine the Freedom Date, you rely on cooperation between prisoners to create an unbroken string of lit-bulb days that lasts for 100 days, telling anyone chosen that day that they may demand their freedom.
My own hunch is that it's more likely that someone will achieve a full list of all IDs first, since ID info propagates laterally while the lights have to propagate hierarchically. (As your solution is stated, someone who had a list of all 100 IDs but was only number 44 in the chain couldn't claim freedom for everyone.)
The obvious solution is to use both methods -- anyone can demand freedom if:
a) their list includes all ID numbers, or;
b) they enter the room on day 99 and the light is on.
I said my hunch was the lists would be faster because it's only a hunch. Since all these solutions rely on random data, the only way to say one is faster than another is on average. It would be cool to write some code for each one of these solutions and have a Bulb-Off: Run each solution program for X iterations and see which ones come out with the lowest average amount of days spent in prison!
I might try that in the next couple of days. If you write some code for your solution, post a link to the source and the results here.
They're being held in solitary confinement. There's no reason to assume they can all see the bulb every day. The Prisoner's and the Lightbulb is discussed more here.
I knew it wasn't a great one, though, because the chance of all of you being picked in order is 1 in 1x2x3x4x5....x99x100, which calc.exe tells me is 1.0715102881254669231835467595192e-158. So you'd be in there a while.:)
Still, it's a solution. So there's three ways I've seen so far. I'm working on a fourth. Boredom will do funny things to you. Maybe I identify with these prisoners too much.
This is the elegant solution I was looking for. I started trying something like this but didn't get it quite worked out, so I tried another tack. I'm glad you figured it out.
The only weird sort of problem with this solution is that if you are picked in order every day, you'll never leave. In fact, there are many orders in which numbers can be essentially "segregated" from each other, so that no one ever knows that everyone has already been picked.
But if distribution really is random, then this is definitely the best strategy. It'll certainly be quicker than my Master Counter way. Thanks!
What the other guys said. If you're told you're going to be held in solitary confinement, you shouldn't assume there's going to be windows in all of them, which is what your solution requires. I'd say your first and third assumptions aren't supported by the problem.
However, your post made me realize that you should encourage everyone to prepare to count, not just the Master Counter. The Master Counter is the only one assured of seeing every state change, but there's a possibility that the first or second light flipper may witness every state change, too. They just have to count how many times they see the light cycle from off to on. If they see it cycle 99 times, they know that all 100 people have been out, and are simply waiting for the Master Counter's cell to be chosen again. They can save everyone the wait and demand their freedom that day.
From what I understand, the Security Enhanced Linux project was developed in-house for NSA servers, and then publicly released. Any competition was incidental.
Having said that, now it exists. Why should Microsoft's "right" not to be competed against (where's *that* in the Constitution, again?) trump my right as a taxpayer to get the full value of the software my tax dollars have been spent on?
Just curious -- do you think that the government should never integrate any Open Source licensed code to create needed software, even if the cost of re-writing that code is, say, several thousand dollars more than the OS code? Is there any trade-off to you between economic practicality and pure public domain source?
When you think about it, the government's only real job is to defend the rights and freedoms of its citizens.
But wasn't that *exactly* what the NSA was doing by working on Security-Enhanced Linux? Defending your rights and freedoms by making sure the computers on which they depend are more secure? Should they be entrusting this job to corporate America, instead?
Second thing: What should happen to software that the government creates? Should it never be released to the public, left to sit and wallow as a waste of our tax dollars? Aren't we better off by having more choices in the marketplace instead of less?
(Wow -- every sentence a question.)
Heh, I laughed out loud. Thanks.
Aside from the truth factor, your post reminded me of this article. Thought I'd share it.
An open source solution might very well be equal or even superior in all respects to a proprietary solution, but the open source developer can't pay an account manager $100k/year to take the decision-maker to lunch and explain to them just why their solution is better.
:)
Why not?
Red Hat is Open Source, and they've got account managers. If you've got a proprietary solution, you'll know that you can lose your contract if any of your competitors chose to open source their software, so you'll be heavily pressured to offer the option of open source yourself.
I think it's a good place to start, at any rate.
You can come up with all kinds of preposterous hypotheticals that appear to support your position...
:) Obviously, there's no word processor that doesn't support the backspace key. You asked for a real world example, so I'll give you (an admittedly imperfect) one.
Well, it was an example to illustrate a point, cut me a little slack.
I've been working on some VXML applications for the past few months. VXML servers have been traditionally very expensive, but in the past few months some companies have emerged with low-cost ($2000) VXML suites.
I'd prefer to use an Open Source VXML solution but... there aren't any. There is Bayonne, the GNU Open Source Telephony Server, which has been making good progress in many areas, but still hasn't released their first solid 1.0 yet, and won't support VXML anyway, even when it does reach 1.0.
Bayonne can be made to support VXML, but only at a significant cost of development (~$10,000 worth). Given that I could spend $10,000 to code an untested open source VXML server with zero support, or spend $2000 to get a proprietary suite with gobs of support and testing behind it, which one must I choose?
I'm keeping my eye on Bayonne, and I'm hoping the volunteer crew will step up to the plate and tackle VXML support soon. (My coding chops just aren't up to it. If only!) When Bayonne approaches the functionality and reliability I need, I'll definitely use it. But I'd hate to be in government and be forced to develop and use an incomplete solution for 5 times what a reliable commercial version would cost me. (And what if my budget couldn't support the cost of development? Or couldn't waste the time?)
This is just one example; there are others. Open Source doppelgangers simply do not exist for every proprietary piece of software, and reinventing the wheel by coding it yourself isn't always the best answer. If you can't admit this, you're sticking your head in the sand.
However, I do believe in open standards, and I do think that Open Source solutions should be preferred, all things being equal. In any case where competitive Open Source solutions exist (like your Oracle example), we should use them. That's common sense. We need open source in our government, for many reasons.
But it's foolish to enforce Open Source for EVERY project at legal gunpoint. And you know, I don't think Open Source needs it. Corporate America didn't start using Linux and Apache because the government said they had to -- they used them because they were the superior tools for the job, in part because of their Open Source licensing. I think the idea of Open Source Preferred requirements puts enough pressure on government to migrate to Open Source solutions without shooting ourselves in the foot in the process.
"Preferred" doesn't have to be slippery at all, though.
For any software, the government must create a list of requirements and specs for what the software should do. If you can fulfill those requirements and specifications, and be Open Source, the contract should go to you, or one of your Open Source competitors. If there's no Open Source solution that completely fulfills those requirements, then the choice will be among proprietary vendors.
This way, there's pressure for proprietary vendors to Open Source their software, but it's not necessary for everyone to use Open Source software in every case.
(You know, I just realized that I probably should be using the phrase "open source" instead of "Open Source". I think it's important that the government be able to alter its own software, but mandating public access to the source of all government software is another argument altogether. Force of habit.)
You don't need to access either chip. Simply relay the signal broadcast by the watch. Here's an example to make it clear.
Bob leaves his laptop on and goes down to the 1st floor breakroom to get a snack. Presumably his computer begins encrypting what little data remains unencrypted when he passes out of range. This takes about 6 seconds, according to the article.
Alice enters the breakroom and buys a Snickers / chats up / seduces Bob. Unbeknownst to Bob, Alice has a wireless link in her purse that is rebroadcasting Bob's signal to Carol, who is currently in Bob's office, sitting at his laptop. Carol, in turn, rebroadcasts Bob's signal on the appropriate frequency to Bob's laptop and Bob's laptop begins unencrypting data again.
Nothing's been stolen -- the computer has just been fooled into believing Bob's in range again. (The article states that Bob's watch is a transmitter, not a transceiver, so there's no key-exchange or two-way communication going on, and thus no need to reverse the process and broadcast from Carol to Alice.)
Got it?
Or:
Carol and Alice could forget all the subterfuge and beat up Bob, stealing his wristwatch while he's unconscious.
Either way, not very secure.
I agree with what you're saying -- there would be more and better Open Source software if the government required it. But there would still be situations where no adequate Open Source equivalent existed, and where an Open Source requirement could have a significant negative impact on an organization's efficiency or finances.
:)
What if, instead of requiring Open Source in government, we legislated that Open Source solutions will be preferred to closed source solutions? An open source license should give you a competitive advantage in the government market, but it shouldn't be a gimme. I think this would still give a tremendous boost towards getting more open source software in government while allowing proprietary software when necessary.
And of course, the government should be required to use open formats.
I see what you're saying, but there's a fallacy there. Open Source is one quality that makes software good, but it isn't the only quality.
Let's say I have two word processing programs. One is Open Source, but doesn't support the backspace key, or italics, or different fonts. It crashes all the time and the amount of money it would take to fix it is twice as much as the proprietary software costs. The proprietary software supports all these functions.
Which one is best? Which one should we use?
What if the amount it costs to make the Open Source version comparable to the proprietary version is 100 times the cost of it? 1000? 10,000?
Open Standards makes sense. And I'd agree that, given a choice between exactly comparable programs, Open Source should be preferred because it is a value-added quality, just as you mentioned.
But to say that it MUST be preferred at ALL costs is a recipe for organizational disaster.
... is worse than insecurity itself.
So the laptop determines how far away the user is by the signal strength of a wristwatch radio widget, worn by, let's say, Bob? If Alice knows what frequency Bob is broadcasting on, she can simply clandestinely relay that to Carol, who will approach the laptop while retransmitting Bob's signal, and be granted access to the goodies inside. This wouldn't be hard to do at all.
No security system is perfect, but thinking you're safe can lead to much more devastating repercussions than knowing you're not.
This system seems to trade a lot of security for a little convenience. I sure wouldn't trust my data to it.
It's an add-on. And a kinda clunky one, from the looks of it. Just thought I'd mention it.
That's the whole point of the engagement ring -- to show her that you'd spend a lot of money on something which seems frivolous and generally useless to you because SHE's worth it.
You're not alone in thinking, "Jewelry? What can I do with that?", but I suspect you'll come to the same conclusion most of us married guys came to when we were searching for a ring. Remember: It's not about you, it's about her. Buy what makes her happy.
Watch her face when she first sees it and see if it isn't worth the price.
What a great memory to have. A father & son working on a robot together. Just wanted to say thanks for sharing that.
2) Your point about solar power satellites is incorrect. An article in more depth about this appeared in The Industrial Physicist in May. A relevant quote from the article follows: There's more in the article.
The Moon is the only practical place to build extraplanetary solar power, considering, as you note in point 3, that the Moon is made up of the very same materials in solar cells to begin with.
At any rate, we both agree that the human race needs a moon base. I just happen to think that it will be considerably more useful than you do.
(Score:6, So True It Hurts)
While you're technically right, you haven't addressed his point. You've just used a bit of sophistry to make yourself seem smart.
The fact remains that living on the ISS for an extended period of time will leave you less fit to return to Earth than a similar stay in an environment with gravity closer to 1 G, (even 1/6 G, like the Moon). You'll be stronger after a year on the Moon than you will be after a year on the ISS, and no amount of doubletalk will change that.
Of course the ISS has its place, but as a base for long term habitation and assembly of complex machinery, it, frankly, bites. The logistics of making a trip to the Moon are more difficult than making a trip to the ISS, but are offset by the advantages to construction. Construction in space is a maximally complex environment for machines that already have complex and difficult requirements. Quality control is virtually nonexistant. Just because it's close doesn't mean it's best.
Lunar generated solar power has the potential to replace every fossil fuel power plant on Earth. And who cares about gravity? We export the electricity by beaming it down via microwaves to collectors on the Earth's surface.
Solving the energy crisis could be the Great Reason we need to get back into space, and could turn the Moon into a moneymaker instead of a sinkhole. This is one of the few reasons I believe returning to the Moon is more important than colonizing Mars at this point. Off-earth manufacturing, energy, tourism, and science all show incredible promise. It's time we went back. I want to visit the Luna Hilton before I die.
Seriously. You're obviously a skilled communicator, and your opinions and insights are really unrepresented in the literature out there. Of course, I don't agree with all of them, but I enjoyed the hell out of reading your thoughts, and learned something, too. (Why *not* a Department of Psychedelic Studies that isn't just someone's dorm room?)
Please get a book contract. Tell them Slashdot said you need one.
Wow! Thanks for the analysis.
I just finished writing up the code to see how many days it would take for my Master Counter solution to work, and on average it takes between 9,000 to 11,000 days, just as you pointed out. That's approx. 25 - 30 years, though! Ouch. Not as great as I'd hoped.
I'll work on coding yours in when I get a chance to see how it compares.
In both systems: Where your solution differs is that instead of relying on the length of the lists made by each prisoner to determine the Freedom Date, you rely on cooperation between prisoners to create an unbroken string of lit-bulb days that lasts for 100 days, telling anyone chosen that day that they may demand their freedom.
My own hunch is that it's more likely that someone will achieve a full list of all IDs first, since ID info propagates laterally while the lights have to propagate hierarchically. (As your solution is stated, someone who had a list of all 100 IDs but was only number 44 in the chain couldn't claim freedom for everyone.)
The obvious solution is to use both methods -- anyone can demand freedom if:
a) their list includes all ID numbers, or;
b) they enter the room on day 99 and the light is on.
I said my hunch was the lists would be faster because it's only a hunch. Since all these solutions rely on random data, the only way to say one is faster than another is on average. It would be cool to write some code for each one of these solutions and have a Bulb-Off: Run each solution program for X iterations and see which ones come out with the lowest average amount of days spent in prison!
I might try that in the next couple of days. If you write some code for your solution, post a link to the source and the results here.
They're being held in solitary confinement. There's no reason to assume they can all see the bulb every day. The Prisoner's and the Lightbulb is discussed more here.
Heh, yeah, this was my first solution, too.
:)
I knew it wasn't a great one, though, because the chance of all of you being picked in order is 1 in 1x2x3x4x5....x99x100, which calc.exe tells me is 1.0715102881254669231835467595192e-158. So you'd be in there a while.
Still, it's a solution. So there's three ways I've seen so far. I'm working on a fourth. Boredom will do funny things to you. Maybe I identify with these prisoners too much.
This is the elegant solution I was looking for. I started trying something like this but didn't get it quite worked out, so I tried another tack. I'm glad you figured it out.
The only weird sort of problem with this solution is that if you are picked in order every day, you'll never leave. In fact, there are many orders in which numbers can be essentially "segregated" from each other, so that no one ever knows that everyone has already been picked.
But if distribution really is random, then this is definitely the best strategy. It'll certainly be quicker than my Master Counter way. Thanks!
What the other guys said. If you're told you're going to be held in solitary confinement, you shouldn't assume there's going to be windows in all of them, which is what your solution requires. I'd say your first and third assumptions aren't supported by the problem.
However, your post made me realize that you should encourage everyone to prepare to count, not just the Master Counter. The Master Counter is the only one assured of seeing every state change, but there's a possibility that the first or second light flipper may witness every state change, too. They just have to count how many times they see the light cycle from off to on. If they see it cycle 99 times, they know that all 100 people have been out, and are simply waiting for the Master Counter's cell to be chosen again. They can save everyone the wait and demand their freedom that day.