Make a table of everybody's owner (name and email addr), fingerprint, keysize, and algorithm, along with a checkbox. Make 300 copies.
Rent an opaque projector, a screen, a microphone, stand, amp, speakers, and 300 chairs.
Have everybody show up with ID, a pencil, a writing surface, a copy of their fingerprint, and a writing surface. No computers needed; this is NOT to be done digitally! (That's a bad idea; see above link for why.)
Put a copy of the key sheet on the opaque projector. Call out the first name on the list. Have the key's owner should come up and put their ID on the opaque projector, and attest to the correctness of their own key on the projected list.
Each attendee verifies that the ID is okay, the projected key matches what's on their copy, and checks off the ID.
Repeat the last two steps 300 times.
Attendees go home.
Make a keyring for your attendees. Put it somewhere publicly accessible. (This is so not everybody has to repeat this step.)
Attendees import the keyring. For each key they checked off, they verify that the key in the keyring matches, and sign it.
Attendees upload their signatures to the keyserver.
That's the basic idea. You can also do this as a mob, but for 300 attendees, that may be suboptimal.
Terrific, thanks! The IBM project it discusses sounds a lot like my half-verbalized idea. I'll have to delve deeper into this idea, and what they've done so far.
I don't yet see why the timeout of select would be such a big deal (outside of a few specific cases), but I'll have to think about it, and your examples, more carefully.
FWIW: BSD has the same select setup as you described.
So here's my thought: how expensive is it to reprogram the timer chip? Would it be possible to adjust it dynamically to create perfect granularity in sleep/select?
Okay, after re-reading the article, I did see one performance gain this could get: the case of select/poll. (This is blatantly stated in the article; I shot my mouth off before reading the article closely enough.)
Under BSD, as I understand it (I don't have the Daemon Book handy, but a quick reading of the source seems to agree), select will put a process on the wait queue until something arrives. During a select, the kernel does nothing with the process-- timer or not.
From the look of the article, under Linux, select actually does some sort of polling at or related to HZ. It may be on some sort of almost-run queue: a selecting process gets allocated timeslices; on its slice, it polls and either returns to userland or goes back to onto the almost-run queue. I don't have time to verify that-- I don't know my way around the Linux kernel-- but it seems to be reasonable, based on the article. Can I get a Linux developer to confirm/deny my guess?
So it seems that in the case of something selecting, primarily on an otherwise idle or near-idle system, increasing HZ may improve performance. This situation is less common than it used to be in today's world of multithreaded servers (since each thread typically blocks only on a single fd), but it's still potentially significant.
If a process isn't doing processing, that's because it's blocked in the kernel. (Q: What does a HLT do in userland?) As soon as the kernel puts a process on a wait queue, it reschedules. So you don't have any loss 'waiting for the next context switch'; that's just time that another process is running, or if nothing has anything to do, that the kernel halts the processor.
Note: I haven't studied how process scheduling is handled under Linux, but I can't imagine any OS that wouldn't do what I said here... or at least, I can't imagine one that would halt the processor after a process blocks, while it waits for a timer interrupt to schedule the next process.
The link you entitled "Linux SH-5" discusses the GNUPro toolkit, which is pretty much the GNU toolchain (gcc, gas, ld, etc) and is unrelated to the Linux kernel. It doesn't announce that an OS is available.
If there are at least three speakers (or points) on a single plane, there are two dimensions to the audio.
Well, let's consider that three points are always on a plane, so in theory, you could say that three speakers are always coplanar. But, speakers are not defined only as points: the plane that the speakers occupy may not be the same as their projection plane.
In fact, to be adequately plotted, you'd need a speaker's direction, and the orientation of its projection plane. (I'm ignoring the power curve and other qualities inherent to the speakers; I'm only considering the positioning of the sound here.)
So, perhaps using the directional quality of the speakers, you'd be able to create some sort of 3D effect while still using coplanar speakers.
Of course, since we have coplanar ears, one could argue that we couldn't perceive it...
None of this is intended to argue against your point that manufacturers misuse the term 3D.
Sure... pause it to go to the bathroom and put some popcorn in the microwave, then when you get back, there's enough in the buffer to fast forward over the next commercial break.
Yes, you can record with a PC. That isn't all the TiVo offers, and what the TiVo offers isn't around on the PCs yet, and won't be for a while.
I use my TiVo to pause, rewind, and fast forward live TV. The tuner/frame grabber solution you offer could do that, but the software is geared for recording for later viewing. Admittedly, that's almost all I do with the TiVo, so let's continue.
When I set up a recording on the TiVo, I almost never notice what day or time it happens. I just record from the guide. The guide is great. I've used DirecTV's guide, TV Guide's DCT2000 software, and others. None of these are nearly as fast, versitile, or easy-to-use as the TiVo guide. I can search for "Maura Tierney" as an actress, and it will give me a listing of "Family Ties" four days from now when she was a guest star, not listed in the description!
So now that we have the guide, we can add Season Passes. This lets us say, "Record Enterprise". It will then record every showing of Enterprise, optionally skipping the eps that have been seen in the last 28 days. If the schedule changes, TiVo automatically accomodates this-- with priortization to help.
We've got all this program info, how about making some statistical predictions? I can rate shows (up to three thumbs up or down), and TiVo starts getting a feel about the actors, show types, descriptions, etc. that I like. It then can suggest programs I'd like, and automatically record them if there's space.
Don't forget dealing with space management, and intelligent expiration of shows when more space is needed.
All this and more... and the UI? Piece of cake. A non-techie, drunk guest can sit down, pick up my TiVo remote (which also controls the TV and reciever/amp with obvious buttons, no mode switch, so it's often the only remote I use) and use the TiVo with ease.
Sure, this can all be done with PC software. But it's not; nobody has this kind of software available. And I wouldn't want to even if it were. PCs are just not easy to use as consumer entertainment. I don't see any way to make a PC as easy to use as my TiVo.
ReplayTV (from SONICblue) is the most popular (after TiVo); I'm surprised you didn't know about it from/. coverage of their legal issues. Microsoft had UltimateTV, but retired it. Digeo (formerly Rearden Steel) is introducing one that works with the provider, and has a lot of amazing coders on staff and a Midasesque CEO.
Me, I'm a die-hard TiVo fan. But I am aware of the competition.
Yup, I've been using mplayer for a good while now. Switched from xine, because of the recent problems xine has with DivX.
I've played with the aalib (ASCII art) viewer, and it's amazing! A little tweaking of the brightness/contrast is recommended, but the detail is great!
So, here's a few tricks I've picked up that I'll share:
With DVDs, caching is pretty well mandatory. It doesn't hurt for anything else.
Use double buffering when available.
Turn on frame drops.
Here's a bit for your ~/.mplayer/config to turn these on:
framedrop=yes
cache=32768
double=1
If you see interlacing problems on DVD playback, turn on a de-interlacer. Interlacing shows up as horizontal "blinds" when something moves quickly. Turn on a de-interlacer with "-vop pp -npp md,de". (This turns on a few other video processing options too.) See "mplayer -vop pp -npp help" for a list of other options to npp that can be useful.
Okay, now that that's done, do you want to watch DVDs while you work? If you use Xv (or something similar), there's a lot of things you can do, depending on your choice of apps. (Use 'xvinfo' to see if Xv is on your system.) I won't post them all here, but the key is to turn the background color to the same color as the Xv key color. You then can use xine with '-rootwin -fs', and watch your movie as a background.
That said, the trick is finding out what that key color is; it's not even always the same between reboots, and the number that 'xvinfo' reports is a color index, not an RGB value.
You can use gimp and do a screen capture of a playing movie to get the correct RGB value, so you can put that into a color config. But that's not fun, and you may have to change it after the next reboot.
So, to anybody who emails me at piquan.piqnet@org (you fix it up), I'll gladly send a short program to set the Xv key color to something predetermined. (I use #0804f6, which lets you make color schemes that are viewable with or without movies playing.) Then you can set your app's background color and work while you watch.
I also have schemes or libraries to do this for the following:
KDE (If you use the KDE theme, it also affects Motif and Xaw apps).
Mozilla
Emacs
Konsole
I'll gladly share these too; just drop me an email.
Be sure that your app's window doesn't take up quite the whole screen, though, or the movie will be cropped to a bounding rectangle of what it thinks is visible. I'm still looking for a way to inhibit that behavior, but meanwhile, just leave a thin strip of pixels along the bottom and right when you resize a window.
By the way, none of the information in this post is BSD-specific. All this stuff should work on other Unices too, if you're forced to use one. The transparencies work with other viewers, but I find mplayer works best.
Sure it does. You say that "only one is active at any time", but that's not the whole story, at least not network-wide.
For example, client A may be sending key 1, client B sends key 2, and the AP sends using key 3. (This is exactly what happens at my home: the AP uses key 1, one computer uses a different static key, and the rest randomly rotate each time they attach.)
The clients need all the keys, so that they can read all the data they're getting. The question of which one is "active" refers to one transmitter, not the whole network.
So, now comes the question: if you have to decrypt using any key, how do you know which one to use? It seems that 802.11 sends an index of "which key am I sending with", so that the recipient can read it. That's why the key index matters.
My friends at work and I were discussing this type of "solution", the ones with marketing hype like "Buy this product, and you won't need a sysadmin!" Yeah, right.
We decided it might be easier to make a product that replaces CEOs. I took ALICE (an Eliza-like bot), and modified it so that when it didn't understand what was going on, it would spout Dilbertian managementspeak.
What's the point? mplayer already supports changing subtitles, I don't think it honors region codes (and DVDSynth probably won't help with h/w region checks), and the SCSI protocol spy doesn't belong there under the Unix device model.
Well, if I recall correctly, Win95 didn't have DirectX when it was first released. The games of the day used DOS, and because of the problems with DOS mode, Microsoft wanted to promote Windows games, so they released WinG as part of 95, and as an add-on for Win3.1 (to appease the developers who were uneasy about losing the 3.1 market).
I worked in a software store at the time, and only recall one game that used WinG: SimTown. (It also used Win32s to run under Win3.1.) Most games continued to use DOS, particularly those that wanted the increasingly-important 3D acceleration that WinG didn't supply.
DirectX came about shortly thereafter, and was (I think) part of OSR2. It was hideous, but developers went for it, since they didn't want to have to run in the tempermental DOS box.
Ironically, I saw this article while experimenting with my new tablet that I got from an ad on/. Runs Linux, has handwriting recognition, comes with dev tools, cost $600.
Besides, with 24 hours * 200 channels, I get
enough programming I like to start a useful
evolutionary process.
Check out a few "Dilbert" books from your library
to get an idea of what happens when you ask the
customers for their ideas. The sad fact is, a
lot of customers don't know what they
want.
That's the point... by using TiVo to collect
the data, instead of collecting this information before the TiVo,
you can get better data.
If my cable company tries to get information based on my cable box, they'll probably have
misleading information for the reasons you give.
But my TiVo knows what I'm watching.
If you visited FighterTown in Mountain View, they always had at least two pinballs, sometimes three, and they kept them in good repair. They also had a couple of upright video games.
Their attraction was the fighter sims. Two types: one was stationary but had a semi-realistic cockpit (similar style to American fighter planes, but different in detail). The other was mounted on hydraulics, and was pretty much the flight sim demo that comes with SGIs.
Even with these flashy machines, there was usually a fellow or two on the pinball machines. (Yes, I was one of them.)
Wish they hadn't closed down. sigh One of the assistant managers was excessively offensive to the regulars, who all left. It was all downhill after that. A lesson to businesses: take care of your customers!
This is in multiple FAQs, the best of which is the top match on Google for "keysigning party". Read it. But here's the basic idea.
That's the basic idea. You can also do this as a mob, but for 300 attendees, that may be suboptimal.
There's a reason it's not in Emacs. From the original Vigor release announcement (at the bottom of the page you pointed to):
Terrific, thanks! The IBM project it discusses sounds a lot like my half-verbalized idea. I'll have to delve deeper into this idea, and what they've done so far.
Okay, that makes much more sense, thank you!
I don't yet see why the timeout of select would be such a big deal (outside of a few specific cases), but I'll have to think about it, and your examples, more carefully.
FWIW: BSD has the same select setup as you described.
So here's my thought: how expensive is it to reprogram the timer chip? Would it be possible to adjust it dynamically to create perfect granularity in sleep/select?
Okay, after re-reading the article, I did see one performance gain this could get: the case of select/poll. (This is blatantly stated in the article; I shot my mouth off before reading the article closely enough.)
Under BSD, as I understand it (I don't have the Daemon Book handy, but a quick reading of the source seems to agree), select will put a process on the wait queue until something arrives. During a select, the kernel does nothing with the process-- timer or not.
From the look of the article, under Linux, select actually does some sort of polling at or related to HZ. It may be on some sort of almost-run queue: a selecting process gets allocated timeslices; on its slice, it polls and either returns to userland or goes back to onto the almost-run queue. I don't have time to verify that-- I don't know my way around the Linux kernel-- but it seems to be reasonable, based on the article. Can I get a Linux developer to confirm/deny my guess?
So it seems that in the case of something selecting, primarily on an otherwise idle or near-idle system, increasing HZ may improve performance. This situation is less common than it used to be in today's world of multithreaded servers (since each thread typically blocks only on a single fd), but it's still potentially significant.
I disagree with your analysis.
If a process isn't doing processing, that's because it's blocked in the kernel. (Q: What does a HLT do in userland?) As soon as the kernel puts a process on a wait queue, it reschedules. So you don't have any loss 'waiting for the next context switch'; that's just time that another process is running, or if nothing has anything to do, that the kernel halts the processor.
Note: I haven't studied how process scheduling is handled under Linux, but I can't imagine any OS that wouldn't do what I said here... or at least, I can't imagine one that would halt the processor after a process blocks, while it waits for a timer interrupt to schedule the next process.
Okay, maybe one.
The link you entitled "Linux SH-5" discusses the GNUPro toolkit, which is pretty much the GNU toolchain (gcc, gas, ld, etc) and is unrelated to the Linux kernel. It doesn't announce that an OS is available.
Well, let's consider that three points are always on a plane, so in theory, you could say that three speakers are always coplanar. But, speakers are not defined only as points: the plane that the speakers occupy may not be the same as their projection plane.
In fact, to be adequately plotted, you'd need a speaker's direction, and the orientation of its projection plane. (I'm ignoring the power curve and other qualities inherent to the speakers; I'm only considering the positioning of the sound here.)
So, perhaps using the directional quality of the speakers, you'd be able to create some sort of 3D effect while still using coplanar speakers.
Of course, since we have coplanar ears, one could argue that we couldn't perceive it...
None of this is intended to argue against your point that manufacturers misuse the term 3D.
Sure... pause it to go to the bathroom and put some popcorn in the microwave, then when you get back, there's enough in the buffer to fast forward over the next commercial break.
Yes, you can record with a PC. That isn't all the TiVo offers, and what the TiVo offers isn't around on the PCs yet, and won't be for a while.
I use my TiVo to pause, rewind, and fast forward live TV. The tuner/frame grabber solution you offer could do that, but the software is geared for recording for later viewing. Admittedly, that's almost all I do with the TiVo, so let's continue.
When I set up a recording on the TiVo, I almost never notice what day or time it happens. I just record from the guide. The guide is great. I've used DirecTV's guide, TV Guide's DCT2000 software, and others. None of these are nearly as fast, versitile, or easy-to-use as the TiVo guide. I can search for "Maura Tierney" as an actress, and it will give me a listing of "Family Ties" four days from now when she was a guest star, not listed in the description!
So now that we have the guide, we can add Season Passes. This lets us say, "Record Enterprise". It will then record every showing of Enterprise, optionally skipping the eps that have been seen in the last 28 days. If the schedule changes, TiVo automatically accomodates this-- with priortization to help.
We've got all this program info, how about making some statistical predictions? I can rate shows (up to three thumbs up or down), and TiVo starts getting a feel about the actors, show types, descriptions, etc. that I like. It then can suggest programs I'd like, and automatically record them if there's space.
Don't forget dealing with space management, and intelligent expiration of shows when more space is needed.
All this and more... and the UI? Piece of cake. A non-techie, drunk guest can sit down, pick up my TiVo remote (which also controls the TV and reciever/amp with obvious buttons, no mode switch, so it's often the only remote I use) and use the TiVo with ease.
Sure, this can all be done with PC software. But it's not; nobody has this kind of software available. And I wouldn't want to even if it were. PCs are just not easy to use as consumer entertainment. I don't see any way to make a PC as easy to use as my TiVo.
ReplayTV (from SONICblue) is the most popular (after TiVo); I'm surprised you didn't know about it from /. coverage of their legal issues. Microsoft had UltimateTV, but retired it. Digeo (formerly Rearden Steel) is introducing one that works with the provider, and has a lot of amazing coders on staff and a Midasesque CEO.
Me, I'm a die-hard TiVo fan. But I am aware of the competition.
Yup, I've been using mplayer for a good while now. Switched from xine, because of the recent problems xine has with DivX.
I've played with the aalib (ASCII art) viewer, and it's amazing! A little tweaking of the brightness/contrast is recommended, but the detail is great!
So, here's a few tricks I've picked up that I'll share:
Okay, now that that's done, do you want to watch DVDs while you work? If you use Xv (or something similar), there's a lot of things you can do, depending on your choice of apps. (Use 'xvinfo' to see if Xv is on your system.) I won't post them all here, but the key is to turn the background color to the same color as the Xv key color. You then can use xine with '-rootwin -fs', and watch your movie as a background.
That said, the trick is finding out what that key color is; it's not even always the same between reboots, and the number that 'xvinfo' reports is a color index, not an RGB value.
You can use gimp and do a screen capture of a playing movie to get the correct RGB value, so you can put that into a color config. But that's not fun, and you may have to change it after the next reboot.
So, to anybody who emails me at piquan.piqnet@org (you fix it up), I'll gladly send a short program to set the Xv key color to something predetermined. (I use #0804f6, which lets you make color schemes that are viewable with or without movies playing.) Then you can set your app's background color and work while you watch.
I also have schemes or libraries to do this for the following:
I'll gladly share these too; just drop me an email.
Be sure that your app's window doesn't take up quite the whole screen, though, or the movie will be cropped to a bounding rectangle of what it thinks is visible. I'm still looking for a way to inhibit that behavior, but meanwhile, just leave a thin strip of pixels along the bottom and right when you resize a window.
By the way, none of the information in this post is BSD-specific. All this stuff should work on other Unices too, if you're forced to use one. The transparencies work with other viewers, but I find mplayer works best.
Sure it does. You say that "only one is active at any time", but that's not the whole story, at least not network-wide.
For example, client A may be sending key 1, client B sends key 2, and the AP sends using key 3. (This is exactly what happens at my home: the AP uses key 1, one computer uses a different static key, and the rest randomly rotate each time they attach.)
The clients need all the keys, so that they can read all the data they're getting. The question of which one is "active" refers to one transmitter, not the whole network.
So, now comes the question: if you have to decrypt using any key, how do you know which one to use? It seems that 802.11 sends an index of "which key am I sending with", so that the recipient can read it. That's why the key index matters.
My friends at work and I were discussing this type of "solution", the ones with marketing hype like "Buy this product, and you won't need a sysadmin!" Yeah, right. We decided it might be easier to make a product that replaces CEOs. I took ALICE (an Eliza-like bot), and modified it so that when it didn't understand what was going on, it would spout Dilbertian managementspeak.
So how about a college bookstore? I sometimes prefer used books for the highlighting and marginal commentary!
What's the point? mplayer already supports changing subtitles, I don't think it honors region codes (and DVDSynth probably won't help with h/w region checks), and the SCSI protocol spy doesn't belong there under the Unix device model.
That makes a lot less sense without adding that FreeBSD supports VMWare 2.x, but not DVDs.
I thought the region codes were handled by the DVD drive, not by the software or drivers. That's why the the regionset tool for Linux exists, no?
Well, if I recall correctly, Win95 didn't have DirectX when it was first released. The games of the day used DOS, and because of the problems with DOS mode, Microsoft wanted to promote Windows games, so they released WinG as part of 95, and as an add-on for Win3.1 (to appease the developers who were uneasy about losing the 3.1 market).
I worked in a software store at the time, and only recall one game that used WinG: SimTown. (It also used Win32s to run under Win3.1.) Most games continued to use DOS, particularly those that wanted the increasingly-important 3D acceleration that WinG didn't supply.
DirectX came about shortly thereafter, and was (I think) part of OSR2. It was hideous, but developers went for it, since they didn't want to have to run in the tempermental DOS box.
And yet again, we see a reimplementation of something that ITS and lispms had (in this case, through CHAOS).
Ironically, I saw this article while experimenting with my new tablet that I got from an ad on /. Runs Linux, has handwriting recognition, comes with dev tools, cost $600.
Look up at the ads now and then! www.mira2go.com
This information is very difficult to obtain.
Besides, with 24 hours * 200 channels, I get enough programming I like to start a useful evolutionary process.
Check out a few "Dilbert" books from your library to get an idea of what happens when you ask the customers for their ideas. The sad fact is, a lot of customers don't know what they want.
That's the point... by using TiVo to collect the data, instead of collecting this information before the TiVo, you can get better data.
If my cable company tries to get information based on my cable box, they'll probably have misleading information for the reasons you give. But my TiVo knows what I'm watching.
Read the TiVo Terms of Service for yourself... they're very clearly posted on the website. See what TiVo promises.
I'm fine with TiVo's ToS... they're good about privacy, and are clearly committed to this.
I also like the automatic upgrades, just like I'd like to get a more efficient fridge or bigger TV while I'm sleeping.
Bottom line: TiVo has earned my trust, and I'm fine with them having this control over my PVR.
If you visited FighterTown in Mountain View, they always had at least two pinballs, sometimes three, and they kept them in good repair. They also had a couple of upright video games.
Their attraction was the fighter sims. Two types: one was stationary but had a semi-realistic cockpit (similar style to American fighter planes, but different in detail). The other was mounted on hydraulics, and was pretty much the flight sim demo that comes with SGIs.
Even with these flashy machines, there was usually a fellow or two on the pinball machines. (Yes, I was one of them.)
Wish they hadn't closed down. sigh One of the assistant managers was excessively offensive to the regulars, who all left. It was all downhill after that. A lesson to businesses: take care of your customers!