Network Aware Screensavers?
borgquite asks: "Does anyone know of any network aware screensavers? I am running a school network and would love to be able to have a screensaver where the other computers communicate with each other in some way - for example, if you could have a marquee where the message gets passed from screen to screen. The best I can find is n 0 time, but is there anything else a bit more exciting?"
This is so not what you want to do, but it would still be so cool. Suppose you hacked up Xinerama to span X desktops on different machines and make them into a single giant screen with multiple independent pointers. Hmm. Not just pointers, but keyboards and focus as well. Woah, such a cool idea, my head's going to explode, gotta go.
Turn the monitors off and save a whale.
Wow, so far most of the posts have been "why would you do this? It's not necessary."
/. crowd...
Gawd, have things gotten sooo bad that coding useless but nifty apps is a lost art? Doesn't anybody tinker anymore?
I'm *soooo* sick of seeing post after post of "but why would I need this?" If you're asking this question, click the frigging back button already. You don't. Fuck off. Let the rest of us who would like a nifty-but-useless little app be merry.
I'm so worked up now I may write something like this just to piss off the 'practical'
"Ignorance more frequently begets confidence than does knowledge"
- Charles Darwin
I did this a few years ago. I wrote a screensaver that bounced a logo around. The whole reason for the screen saver was that it sent a UDP packet to a central logging server noting the time that the screen saver came on and went off. This allowed us to log each machine's idle time, and I had various awk scripts that made nice little reports (win32 screen saver, but server stuff is kept on Unix of course).
This was a really trivial program - one C file, took me maybe an hour or two to write. It would be extremely easy to extend it so that it sent a UDP packet to the "next" machine (where each machine has an ordered list of machines, saved in the registry), and waited for a reply. If no reply, send the packet to the machine after that, and so on. Once you get a reply, turn off the marquee; if no reply, wrap marquee around. The screen saver also listens for UDP packets when it's running. If it receives a packet when it doesn't have a marquee, it sends a reply, and scrolls in the marquee from the left. The only tough part is some sort of synchronization mechanism to ensure the marquee doesn't skip around; this synchronization would happen when the machine starts up the screen saver (this part is cloudy, the rest of the design is clear in my head).
I can't find my old code - this is a while ago, like five or six disk crashes - and the code was so trivial, I didn't put it in CVS (I only back up my CVS repositories, everything else I lose whenever a disk fails).
I might write this after dinner, since it sounds kind of cool. If I do, I'll base64 encode it and put it in my journal, so check my journal tomorrow morning (can't post directly to slashdot because of lameness filter, but it seems lameness filter doesn't apply to journal entries). I try to write my win32 stuff using gcc (cygwin environment for development, avoid cygwin libraries in final product) - if cygwin is missing the screensaver headers or something, I might use the MS .NET SDK (which is free and comes with fully-functional C and C++ compilers, nmake, and everything you really need to write win32 programs, just no lame IDE). If that won't work, I'll use VS 6.0.
I challenge anyone else on slashdot to write a better version, from scratch, by tommorow (2002-12-13). Should get interesting if anyone takes me up on this. I have to go to work tomorrow (which limits the time I can put into it), but you college kids should have plenty of free time since you should be on winter break by now.
The Sonar screensaver for X allows you to set it up to ping other systems on the network. I believe you can make it ping the whole network. The other systems are shows as blips on a radar. The higher the ping, the further away they are, I believe.
is what this sounds like. i have java code that does it, if you're interested. turning the java into somethime like a screen saver is an exercise for the reader ;-)
Primordial Life is a great network aware screensaver. It creates little creatures that evolve as the screensaver runs. Using the network, creatures that reach the edge of the screen can be sent to other computers, for a much larger virtual world.
Do not confuse duty with what other people expect of you; they are utterly different.Duty is a debt you owe to yourself.
I don't know if this project fits your idea of network aware, but there is electric sheep. In this screen saver, computer join a collaborative task to calculate the next fractal to display. I think there are Linux, BSD and Mac OS X ports.
It would be neat to setup a game server, and have a small game launch as the screen saver running a bot. The idle computers could compete against each other.
(people could write bot plugins...)
Does anybody know a Win95/98/ME screensaver that locks on the NT Domain password? Yes, I've done google-searches; even wrote one for Win311 once but it broke in 95/98. I'm no Win32 guru; I write Unix stuff.
The Web is like Usenet, but
the elephants are untrained.
I bounced a few random shapes around an entire lab my last year at college. It was pretty cool and took maybe 4 hours at most to write (I did it in front of the computer club on a projector as a two-meeting presentation series :-)).
I used OpenGL, SDL, and SDL_net to make things easy. If you're at all a programmer, it shouldn't take much to pull those tools together and do something simple. In my case, I actually had a file that would load informing the program which computer was to its left and right so the shape could move properly. But for an actual screensaver, I imagine something more random would be fine. Maybe using some broadcast packets to discover each other.
Fun stuff. Too bad I can't find the code anymore.
Hexy - a strategy game for iPhone/iPod Touch
why oh why does this not exist yet? I've been scouring the net for years, the Douglas's immovable sofa is nowhere to be found.
surely someone can provide us with this essential toy.
.
. hmmm
What I think would be neat is if you did some measuring and found the distance and relative angles of a set of monitors and integrated the measurements into views of a (3d)video game. It would be as if you had windows into the game. I.e. the monitors would be displaying geometricly correct views of the same world. It would be an awesome effect and not too difficult.
Im not here now... Im out KILLING pepperoni
however this margin is too small to contain it.
-malakai
-Malakai
A Dragon Lives in my Garage
Here's an idea:
In the initial setup process (and also in a configuration tool or file somewhere), each system's screensaver would ask for its physical position. Either absolute coordinates in a lab, or relative positioning to other machines could be used. In the case of relative positioning, you could either have each computer check those computers next to it if they're running the screensaver, and if those computers are currently displaying an object. If not, that screensaver would spawn an object. It would probably be easier to have a master server that knows which machines are currently idle and where they're at, and have each node send a message to the server/next node whenever an object is about to leave the screen, and in which direction it's going (forward, back, left, right, maybe up and down if there are monitors in a rack). For example, in a scrolling banner, as soon as the text touches the right side of the screen, it would send a message to the next node containing the text itself, the text velocity, and which side of the screen to begin it on. Since they're at the same velocity, the second node should have the text fully appear at the same time the text fully disappears from the first node. You could also have the server keep a pool of objects, and when a node's screensaver is deactivated, the object is sent back to the pool and displayed somewhere else. If only one computer in the lab is running the screensaver, it could have all the objects bouncing around, and as soon as other computers turn on, the objects would be distributed or sent to them as the server desires. You could even add manual control for objects, too.
A solution to the problem with music today
this may take a little time with a copiler to make run with windows, but Xscreensaver has a SONAR screensaver
part of a screenshot / description of entire package
there's not much to it, but it can render network ping times of other computers as if they were boats on the sonar display.
simple but cute
monkeys.
This reminds me of the old computer folklore story. I've heard two versions of it, one occurring at MIT, and one occurring at Georgia Tech. If anybody out there knows the true origin of this story I'd appreciate knowing.
The story associated with MIT goes that an unknown prankster programmed the mainframe to pick a random unused terminal in one of the computer labs, display a large eye on the screen, look left and right, wink and then disappear only to reappear on yet another unused terminal in the room. Apparently this caused quite a panic among the janitors at the time who thought the computer was watching them.
The story associated with Georgia Tech goes that late one night (or early one morning depending on how you look at it), a sleepy eyed operator was running the nightly backups. As he watched the status lines scroll by, a large (CBS logo style) eye appears on screen, winks and then disappears leaving only the status messages scrolling.
(as linked to in the story)
It's more concept art that evolves over time than a screeensaver, but unfortunatly it seems like everyone running it seems to create their own creation, rather than contribute to another. (there is a selection list of other users - you can hook into someone elses creation and contribute)
It uses a client-server though, and might not be what some people want for security/paranoia reasons.
I wrote (you're going to hate this) a very small VB screensaver that just runs an IE window (no nav bar etc) so that I can have a screen-saver showing a webpage, and point it at a web page that has a META tag to refresh every 60 seconds.
We run this on a machine plugged into a plasma screen so that our "latest build status" web page is always on display in the corner of the room, but the machine it's running on is locked against casual prying eyes.
I don't know why IE doesn't have a screen-saver mode built-in itself, and as far as I know Mozilla or similar don't do this...
Anyway, it's about 300 lines of VB which you're welcome to (contact me via schmerg.com), and then you can just write webpages to co-ordinate any action between machines.... get each client to request a page and add it's local machine name as a CGI parameter and you're away...
--
T
I spent a lot of money on booze, birds and fast cars. The rest I just squandered. - George Best
Yet again, slashcode is pissing me off. I have this 100K base64 file I want to post, and it won't let me do it, not even in my journal. It lets me do it if I split it up into tiny chunks, but I don't have time for this. This has happened a few times before. Great thing is, you don't get an error message or anything when your journal entry is too big - you just get dropped into some other page with no explanation.
OK, it works if I make it smaller by removing the built executable and split it in two. You'll need to compile yourself, and you'll need MS VS 6.0 to do it. Still pisses me off. I guess I'm not encouraged to share code on slashdot, eh?
Below are the contents of the README:
It's a giant, multiple machine aquarium. You'll not only get fish swimming across machines in your network, but across the Internet. Here's a blurb from their site:
The only drawback for me is that it's written in Java, so getting it to run on the FreeBSD servers in the data center didn't work.
Have fun!
There's so little difference between politics and jihad lately...
I don't have to pay their electric bill.
I could give you a place to post it on my web server, if you'd like. It's a pretty nifty project.
Question... how do I decode base64?
I may wind up re-implementing the graphics part in SDL so it'll run on pretty much anything... think about it; roaming across a Windows PC, a SPARC, a Linux box, and a PlayStation2.... that would kick some major ass!
Lex orandi, lex credendi.
Or read the last FAQ on this page.
I'll admit the problem has mostly (but not entirely) gone away with newer technology, but it is still worth running a screen saver/blanker and/or enabling the power saver mode to keep your monitor working it's best.
Please consider making an automatic monthly recurring donation to the EFF
Currently it works in a way that means it can span multiple video cards in a single machine, but not multiple machines. X itself lets you have many pointers, but only one window can have the keyboard focus.
The way I use these things is to have a big desktop that spans a couple of monitors along with both a mouse and a trackball for different kinds of work. But I was envisioning a giant shared desktop with many people working in it: not only could you get nitfy screen-saver effects, you could do things like passing windows or icons around between people's desktops directly. "Here are my changes to the code. Look them over before I commit them." The seamless collaboration part of the idea really floors me, and after some thought I really think Someone Should Do It (i.e., I should get off my lazy ass and code it unless someone else kindly decides to do it for me).
That maybe they are running very important applications in the background? Hmm?
I cannot stand to sit there for hours while my 40,000 Ween bootlegs download. I can only have my spyware collect so much surfing information before I have to walk around a bit.
Seriously though, a lot of people only know how to shut them off by whizzing on them.
Keep your packets off my GNU/Girlfriend!
I've seen a lot of "screen savers" like that, the most popular of which is the SETI@Home "screen saver".
Then there are others which do have elements which move around the screen, but don't use the color phosphors in a fairly uniform way.
Actually, IIRC, isn't it true that the different colored phosphors in a monitor fade/age at a different rate? How about inventing a screen saver which counteracts that?
Another useful utility would be something which provides useful information, which I'm sure some do exist. Does anyone know of a useful screen saver which can provide "at a glimpse" view of the status of various information (weather, stocks, network activity, etc)?
Please consider making an automatic monthly recurring donation to the EFF
(I used to DJ at a bar where they left a big screen on every night after closing. You can still see the CNN logo in the bottom right hand corner of the screen.)
I see even classic Slashdot is now pretty much unusable on dial up anymore.
I tested it like this from a Unix machine:
I guess I didn't mention that it's supposed to be zip file, which would save people time. Base64 is nice in that it should ignore all extraneous whitespace and whatnot that slashcode puts in it.
As for hosting it - do whatever you want with it. I'm only throwing it on slashdot and not putting it on a server because I prefer to remain somewhat anonymous on slashdot.
Have fun with it - the graphics part is just a big bitblt as I've never really done any graphics stuff.