document updated 18 years ago, on Sep 22, 2007
================================================================================================
========[ Browser-side ]========================================================================
================================================================================================
- a bookmarklet (that's emulated off of Reddit/Stumble/Digg/etc ones) pops up a new window
- the pop-up window is generated by a CGI script, which has a form that submits back to itself
- the form-processing simply appends the data to the relevant file(s), forks/detaches, and execs
the universal update script
================================================================================================
========[ End-user viewing ]====================================================================
================================================================================================
- all data will be output in static files... no CGI should be needed for reading
- there will be one single top-level file, of course, stored at:
http://paperlined.org/.homepage.html
- in addition, there'll be a copy stored here, with info my friends can know, but I don't
want to disclose to everyone:
http://paperlined.org/friends/.homepage.html
- and then stuff that's only likely to be of interest to me will go here:
http://paperlined.org/private/.homepage.html
- and a separate static .html file for each separate list (or separate views, if necessary),
which will be stored at:
http://paperlined.org/socialbookmark/
- views:
- site_archive.html: a historical view of what sites I've found interesting over time...
- sorted by "hotness", eg. some heuristic like reddit's... eg. sum(rank * length_of_time_at_that_rank)
Or, at the very least, $most_recent_rank.
- within each site, there'll be either a text list of the rank changes over time
- or, much more preferably, a .png graph of the same
================================================================================================
========[ Database format ]=====================================================================
================================================================================================
- the database format isn't crucial...
- performance isn't really important, since the files will only be run by the update script...
(while the update script can be triggered by CGI, it doesn't need to finish in CGI time, since
it'll detach first)
- but it would be nice to be able to update it by hand, either because it's a text file, or
because something like `edit_storable` will easily work on the file
- but it also needs to be easily appended to
- the "favorite sites" list will be in two different files:
- one, intended to be hand-edited, will look like this:
# most favorite at the top, least favorite at the bottom
# ID on the left should be unique over time (but case and extra spaces(underscores) are unimportant), URL on the right can be updated any time
# if a space is needed, use underscore instead
reddit => http://reddit.com/
StumbleUpon => http://www.stumbleupon.com/
Slashdot => http://slashdot.org/
Pandora => http://www.pandora.com/
Google_News => http://news.google.com/
# stuff that goes in the generic blogroll (prefixed by a colon)... order isn't important, they'll be reordered by name
:BoingBoing => http://www.boingboing.net/
:CrunchGear => http://crunchgear.com/
:Engadget => http://www.engadget.com/
:Wired => http://www.wired.com/
- the other file, a record of the changes over time, will be automatically updated from the file
above by the update script
- however, it should still be hand-editable, should I feel the need to revise history
(eg. to remove superfluous deltas, for instance)
================================================================================================
========[ Update script ]=======================================================================
================================================================================================
- if running under CGI (do a quick check of one or two environment variables), it will do what's
needed to detach from Apache's CGI handler. CGI scripts should exec this script when it wants to
start it up.
- otherwise, if running from the command line, it should give status about the files it's updating
================================================================================================
========[ Later modification by hand ]==========================================================
================================================================================================
- the update script should be easily runnable from the command line, as well as callable by CGI scripts
================================================================================================
========[ Time spent at favorite sites ]========================================================
================================================================================================
- if it's possible to have Firefox record how many pages I load / how much time I spend at each
site, it would be nice if this log could be crunched, to automatically generate statistics on how
much time I spent at each site. (though this might be data that would be semi-privaledged... it
might not be shown by default, and maybe not even very easy to find, but there should be a way for
friends (like Winsor) to make the data visible without much effort