(no commit message)
[wiki.git] / projects / ideas.mdwn
index 4621717f18e4f4240ffebc01b5126c4da3108f5e..8947246198b41dc19a91e200dd9877fb1e025edb 100644 (file)
@@ -12,6 +12,10 @@ along with the person who's suggested the project or a team that would
 be good to contact. Feel free to get in touch if something sounds
 interesting or you want advice getting started.
 
+A [[list from 2008-2009|/doc/project-ideas]] may also have some relevant ideas.
+
+[[!toc]]
+
 ## "add me to this list" button
 
 If I'm a webmaster for some group with an announcement list, it would be
@@ -76,16 +80,6 @@ This would be immensely more useful as an iPhone application.
 
 _Contact: ccpost_
 
-## Safari plugin for setting identity preferences
-
-Safari's handling of client-side certificate authentication [changed around OS X 10.5.3](http://support.apple.com/kb/HT1679), such that Safari won't present (and won't prompt you to present) a client-side certificate if certs are only optional. Unfortunately, most sites around MIT only optionally accept certs, in spite of the fact that they'll error out if you don't provide one.
-
-You can override this unfortunate behavior with "Identity Preferences", and IS&T's answer for this is [CertAid](http://ist.mit.edu/services/software/certaid/10x), which simply seeds the Keychain with a pre-defined list of websites for which Safari should present your cert. This isn't a great solution for, e.g., scripts.mit.edu, which has thousands of sites - far too many to give to IS&T to include in CertAid. If that wasn't irritating enough, Identity Preferences don't take affect until you restart your browser.
-
-A better solution would be a plugin for Safari that intercepted 401 errors sent over SSL, prompted you to set an Identity Preference, and then attempted to reload the page with the new identity preference set.
-
-_Contact: broder_
-
 ## Snapshotted virtual machines for all popular Linux distributions
 
 A common need for people writing Linux software is to check that their
@@ -107,19 +101,6 @@ support. If this is the kind of thing that interests you...
 
 _Contact: nelhage_
 
-## inotify logger for scripts and Debathena
-
-On both our [web hosting platform](http://scripts.mit.edu/) and Athena
-cluster machines, we have way more software packages installed than we
-suspect people use, but no good way of determining this. There's a Linux
-interface called [inotify](http://en.wikipedia.org/wiki/Inotify) that
-lets you get notifications when another user accesses the filesystem: it
-would be pretty simple to use this to collect aggregate (anonymous)
-statistics of what programs and packages are used frequently or even at
-all.
-
-_Contact: geofft_
-
 ## SIPB PostgreSQL server
 
 A lot of people prefer Postgres to MySQL, so having a community Postgres
@@ -171,6 +152,75 @@ there are RPM packages installed on some but not all of the servers,
 or if there are changes in /etc, other than hostname and such, that we
 haven't committed to the scripts Subversion repository.
 
+## SIPB Library
+
+SIPB has a bunch of books in its library. It'd be nice if a list of
+the library books also existed online in some sort of sane, searchable
+database. One possible platform is the [Exhibit](http://simile-widgets.org/exhibit/) project (which originates from a collaboration between the Haystack group in CSAIL and the MIT Libraries). This would require mostly just making a spreadsheet of the information.
+
+_Contact: pbaranay, fawkes_
+
+## Improve the Setup and UI for new users of Zephyr
+
+Currently, it is a pain to get someone else set up using zephyr
+within screen on Linerva with automatically-renewing tickets.
+We should write scripts to set them up so that that all they
+have to do is enter a command or click an icon, type their kerberos
+password, and then know how to use Barnowl.
+
+_Contact: afarrell_
+
+## MITeX
+
+Not a fully formed thought, yet, but the basic idea is to have a web app that lets users create a document, and then it texs the document nicely for them, based on some template that they've selected, and gives them a PDF.  They should have the ability to edit the source or just use the WYSIWYG editor.
+
+_Contact: jhamrick_
+
+## Build a web client providing full control to the user
+
+Create a web browser extension (or possibly a stand-alone browser) that is "web-developer antagonistic".  It essentially takes full advantage of the
+immense power of a web client, ignoring the wishes of the web developer and server while letting the user take full control.  Every JavaScript event (ideally variable, function, etc.), every rendering decision, every cookie setting, every HTTP request, if the user so desires, etc. is not only made visible but easily changeable.  When making a request, every aspect of the
+transaction can be completely fiddled with.
+
+There are several extensions that allow you to do stuff sort of like
+this (Firebug, Web Developer Toolbar, Chrome's web developer tools).  But they're hard to use and really mostly just debuggers.  Our goal here is to build something that goes out of its way to give you complete control via a nice UI.
+
+_Contact: leonidg_
+
+## Improve git with shared checkouts
+
+Around SIPB we're kind of [big](http://sipb.mit.edu/iap/git/) [fans](http://web.mit.edu/cluedumps/slides/understanding-git-2008.pdf) [of](http://blog.nelhage.com/2010/01/on-git-and-usability/) [git](http://negativespace.mit.edu/2010/03/08/gitionary-the-graphical-game-of-git-guessing/). But there is an area that git comes up short. We have a lot of common directories where people really just want to edit files in place (instead of wanting to clone/checkout, edit, commit, push...), but git doesn't support that well. It would be cool if there was a way to work with non-bare repositories in shared directories.
+
+One idea might be using FUSE to present a separate checkout to each person using the directory.
+
+_Contact: broder_
+
+## Scripts Pony Improvements
+
+[Scripts Pony](http://pony.scripts.mit.edu) is scripts.mit.edu's new hostname management system.  It was just released recently, and has lots of bite-sized improvements remaining to be implemented.  Particularly good ideas include adding the ability to show and edit hostname aliases, checking whether hostname paths exist and giving appropriate feedback, creating a zephyrbot to allow people to approve tickets easily, and adding the ability to check hostnames in Moira automatically.
+
+See [the project TODO file](http://web.mit.edu/pony/TODO) for more ideas.
+
+_Contact: xavid_
+
+## Bazki
+
+[Bazki](http://bazki.mit.edu/) is a wiki written in Python designed around several principles: structured data with object-oriented inheritance; using a wiki language with powerful macros that can be compiled into either HTML or PDF (via LaTeX); and making the content editable offline using a VCS.  Bazki works enough to to be useful, but it has lots of room for improvement and probably would benefit from some design changes.  It could also definitely use documentation.
+
+_Contact: xavid_
+
+## A zephyr log viewer
+
+Many SIPB-affiliated people use the [Zephyr](http://zephyr.1ts.org/) messaging system, and the [Barnowl](http://barnowl.mit.edu/) client for it in particular. Barnowl has a number of very nice features that make it easy to follow large amounts of zephyr traffic: search, color coding, auto-narrowing, etc. Barnowl can also store logs of zephyrs sent and received for future reference, but the logs are saved separated by class in a way that's quite annoying to navigate sometimes. A Barnowl-like interface (perhaps implemented as a Barnowl plugin) for viewing zephyr logs would be a great thing to have.
+
+_Contact: oremanj_
+
+## Migrate Gutenbach from lprng to CUPS
+
+lprng is the past, and CUPS is the future!  Our music player, Gutenbach, is currently running on lprng.  With the rest of campus switching to CUPS, it's really time we did so as well.  The filter needs to be rewritten for CUPS (and preferably in Python, this time), and the package needs to be redesigned to handle the way CUPS does things.
+
+_Contact: jhamrick_
+
 ## Your Project Here
 
 SIPB can help you out in terms of both computing resources and