X-Git-Url: https://sipb.mit.edu/gitweb.cgi/wiki.git/blobdiff_plain/981ceefa1c0e4924a890836981626289f726b6e0..fe3895fef3bf3df2e0fa8228bc59a4d10fec67f0:/projects/ideas.mdwn diff --git a/projects/ideas.mdwn b/projects/ideas.mdwn index 4587e04..dc97ac4 100644 --- a/projects/ideas.mdwn +++ b/projects/ideas.mdwn @@ -227,6 +227,66 @@ _Contact: jhamrick_ _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/). + +_Contact: geofft_ + +## RFC pretty-printing + +I think every RFC website I know of just puts the entire RFC plain text in a <pre> 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_ + +## Github-to-zephyr connector + +For git repositories that we have control over, it's easy to use our home-grown [post-receive zephyr hook](http://web.mit.edu/snippets/git-hooks/zephyr-post-receive) to send zephyrs when somebody pushes. We can't directly edit hooks on sites like [Github](http://github.com). However, Github does support [submitting a POST request](http://help.github.com/post-receive-hooks/) to an arbitrary URL when somebody pushes. It would be cool if there was a site - probably running on scripts.mit.edu - that you could point Github's post-receive hook at to get zephyred whenever somebody pushed to Github. + +[Bitbucket](http://www.bitbucket.org/help/ServiceIntegration#post) and [Google Code](http://code.google.com/p/support/wiki/PostCommitWebHooks) also support similar APIs. + +_Contact: 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_ + ## Your Project Here SIPB can help you out in terms of both computing resources and