]> sipb.mit.edu Git - wiki.git/blobdiff - projects/ideas.mdwn
Almost direct copy of the code licensing policy
[wiki.git] / projects / ideas.mdwn
index e6460516e340aa6153aa30e2d9ba9ce0dddafdc3..0847055e13aa2daa8dd0d0b33ae73eeeaab2c9d6 100644 (file)
@@ -145,20 +145,18 @@ configuration mangement framework is the Right Answer here. We looked at
 Puppet and a bunch of others last summer and concluded none fit our
 workflow well, but we could re-evaluate that.
 
-_Contact: geofft, scripts-team_
+*Note:* mitchb has begun working on this. Coordinate with him if you'd like to
+work on this project.
 
-We'd like a cron job to automatically tell us if
-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.
+_Contact: geofft, scripts-team_
 
 ## 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.
+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. Check out <http://sipb.mit.edu/library/> for the current state of the catalog.
 
-_Contact: pbaranay, fawkes_
+_Contact: zhangc, fawkes_
 
 ## Improve the Setup and UI for new users of Zephyr
 
@@ -170,12 +168,6 @@ 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
@@ -203,18 +195,85 @@ 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.
-
-_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_
 
+## Multiple views in BarnOwl
+
+[BarnOwl](http://barnowl.mit.edu/) nominally has views support. However, it consists of verifying that the view name is "main" and returning an error otherwise. It would be nice to maintain multiple sets of view state at once. This would involve figuring out semantics, moving some data structures around, adding the new functionality, designing some interface, and probably much testing for subtle bugs.
+
+_Contact: davidben_
+
+## Etherpad
+
+[Etherpad](http://etherpad.com/) is an awesome tool for online collaborative text editing. It's recently been open-sourced; set up a Java servlet container on XVM, make it work, and then start adding cool MIT features like, oh, the ability to edit daemon.etherpad-writable files in AFS, login with certs and see all your files, and print to Athena printers. Or add cool non-MIT features such as an Emacs client (possibly proxying [Infinote](http://gobby.0x539.de/trac/wiki/Infinote/Protocol), which appears to have some F/OSS implementations already), or integration with [codepad](http://codepad.org/) or [gists](http://gist.github.com/).
+
+*Note:* tvald has set up [etherpad.mit.edu](http://etherpad.mit.edu/).
+Coordinate with him if you'd like to get features into etherpad.mit.edu.
+
+_Contact: geofft_
+
+## RFC pretty-printing
+
+I think every RFC website I know of just puts the entire RFC plain text in a &lt;pre&gt; tag. It should be possible to parse out the headers and footers every "page", make section headings into useful ones, and reflow the non-diagram text in a proportional font, which would make RFCs more readable.
+
+_Contact: geofft_
+
+## scripts.mit.edu file upload form
+
+Really, it should not be as hard as it is to make a website where people can upload files too big for e-mail to your locker. Either find a good, simple, PHP or Python or something file upload app, or write a (relatively small) one of your own and a scripts autoinstaller.
+
+_Contact: geofft_
+
+## fakechrooted distros in AFS
+
+Thanks to the deeply disturbing magic of a couple of programs named fakeroot and fakechroot, you can without root privileges enter a "chroot" of an operating system and look at how things work in it. Create some appropriate chroots for popular Linux distros in a locker and appropriate wrapper scripts.
+
+_Contact: geofft, broder_
+
+## A couple of C/C++ hacking projects
+
+* Each AFS cell has its own database of users and groups. If you run `ls`, it will look up users and groups against the local machine's conception of users and groups, so if you take a stock Linux etc. machine and look at most any AFS cell, you'll get a bunch of unhelpful numbers. Make an interface that stands a decent chance of being merged into upstream `ls` to permit it to call `pts examine` (or, rather, the AFS library equivalent) against the appropriate servers instead of `getpwnam` etc. on AFS files. See also [Debathena Trac #300](http://debathena.mit.edu/trac/ticket/300).
+* OpenSSH has an option to enable [non-strict acceptor checking](http://www.sxw.org.uk/computing/patches/openssh-patches/strict-acceptor) for Kerberos authentication, so you can ssh to, say, scripts.mit.edu and successfully authenticate despite being load-balanced to a machine that thinks its name is, say, old-faithful.mit.edu. (Specifically a non-strict acceptor lets you authenticate to a machine using any credential in its keytab; a strict acceptor will require that you authenticate to the specific key for the machine's name.) Port the non-strict acceptor option to [Cyrus SASL](http://asg.web.cmu.edu/sasl/) so that scripts.mit.edu can pull the same trick for SVN and LDAP and so forth.
+* I often find that [sbuild](http://packages.debian.org/stable/sbuild) installs many of the same packages into the "base" chroot; for instance, a bunch of Debathena packages depend on cdbs and config-package-dev. sbuild should have the ability to take advantage a chroot with these packages preinstalled (so long as all the packages in this chroot still are a subset of the build dependencies), and for extra awesome bonus points, look at a repository and suggest what non-base chroots I should create.
+* [Write a caching NSS module](http://debathena.mit.edu/trac/ticket/486) that will play more nicely with Debathena than nscd (the current solution) does. It will probably end up looking like nss_nonlocal.
+
+_Contact: mostly geofft_
+
+## Binary compatibility between OSes
+
+Help the cause of OS ecumenism! FreeBSD provides [binary
+compatibility](http://www.freebsd.org/doc/handbook/linuxemu.html) with
+Linux operating systems: an add-on module to the kernel knows how to
+interpret Linux-"personality" programs, just like the base kernel can
+interpret FreeBSD-"personality" ones, and a standard component in the
+FreeBSD ports system will install a number of libraries from Fedora 10
+in /compat/linux.
+
+However, the number of people who use FreeBSD as their own OS is limited
+compared to those who use Linux or Mac OS X. Possible projects here
+include BSD binary compatibility on Linux, or porting FreeBSD's Linux
+binary compatibility to Mac OS X (which has a bunch of BSD-like parts,
+but whose core kernel is actually Mach). The latter would allow running
+Linux locker software on [MacAthena](http://macathena.mit.edu).
+
+_Contact: geofft, kaduk_
+
+## Consolidate and Update Athena documentation
+
+Athena documentation these days seems somewhat lacking and/or hard-to-find, which should not be the case. Athena is already foreign enough to incoming students, who are more likely to use their laptops than an Athena machine. Help make it easier by consolidating and updating available Athena documentation so that people know here how to use their Public folder, their Private folder, their dotfiles, and so on.
+
+_Contact: zhangc, kasittig_
+
+## Zephyr Client Hints
+
+Some time ago I wrote [a spec for zephyr client hints](http://geofft.mit.edu/p/zephyr-client-hints.txt), optional extensions that zephyr clients can easily implement to add nifty stuff like typing indicators and [preventing zwgc from starting more than once per user](http://debathena.mit.edu/trac/ticket/206) and such. I got lazy before actually implementing these specs, but I believe they'd be relatively easy extensions to both zwgc and barnowl (in their respective extension languages, even &mdash; no changes needed to core).
+
+_Contact: geofft_
+
 ## Your Project Here
 
 SIPB can help you out in terms of both computing resources and