Indefinitely on hold. Focusing on Soda Machine.
Contents |
Ideas
- I think right now we should work on a manual-entry system only. An automatic system would require us to filter out all bad things...well...automatically. That won't be fun.
- Also, we need to find or write a program that reads in a file, and posts what's in that file on a power-point like thing. If we can find a way to write .ppts easily, that'd work too.
- powerpoint files are likely vary complex, seing as how the documentation for office file formats is ~450 pages. Powerpoint should support VBA though, which might be a way to script from within the program --Jeff
- html or just images would be easier to generate, plus then you could add announcements on the fly --Aaron
- This could work. html would be nice if we could set up something that rotated the page every few minutes. Images could be quite easy if we could dynamically make them. Just throw them all into a folder and let gnome/kde's slide show program do the work :) --will
Things We Need
- A computer
- A wireless card
- A fake CS login (to connect to tsunami)
- A program to read and post announcements
The wireless card and fake CS login aren't needed if we can convince the CSL / building staff to put up the cat-5 tube that the old announcement computer used. We should try to do that, since it's a *much* better solution than what I originally had in mind. Problem here is that we'd want it to be under UPL control, not CSL control. Very long cat-5 and a hole in the wall into the UPL? A wireless card and setting up a computer here as a bridge could work too, but we'd need a wireless card, again.
We'll be getting a computer from the graphics lab, which will work fine for our needs. We'll probably end up using one of these old computers that we currently have for the announcement computers, after switching all the new ones in.
Structure of Announcement Computer
This is what I was thinking about how to structure it. We'd have two directories. One would contain the meta-data on messages to post, and the other would contain the messages themselves. We'll call them meta/ and msgs/, respectively. meta/ will contain files that we'll read that will tell us the Message name, when it was first posted, and how long it'll last / when it should be taken down. We'll read all those files, and if a message is still to be posted, we'll do so. Otherwise, we delete that file from the meta/ folder. Once every day (3am?), we'll update to figure out what shouldn't be there anymore, and what should be.
In the case of msgs/, I'm imagining a system where messages are split up by year, then by month. That way we'll have a decently archived list of the messages. Maybe we should further sort them, but I'm not sure if per-day is the best way to go...per week maybe? These files will simply have the message to be written.
We'll also need a file which will state what the "Earliest" date to start looking at is. It's location should NEVER change.
Things Done
- Researched how to make directories from within a program.
- Found a library that lets us dynamically make images. It's kinda wonky. But it works. It's called libgd2. (EDIT: Or not. See below.)
- Wrote a short program that outputted text as a .png. Very ugly, but it works for now.
- I take it back. It doesn't work. Words don't wrap properly around. Unless Alex is interested in doing a pretty printing algorithm, this library is not going to be what we use.
Things To Figure Out
- Cron jobs
- Making directories from w/in C programs.
- We can do this with a system() call: http://www.cs.cf.ac.uk/Dave/C/node22.html -Alex
- How to get the messages up on the screen.
Things to Do
- Get Computer
- Figure out how to get it hooked up to our network
- Make program to read in all the meta-files.
- Possibly make this one output a file with a list of files to put up. Then another program can read that list and actually put them up.
- Possibly make that program that'll read the compiled-list and output it.
- KEEP IT DOCUMENTED DAMNIT
- check out TeX, maybe it could help us.
- `tex file | dvi2ps | ps2jpg > output`
- text2gif
- MagicPoint
- reStructuredText and Docutils
People working on this project
- Will
- Alex

