Merge updated git import of Trac content into Markdown.
authorGeoffrey Thomas <geofft@mit.edu>
Mon, 21 Sep 2009 01:56:28 +0000 (21:56 -0400)
committerGeoffrey Thomas <geofft@mit.edu>
Mon, 21 Sep 2009 02:51:01 +0000 (22:51 -0400)
Conflicts:

doc/AFSAndYou
doc/CupsOnMac
doc/SummerReading
doc/UsingZephyr

94 files changed:
.gitignore [new file with mode: 0644]
announce/2009-07-03-mail.mdwn [new file with mode: 0644]
calendar.mdwn [new file with mode: 0644]
clockworks.mdwn [new file with mode: 0644]
computer_help.mdwn [new file with mode: 0644]
computer_stories.mdwn [new file with mode: 0644]
computer_tours.mdwn [new file with mode: 0644]
doc.mdwn [new file with mode: 0644]
doc/AFSAndYou [deleted file]
doc/BugsTest [deleted file]
doc/Debianization [deleted file]
doc/HackathonIdeas [deleted file]
doc/KerberizedServer [deleted file]
doc/LennyBugs [deleted file]
doc/LennyBugsAll [deleted file]
doc/QuickPrint [deleted file]
doc/RootInstance [deleted file]
doc/SummerReading [deleted file]
doc/TraditionalZephyr [deleted file]
doc/UsingScreen [deleted file]
doc/UsingZephyr [deleted file]
doc/WikiStart [deleted file]
doc/afs-and-you.html [new file with mode: 0644]
doc/barnowl.mdwn [moved from doc/BarnOwl with 58% similarity]
doc/cups-on-mac.mdwn [moved from doc/CupsOnMac with 51% similarity]
doc/debian-hacking.mdwn [new file with mode: 0644]
doc/debianization.mdwn [new file with mode: 0644]
doc/kerberized-server.mdwn [new file with mode: 0644]
doc/lenny-bugs-all.mdwn [new file with mode: 0644]
doc/lenny-bugs.mdwn [new file with mode: 0644]
doc/project-ideas.mdwn [moved from doc/ProjectIdeas with 97% similarity]
doc/project.mdwn [new file with mode: 0644]
doc/quickprint.mdwn [new file with mode: 0644]
doc/root-instance.mdwn [new file with mode: 0644]
doc/screen.mdwn [new file with mode: 0644]
doc/summer-reading.mdwn [new file with mode: 0644]
doc/traditional-zephyr.mdwn [new file with mode: 0644]
doc/zephyr.mdwn [new file with mode: 0644]
documentation.mdwn [new file with mode: 0644]
hackathons.mdwn [new file with mode: 0644]
history.mdwn [new file with mode: 0644]
history/The Student Information Processing Board.pdf [new file with mode: 0644]
images/IAP.png [new file with mode: 0644]
images/SIPBlogo.png [new file with mode: 0644]
images/cluedump.png [new file with mode: 0644]
images/gradient.jpg [new file with mode: 0644]
images/gradient.png [new file with mode: 0644]
images/gradientbg.jpg [new file with mode: 0644]
images/grumpyfuzzball.png [new file with mode: 0644]
images/grumpyfuzzball_half.png [new file with mode: 0644]
images/logos/XVM.png [new file with mode: 0644]
images/logos/debathena.png [new file with mode: 0644]
images/logos/linerva.png [new file with mode: 0644]
images/logos/scripts.png [new file with mode: 0644]
images/nav-blue.png [new file with mode: 0644]
images/nav-green.png [new file with mode: 0644]
images/nav-orange.png [new file with mode: 0644]
images/nav-white.png [new file with mode: 0644]
images/nav-yellow.png [new file with mode: 0644]
images/opendoor.png [new file with mode: 0644]
index.mdwn [new file with mode: 0644]
join.mdwn [new file with mode: 0644]
license.mdwn [new file with mode: 0644]
members.mdwn [new file with mode: 0644]
office.mdwn [new file with mode: 0644]
office/readingGroup.mdwn [new file with mode: 0644]
office/zephyrClasses.mdwn [new file with mode: 0644]
old-ecs.mdwn [new file with mode: 0644]
photos/hackathon-1.240.jpg [new file with mode: 0644]
photos/hackathon-1.jpg [new symlink]
photos/hackathon-2.240.jpg [new file with mode: 0644]
photos/hackathon-2.jpg [new symlink]
photos/hackathon-3.240.jpg [new file with mode: 0644]
photos/hackathon-3.jpg [new symlink]
photos/hackathon-food.240.jpg [new file with mode: 0644]
photos/hackathon-food.jpg [new symlink]
photos/office-hackathon-whole.320.jpg [new file with mode: 0644]
photos/office-hackathon-whole.jpg [new symlink]
photos/office-hackathon.320.jpg [new file with mode: 0644]
photos/office-hackathon.jpg [new symlink]
projects.mdwn [new file with mode: 0644]
projects/clockworks.mdwn [new file with mode: 0644]
projects/ideas.mdwn [new file with mode: 0644]
projects/lockers.mdwn [new file with mode: 0644]
projects/mailman-acl.mdwn [new file with mode: 0644]
projects/mirrors.mdwn [new file with mode: 0644]
projects/sipb-afs-sync.mdwn [new file with mode: 0644]
projects/talks.mdwn [new file with mode: 0644]
projects/talks/2009/larry_wall.mdwn [new file with mode: 0644]
projects/www.mdwn [new file with mode: 0644]
sandbox.mdwn [new file with mode: 0644]
stories.mdwn [new file with mode: 0644]
style.css [new file with mode: 0644]
templates/cols.mdwn [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..a8764b7
--- /dev/null
@@ -0,0 +1,3 @@
+/.ikiwiki
+/recentchanges
+*~
diff --git a/announce/2009-07-03-mail.mdwn b/announce/2009-07-03-mail.mdwn
new file mode 100644 (file)
index 0000000..90aba71
--- /dev/null
@@ -0,0 +1,64 @@
+For real-time updates on the ongoing outage, see the "E-mail" section of MIT's [3down](http://3down.mit.edu/3down/#e) page, or [this](http://web.mit.edu/network/email_outage_20090723.html) page about the incident.
+
+Below is the email sent around 4pm on July 23rd about the outage.
+
+    From: Christine Fitzgerald <cavanna@MIT.EDU>
+    To: "is&t@mit.edu" <is&t@mit.edu>,
+            "itpartners@mit.edu" <itpartners@mit.edu>,
+            "it-lead@mit.edu" <it-lead@mit.edu>,
+            "infogroup@mit.edu" <infogroup@mit.edu>
+    Subject: EMAIL OUTAGE:  Issue with Incoming Email
+    Date: Thu, 23 Jul 2009 15:53:50 -0400
+    CC: "tmstone@mit.edu" <tmstone@mit.edu>,
+            "sharonp@mit.edu" <sharonp@mit.edu>
+    
+    At approximately 6:00 am today, we experienced issues with the
+    delivery of incoming mail on five of our IMAP post office servers
+    (po9, po10, po11, po12, and po14).  This affects users whose email is
+    running on the traditional IMAP email servers and does not impact
+    those who are running email using Microsoft Exchange.
+    
+    The root cause of the problem was identified as damaged controller
+    cards on the SAN (which is our email storage system).  These cards
+    were replaced this morning and we have been able to restore three
+    (po9, po12, po14) of the five post office servers.
+    
+    The Network team continues to trouble shoot the remaining problems
+    with the post office servers (po10 and po11) and is working closely
+    with our vendor, SUN and their engineering experts for issues related
+    to the SAN storage device.  Simultaneously, we are working to help
+    users effected by the outage get their incoming mail by bring up a
+    separate storage device. All inbound mail is being queued and will be
+    delivered once the servers are restored.
+    
+    We realize that this outage has affected a number of users on campus
+    and we have been working throughout the day to restore this service
+    for you. Restoration is a complex process and is being closely
+    monitored every step of the way. Updates have been posted to the
+    3-DOWN website on a regular basis throughout the day and a message has
+    been posted to the Service Desk call center line to notify users of
+    the situation.
+    
+    We understand how important email is to all of you and we apologize
+    for the inconvenience this has caused.
+    
+    Please direct any questions you may have to the Service Help Desk at
+    computing-help@mit.edu or 617.253.1101.
+    
+    Best,
+    Christine
+    _______________________________________________________________________________
+    NOTE:  IS&T will *NEVER* request passwords or other personal information via email.
+    Messages requesting such information are fraudulent.
+    _______________________________________________________________________________
+    Christine C. Fitzgerald
+    Manager of Strategic Communications
+    
+    Informations Services and Technology (IS&T)
+    Massachusetts Institute of Technology
+    77 Massachusetts Avenue, Room N42-240N
+    Cambridge, MA 02139-4307
+    
+    cavanna@mit.edu
+    617.253.9814
+
diff --git a/calendar.mdwn b/calendar.mdwn
new file mode 100644 (file)
index 0000000..33c21d5
--- /dev/null
@@ -0,0 +1,5 @@
+[[!meta title="Upcoming Events"]]
+
+<iframe src="http://www.google.com/calendar/embed?src=heris1brg7rigiep8t2c3roa1o%40group.calendar.google.com&ctz=America/New_York" style="border: 0" width="800" height="600" frameborder="0" scrolling="no"></iframe>
+
+Or [get the calendar](http://www.google.com/calendar/ical/heris1brg7rigiep8t2c3roa1o%40group.calendar.google.com/public/basic.ics) as an iCalendar file.
diff --git a/clockworks.mdwn b/clockworks.mdwn
new file mode 100644 (file)
index 0000000..cff37fb
--- /dev/null
@@ -0,0 +1 @@
+You were probably looking for this page: [[Clockworks|projects/clockworks]]
diff --git a/computer_help.mdwn b/computer_help.mdwn
new file mode 100644 (file)
index 0000000..b2c7375
--- /dev/null
@@ -0,0 +1,12 @@
+#Computer Help
+
+SIPB offers a number of services from its office (W20-557, right next to the Student Center Athena cluster).
+
+Some services include:
+
+* Unofficial computing help (great for when Athena eats your pset at 4am, or if you have any questions!)
+* Various computer hardware for public use (CD/DVD burners, film and paper scanners, etc.)
+* Mac and WinAthena computers for use
+* Office tools (stapler, thesis stapler, hole-punch, pencil sharpener, scissors, etc.)
+
+We do not have a loaner policy; all SIPB property must remain in the SIPB office. Please feel free to call ahead (x3-7788) to confirm that the office is open.
diff --git a/computer_stories.mdwn b/computer_stories.mdwn
new file mode 100644 (file)
index 0000000..90851c4
--- /dev/null
@@ -0,0 +1,8 @@
+#SIPB Computer Stories
+
+SIPB hosts [Jeff Schiller](http://jis.mit.edu/)&mdash;the MIT
+Network Manager, a SIPB member, and a fantastic storyteller, to tell
+stories about MIT and computing for an audience each September.
+
+Look out for an announcement on [the SIPB home page](http://sipb.mit.edu),
+at the activities midway, or on posters around campus.
diff --git a/computer_tours.mdwn b/computer_tours.mdwn
new file mode 100644 (file)
index 0000000..74398fd
--- /dev/null
@@ -0,0 +1,7 @@
+#SIPB Computer Tours
+
+SIPB runs a computer tour every September. Tour features include
+server rooms around campus and interesting labs in CSAIL.
+
+Look out for an announcement on [the SIPB home page](http://sipb.mit.edu),
+at the activities midway, or on posters around campus.
diff --git a/doc.mdwn b/doc.mdwn
new file mode 100644 (file)
index 0000000..b2bb135
--- /dev/null
+++ b/doc.mdwn
@@ -0,0 +1,97 @@
+[[!meta title="SIPB Documentation"]]
+
+SIPB offers documentation for users at MIT and elsewhere.
+
+
+## Recent Documentation
+
+* [[Using Zephyr|doc/zephyr]] <br />
+A guide on using Zephyr today with BarnOwl (and GNU Screen). Aimed at newcomers to Zephyr, and a pretty good reference.  See also [the Barnowl wiki](http://barnowl.mit.edu/).
+
+* [[AFS and You|doc/afs-and-you]] <br />
+A useful guide to AFS (originally the Andrew File System), the system that stores your Athena files. Targeted at mid-to-advanced users, this is a more up-to-date version than the Inessential Guide to AFS above.
+
+* [[doc/screen]] <br />
+Handy for [[doc/Zephyr]] and anything else you do in an ssh session.
+
+* [[Printing with CUPS on the Mac|doc/cups-on-mac]] <br />
+How to set up printing on a Mac.
+
+* [[Kerberized Server|doc/kerberized-server]] <br />
+Explains keytabs and how to get one and how that lets you SSH somewhere with Kerberos.
+
+* [[Root Instance|doc/root-instance]] <br />
+Explains root and extra instances in Kerberos.
+
+* [[Summer Reading|doc/summer-reading]] <br />
+Documents and books that various SIPB members recommend reading.
+
+
+
+## IAP Classes and Cluedumps
+
+SIPB teaches [an array of classes](http://sipb.mit.edu/iap) each IAP and shorter [cluedumps](http://cluedumps.mit.edu/) in the fall.
+Some of them leave notes useful as documentation.
+
+* [Java Class Notes](http://stuff.mit.edu/afs/sipb/project/iap/Archive/1999/java/outline.html) <br />
+These are the electronic slides that were used in SIPB's popular Java class.
+
+* [Understanding Git](http://web.mit.edu/cluedumps/slides/understanding-git-2008.pdf) <br />
+These slides were developed for a SIPB cluedump on the Git version control system.
+
+
+## Documentation in progress
+
+* [[doc/Debianization]] <br />
+How to package software for Debian and Ubuntu.  Popular topic in SIPB projects thanks to [Debathena](http://debathena.mit.edu/) and [XVM](http://xvm.mit.edu).
+
+
+
+## The Inessential Guide Series
+The SIPB Inessential Guide series contain useful information about a variety of computing topics. Explore!
+
+* [An Inessential Guide to Athena](http://stuff.mit.edu/afs/sipb/project/doc/guide/guide/) ([DVI](http://stuff.mit.edu/afs/sipb/project/doc/guide/guide.dvi))([PDF](http://stuff.mit.edu/afs/sipb.mit.edu/project/doc/guide/guide.pdf))([PS](http://stuff.mit.edu/afs/sipb.mit.edu/project/doc/guide/guide.ps))<br />
+A large guide on how to get the most out of your Athena account, from reading mail, to using AFS, to sending zephyrs.
+
+* [An Inessential Quick Reference to Athena](http://stuff.mit.edu/afs/sipb/project/doc/quickref/quick/) ([DVI](http://stuff.mit.edu/afs/sipb/project/doc/quickref/quickref.dvi)) <br />
+A one-page reference to the most basic information about Athena, including logging in, reading email, and getting help.
+
+* [Inessential AFS](http://stuff.mit.edu/afs/sipb.mit.edu/project/doc/afs/html/afs-new.html) ([DVI](http://stuff.mit.edu/afs/sipb/project/doc/current/iAFS.dvi))([PDF](http://stuff.mit.edu/afs/sipb/project/doc/current/iAFS.pdf))([PS](http://stuff.mit.edu/afs/sipb/project/doc/current/iAFS.ps)) <br />
+A guide to AFS (Andrew File System) - the system used to store your files on Athena. Note that a more updated version of this guide can be found [[here|doc/afs-and-you]].
+
+* [Inessential LaTeX (PDF)](http://stuff.mit.edu/sipb/ilatex) ([DVI](http://stuff.mit.edu/afs/sipb/project/doc/current/iLaTeX.dvi)) ([HTML, but somewhat dated](http://stuff.mit.edu/afs/sipb.mit.edu/project/www/latex/guide/guide.html))  <br />
+A very helpful guide to LaTeX, a typesetting program commonly used for doing PSets, writing papers, theses, books, etc.
+
+* [Inessential MATLAB](http://stuff.mit.edu/afs/sipb/project/www/matlab/imatlab/imatlab.html) ([DVI](http://stuff.mit.edu/afs/sipb/project/doc/imatlab/imatlab.dvi)) ([PDF](http://stuff.mit.edu/afs/sipb/project/doc/current/imatlab.pdf)) <br />
+A guide to using MATLAB on Athena.
+
+* [Inessential Zephyr](http://stuff.mit.edu/afs/sipb/project/doc/izephyr/html/izephyr.html) ([DVI](http://stuff.mit.edu/afs/sipb/project/doc/izephyr/izephyr.dvi))([PDF](http://stuff.mit.edu/afs/sipb/project/doc/izephyr/izephyr.pdf)) <br />
+A guide to using the Athena instant-messenging system, Zephyr. Less relevant now that most people use Barnowl, try [this](http://sipb-www.scripts.mit.edu/doc/wiki/UsingZephyr) instead
+
+* [Inessential Bitmaps](http://stuff.mit.edu/afs/sipb.mit.edu/project/doc/ibitmap/ibitmap.html) ([DVI](http://stuff.mit.edu/afs/sipb/project/doc/current/ibitmap.dvi)) <br />
+A guide to drawing and displaying XBM bitmaps and other graphics.
+
+* Inessential Refrigerator Restocking (Internal DVI version - inquire at SIPB) <br />
+A guide on how to restock a soda fridge. It isn't as hard as you make it look.
+
+
+## Other Documentation
+
+* [How to Choose a Good Password](http://stuff.mit.edu/afs/sipb/project/doc/passwords/passwords.html) ([DVI](http://stuff.mit.edu/afs/sipb/project/doc/current/passwords.dvi)) <br />
+A one-page list of guidelines on how to choose secure passwords, and why this is important.
+
+* [Filtering Your E-Mail on Athena](http://www.mit.edu/afs/sipb/project/doc/imailfilters/imailfilters.html) <br />
+A quick guide to filtering your e-mail on Athena's common email-clients.
+
+* [Getting Started with PGP on Athena](http://stuff.mit.edu/afs/sipb/project/doc/pgp/pgp.html) <br />
+A quick guide to using PGP security on Athena.
+
+* [DVI files? What are those? What's XDVI?](http://stuff.mit.edu/afs/sipb/project/www/latex/xdvi/xdvi.html) ([DVI](http://stuff.mit.edu/afs/sipb/project/doc/current/xdvi.dvi)) <br />
+XDVI is a program to view DVI files, a common output format from LaTeX.
+
+* [NetNews: A One-Page Guide to the Usenet](http://stuff.mit.edu/afs/sipb/project/www/netnews/netnews-doc/netnews-doc.html) ([DVI](http://stuff.mit.edu/afs/sipb/project/doc/current/onepage-netnews.dvi)) <br />
+A one-page reference to reading NetNews.
+
+* [Using Discuss](http://stuff.mit.edu/afs/sipb/project/www/discuss/discuss.html) ([DVI](http://stuff.mit.edu/afs/sipb/project/doc/current/discuss.dvi)) <br />
+A guide to using and enjoying the Discuss bulletin board system on Athena.
+
diff --git a/doc/AFSAndYou b/doc/AFSAndYou
deleted file mode 100644 (file)
index ea323be..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-[[PageOutline]]
-
-Mostly written by Donald Guy, [[BR]]
-drawn from a variety of sources. [[BR]]
-Credit goes to them, blame goes to him.
-
-= What is AFS? =
-The '''Andrew File System''' or '''AFS''' is a distributed network file system invented at [http://www.cmu.edu/index.shtml Carnegie Mellon University] as part of Project Andrew (approximately their equivalent of MIT's Project Athena). More importantly, it is the file system used to store most files on Athena today. This includes your personal home directory, the data and websites of many living groups and student groups on campus, and probably some of the software you run (if you ever use Athena clusters). (Though all user directories were migrated from NFS in the summer of 1992, some files probably still remain on NFS and, of course, various file systems are used on personal computers and servers.)
-
-'''''In Short: AFS is probably where some of the files you care about live'''''
-
-For the most part, using AFS, particularly at MIT, is well-hidden and can be used like any other UNIX file system. For some things, you will need to know a bit more. Let's start by defining some terms.
-
-= Some MIT/AFS terminology = 
-
- '''locker'''::
-    For practical purposes, a folder. Probably the what you'll care about most of the time. Technically any directory mountable under /mit, regardless of how its stored. Today, most lockers lockers are stored in AFS.
-
- '''tokens'''::
-    Essentially proof to the AFS servers that you are who you say you are, thus allowing you to access files you are supposed to. Analogous to Kerberos tickets. 
-
- '''cell'''::
-    AFS concept of an "administrative domain of authority." Each cell has its own set of users, groups, and administrators. Analogous to a Kerberos realm. Each top-level directory in /afs corresponds to a cell. The cells you are most likely to care about are {{athena.mit.edu}} and {{sipb.mit.edu}}.
-
-= The Basics =
-
-== The Layout of a Typical MIT Locker ==
-Every Athena user has a locker (their home directory), which mounts at {{{/mit/<username>}}}. From a technical standpoint, it is stored in the volume {{{user.<username>}}} which is located at {{{/afs/athena.mit.edu/user/<first letter>/<second letter>/<user name>}}}. For example, the user {{{joeuser}}} has a home directory that mounts at {{{/mit/joeuser}}}, is volume {{{user.joeuser}}}, and is accessible at {{{/afs/user/j/o/joeuser}}}. Lockers for projects, software, classes, living groups, and student groups are all mounted at {{{/mit/<lockername>}}} and stored at various places in AFS.
-
-Within each locker, there are (by default) 4 special subdirectories you want to care about.
-
- '''{{{Public}}}''':: 
-  By default, this directory can be read by everyone (and I do mean EVERYONE!), so put files here you want to share with the entire world.
- '''{{{Private}}}'''::
-  By default, this directory can only be read and can only be ''listed'' by you (from AFS, not from web) whereas the files in other directories can (by default) only be read by you, but can be listed by anyone. This means that other people can't see the contents of your files, but they can see what files you have outside of {{{Private}}} 
- '''{{{OldFiles}}}'''::
-  This folder is a link to a read-only copy of a backup of your files (created nightly at 3 a.m.). This copy cannot be edited and does not count towards the locker's quota. (From a technical standpoint, this is a separate volume, user.<username>.backup and is stored only as changes against the current copy.)
- '''{{{www}}}'''::
-  Where you should put a website, if you want one. There is very little special about this directory from an AFS standpoint, but it is world-readable (like Public) and is linked directly to {{{http://www.mit.edu/~<lockername>}}} as well as {{{http://web.mit.edu/<lockername>}}}.
-
-
-== Accessing Lockers ==
-
-=== From Athena ===
-
-On Athena, you can access a locker either as its full AFS path, if you know it (e.g. {{{/afs/athena.mit.edu/course/6/6.01}}}), or under {{{/mit}}} if it is "attached." Yet a third way is to use tilde expansion and simply {{{ cd ~~<locker> }}} (e.g. {{{cd ~~6.01}}}) which will take you to the full path. Often, however, you want to attach lockers because it is easier to refer to them outside of the shell (in a script, for example) and software is set up to run with a path under {{{/mit}}}. There are a few ways to attach a locker: 
-
- * If you are running on a [http://debathena.mit.edu Debathena] machine, such as [http://linerva.mit.edu linerva.mit.edu], then simply {{{cd /mit/<locker>}}} and it will be auto-attached.
- * If you are on another Athena machine and don't want to run software out of the locker, than simply type {{{attach <locker>}}} and then `cd` to it.
- * If, however, you want to use software in the locker, you will be better served by running {{{add <locker>}}} (e.g. {{{add ruby-lang}}}). This will attach the locker at {{{/mit/<locker>}}} and will add the `bin` directory (for your architecture) of that locker to your PATH. What this means is that you should be able to run any program located in that locker by simply typing the name of the program at the command line.
-   * If you frequently use the same locker, it may be helpful for you to add the {{{add <locker>}}} command to your {{{.environment}}} file. To do this simply from the Athena command line, type {{{echo "add lockername" > ~/.environment}}} or {{{echo "add lockername >> ~/.environment}}}.
-
-=== From the Web ===
-
-Generally any locker that you would access on Athena as {{{/mit/<locker>}}} is accessible on the web as {{{http://web.mit.edu/<locker>}}}. For example, the barnowl locker is at [http://web.mit.edu/barnowl]. As you can see, if there is no index.html (see below), the files in the directory are listed. By default, however, none of the contents are readable except in the `www` and `Public` folders.
-
-Also, you may access something in one of the MIT AFS cells by taking its full AFS path after web.mit.edu ([http://web.mit.edu/afs/athena.mit.edu/activity/c/chess-club]). (That link also shows that if you have a text file named README readable, as a link to Public/README for example, its contents will be displayed below the directory listing).
-
-
-== Checking Quota ==
-
-You are only allocated a certain amount of disk space by MIT. To check the quota of the locker you are presently in run {{{fs listquota}}}. You will see output similar to the following:
-
-{{{
-user@host:/mit/chess-club$ fs listquota
-Volume Name                   Quota      Used %Used   Partition
-activity.chess-club         1500000     13163    1%         90% 
-}}}
-
-
-If this information is good enough for you, then you are done. If not, read on.
-
-= Common Tasks =
-
-== Controlling Who can Access Files ==
-You may be familiar with Unix permissions. Sad to say, but that knowledge is basically useless here. Whereas Unix permissions, are per-file, AFS permissions are controlled by '''Access Control List'''s ('''ACL'''s) on a per-directory basis. 
-
-To view the ACL for a given directory (where you have permission to do so), run {{{fs listacl}}} or {{{fs la}}}, for short. For a typical user locker, the ACL in the top level will look like this 
-{{{
-user@host:~$ fs la
-Access list for . is
-Normal rights:
-  system:expunge ld
-  system:anyuser l
-  user rlidwka
-}}}
-
-This is a list of users or [#CreatinganAFSGroup AFS groups] and their permissions in this directory (and subdirectories that don't have their own ACL modifications). In AFS there are seven permissions as follows
-
- ||'''r'''||  read   ||   user or members of group can read files in the directory    (i.e. see the contents of files)                  ||
- ||'''l'''||  list   ||   user or members of group can list files in the directory    (i.e. see the names of files)                     ||
- ||'''i'''||  insert ||   user or members of group can create files (or subdirectories) in the directory                                ||
- ||'''d'''||  delete ||   user or members of group can delete files in the directory                                                    ||
- ||'''w'''||  write  ||   user or members of group can modify files in the directory  (i.e. change the contents of files)               ||
- ||'''k'''||  lock   ||   user or members of group can lock files in the directory   (you will likely never use this)                   ||
- ||'''a'''||  admin  ||   user or members of group can see and change permissions. It does '''not''' affect pre-existing subdirectories.||
-
-To add a user or group to the ACL for a given directory simply run {{{fs setacl}}} or {{{fs sa}}} as follows:
-{{{
-fs sa <directory> <user or group> <permissions>
-}}}
-
- {{{<directory>}}}::
-  can be an absolute or relative path, usually you will want {{{.}}}
- {{{<user or group>}}}::
-  can be any user or group. Some you probably want to know: system:anyuser means EVERYONE (the entire AFS-using world plus the entire world wide web), system:expunge is the daemon for MIT's delete/lsdel/undelete utilities to work in a given directory.
- {{{<permissions>}}}::
- can be a string of the above letters (in any order) or any of the words `read`, `write`, `all` and `none` which are equivalent to `rl`, `rlidwk`, `rlidwka` and the empty string, respectively 
-
-For example, if `user` wants his friends `sipbtest` and `jarandom` to be able to read and write files and anyone to be able to read files in his `awesome_project` directory, he might have a session that looks like this
-
-{{{
-user@host:~$ cd awesome_project/
-user@host:~/awesome_project$ fs sa . system:anyuser read
-user@host:~/awesome_project$ fs sa . jarandom write
-user@host:~/awesome_project$ fs sa . sipbtest write
-user@host:~/awesome_project$ fs la
-Access list for . is
-Normal rights:
-  system:expunge ld
-  system:anyuser rl
-  sipbtest rlidwk
-  jarandom rlidwk
-  user rlidwka
-user@host:~/awesome_project$
-}}}
-
-
-See also: {{{man 1 fs}}}, {{{fs help <command>}}}
-
-== Creating an AFS Group ==
-The "normal" way to make an AFS group would be with a command similar to {{{pts creategroup <your user name>:<group name>}}} and then add people with {{{pts adduser <user> <full group name>}}}(e.g. If Donald Guy wanted to created a group for people to edit his www directory (including `sipbtest` and `jflorey`, he might use the following chain of commands {{{pts creategroup fawkes:www ; pts adduser sipbtest fawkes:www; pts adduser jflorey fawkes:www; fs sa ~/www fawkes:www write}}}
-
-This method will work, but at MIT, it is much more common to use moira lists as a group. To create a new list, use the web interface at https://wserv.mit.edu:444/fcgi-bin/lc? to create a moira list, NOT A MAILMAN LIST and be sure to check the box for "Should this list be an AFS Group?" (to make an already existing moira list into an AFS group simply {{{blanche -G <list>}}}). After the servers update (which may take anywhere between 1 second and 10 minutes depending on the number of similar requests), the AFS group system:<list name> will exist in the athena.mit.edu cell. 
-
-This is useful because one often wants the same certain people who can operate on files in a folder to be a mailing list. Thus, for example, it is possible to send mail to gnu@mit.edu and use system:gnu as an AFS group on ACLs. (it is also possible to make moira lists that are AFS groups, but not mailing lists).  
-
-see also: {{{man 1 pts}}}
-
-== Controlling Access from the Web ==
-
-If you make a directory listable and readable by system:anyuser then it can be viewed by any user on the web via the urls mentioned [#FromtheWeb above]
-
-Unfortunately, just because you add specific users to an AFS ACL does not mean they can see the folder when the access from the web. IS&T, however, does provide a solution to this. First, make sure that the wanted directory is not readable by system:anyuser. Next {{{fs sa <dir> system:htaccess.mit read }}}. Then create a file named `.htaccess.mit` in that directory. In that file you can do three things, 
-
- * You can require that the user have valid certificates:
-  {{{
-  <limit GET>
-  require valid-user
-  </limit>
-  }}}
-
- * You can require the reader be (a) specific user(s), for example:
-  {{{
-  <limit GET>
-  require user fawkes jflorey sipbtest jarandom
-  </limit>
-  }}}
- * You can require that the reader be a member of one of certain moira groups (notice these are '''moira''' groups, there is no "system:". For example:
- {{{
- <limit GET>
-  require group sipb-staff sipb-prospectives
- </limit>
- }}}
-
-There after the users should be able to get to the folders at {{{http'''s'''://web.mit.edu/<locker>/<path to folder>}}} if they have certificates and no one should be able to reach it via http. Make sure to add yourself if you are going to be accessing it.
-
-see also: http://web.mit.edu/is/web/reference/web-resources/https.html
-
-
-= Troubleshooting =
-=== I'm trying to access my files, {{{fs la}}} says I should have permissions here, but it still says {{{: Permission denied}}} ===
-There are two likely possibilities. First, its likely that your tokens may have expired. To get new tokens, make sure you have valid kerberos tickets and then run {{{aklog}}}. Another possibility is that you have tokens but not for the correct cell. {{{tokens}}} will tell you what tokens you already have. In all likelihood, if you are reading this, you probably want {{{aklog athena sipb}}}. Finally, a third possibility is that your group membership has changed since you acquired tokens. Try running {{{aklog -force}}}
-
-=== I'd really prefer that not everyone could list my files, how should I stop this? ===
-What you '''don't''' want to do is take away the l permission from {{{system:anyuser}}} because then no one will be able to get to your `Public` or `www` which you probably don't want. All told, there is no way to stop people on Athena from listing your files (unless you keep everything under `Private` or a similarly restricted directory). It is rather trivial to stop web users, however. A solution I recommend, if you have a website in `www`, is to make a page `redirect.html` (or similar) with the contents like:
-{{{
-<html>
-<head>
-  <meta http-equiv="Refresh" content="0; url=http://www.mit.edu/~<lockername>/">
-</head>
-<body>
-  <p>Please go to my <a href="http://www.mit.edu/~<lockername>/">www</a>!</p>
-</body>
-</html>
-}}}
-
-and then doing a {{{ln -s www/redirect.html index.html}}} in the top level of the locker. Alternatively you can link index.html to a blank file in your `Public` or `www` (you can't simply it in the top level because its not readable there, this will result in a 403 Forbidden error).
-
-=== It was around 6am on a Sunday morning and suddenly I couldn't access my files ===
-Yeah, most AFS servers restart weekly at 6 AM on Sunday.
-
-=== It isn't Sunday and I can't get to my files ===
-There may be a non-scheduled AFS outage. Check [http://3down.mit.edu 3down], hopefully it will be back up soon :-(.
-
-= Advanced Tasks =
-
-
-== Putting Software in a Locker ==
-The Athena environment was designed to allow software to run on several architectures on the same network. On modern Athena, this means 32-bit x86s running Linux, 64-bit x86s running Linux, and SPARCs running Solaris. To accommodate these these various architectures AFS (at least on Athena) has a notion of what systems are compatible with the operating system. You can find these by running {{{fs sysname}}}.
-
-The special variable @sys in a path corresponds to the first of these that matches. When a user runs `add`, {{{/mit/<locker>/arch/@sys/bin}}} is added to their PATH and {{{/mit/<locker>/man}}} or {{{/mit/<locker>/arch/@sys/man}}} is added to their MANPATH.
-
-Primarily because of this fact, a typical locker is set up with the following sort of layout:
-{{{
-user@host:/mit/<some locker>$ tree -dL 2
-.
-|-- arch
-|   |-- i386_linux22
-|   |-- i386_linux24 -> i386_rhel4/
-|   |-- i386_rh9 -> i386_linux24
-|   |-- i386_rhel3 -> i386_rhel4
-|   |-- i386_rhel4
-|   |-- sgi_65
-|   |-- sun4x_510
-|   |-- sun4x_57
-|   |-- sun4x_58 -> sun4x_510/
-|   `-- sun4x_59 -> sun4x_58
-|-- bin -> arch/@sys/bin
-|-- include -> arch/@sys/include
-|-- info
-|-- lib -> arch/@sys/lib
-|-- man
-   `-- man1
-}}}
-
-Please note that the @sys variable should really be used ONLY in these convenience in symlinks. To make the folder in arch you usually want to either pick a more general architecture and set it up yourself or simply use the following command in the top level of the locker:
-{{{mkdir -p arch/$ATHENA_SYS/{bin,lib,include}}}}. After making this folder, make the shortcut symlinks with commands similar to {{{ln -s arch/@sys/bin bin}}} (again, this is the ''ONLY'' time you should use @sys yourself). Other than that, its mainly just a matter of making sure to run configure with options like {{{--prefix=/mit/<lockername>}}} and {{{--with-manpath=/mit/<lockername>/man}}}. 
-
-See also: {{{man lockers}}}
-
-== Acquiring a new locker ==
-While it is easily possible to make an AFS group for yourself, it is harder to get a new locker. If you want a locker for something official like a student group or a piece of software, send an email to [mailto:accounts@mit.edu] explaining what you need it for and someone at IS&T will let you know. If you feel it is something less official or you would just rather consider it a SIPB project (perhaps get other SIPB people involved) send an email to [mailto:sipb-afsreq@mit.edu] instead. In either case, if a mount point under {{{/mit}}} fails to get set up for you, let [mailto:hesreq@mit.edu] know.
-
-= See Also =
-SIPB's older guide, [http://stuff.mit.edu/afs/sipb.mit.edu/project/doc/afs/html/afs-new.html Inessential AFS] [[BR]]
-OpenAFS documentation at [http://www.openafs.org/]
-
diff --git a/doc/BugsTest b/doc/BugsTest
deleted file mode 100644 (file)
index 9abbe29..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508124 508124] in [http://packages.debian.org/lenny/python-m2crypto python-m2crypto]
-"Yum crashes when setting-up a CentOS chroot OS"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508133 508133] in [http://packages.debian.org/lenny/libmad0 libmad0]
-"audacity: munmap_chunk(): invalid pointer: 0x00000000026f4eb0"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508194 508194] in [http://packages.debian.org/lenny/sun-java5 sun-java5]
-"sun-java5: New upstream release fixes several security issues"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508257 508257] in [http://packages.debian.org/lenny/twiki twiki]
-"CVE-2008-5305: TWiki SEARCH variable allows arbitrary shell command execution"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508265 508265] in [http://packages.debian.org/lenny/sysprof-module-source sysprof-module-source]
-"sysprof-module-source: doesn't compile on AMD64 arch (wrong register names)"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508272 508272] in [http://packages.debian.org/lenny/gnome-splashscreen-manager gnome-splashscreen-manager]
-"gnome-splashscreen-manager: Refuses to start, undefined symbol: gtk_file_system_error_quark"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508313 508313] in [http://packages.debian.org/lenny/xine-lib xine-lib]
-"xine-lib: CVE-2008-5234 heap overflow in atom parsing"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508322 508322] in [http://packages.debian.org/lenny/wodim wodim]
-"wodim: Cannot load media.  Cannot init drive."
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508324 508324] in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"ftp.debian.org: gcc-4.2-base is not really required"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508351 508351] in [http://packages.debian.org/lenny/open-iscsi open-iscsi]
-"open-iscsi: will not install, looking for missing /sys/module/scsi_transport_iscsi/version file"
diff --git a/doc/Debianization b/doc/Debianization
deleted file mode 100644 (file)
index d6ffa48..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-This document is a brief introduction to how to Debianize a piece of software, i.e. to create a package for a Debian or Ubuntu distribution so that it can be managed alongside other system software.
-
-You'll need a few packages for doing Debian development, so you should run
-
-{{{ $ sudo aptitude install build-essential dh-make devscripts cdbs equivs lintian dpatch quilt dpkg-dev }}}
-
-If you're a fan of emacs as a text editor, you should also run
-
-{{{ $ sudo aptitude install debian-el devscripts-el dpkg-dev-el }}}
-
-== Preparing the source ==
-
-To prepare a source directory for Debianization, you'll first want to rename the directory to the form <package>-<version>.
\ No newline at end of file
diff --git a/doc/HackathonIdeas b/doc/HackathonIdeas
deleted file mode 100644 (file)
index 77eca45..0000000
+++ /dev/null
@@ -1 +0,0 @@
-See ProjectIdeas.
diff --git a/doc/KerberizedServer b/doc/KerberizedServer
deleted file mode 100644 (file)
index d9d2fbf..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-= Enabling Kerberos logins for your server =
-
-If you want kerberized logins on a server you run, you'll need a '''keytab''' from accounts.  Fill out the [http://web.mit.edu/accounts/www/srvtabform.html keytab request form], which sends them an e-mail.  Ask for a "keytab"; by default they'll give you a srvtab, the Kerberos 4 analogue.
-
-Your new keytab will be in {{{/mit/accounts/srvtabs/FOR_YOURUSERNAME}}}, which is AFS and vaguely insecure.  You probably want to install it in {{{/etc/krb5.keytab}}}, and then randomize the key.
-{{{
-# mv -f /etc/krb5.keytab /etc/krb5.keytab.old  # back up any keytab you already have
-# mv /mit/accounts/srvtabs/FOR_JOEUSER/joeserver-new-keytab /etc/krb5.keytab
-# k5srvutil change
-}}}
-
-Then make sure your {{{/etc/ssh/sshd_config}}} file includes the lines
-
-{{{
-GSSAPIAuthentication yes
-GSSAPIKeyExchange yes
-}}}
-
-This will let you SSH in with Kerberos.
-
-Then create a file called {{{.k5login}}} in the home directory of whichever users you want to be able log into with Kerberos. List the full KerberosPrincipal of each user, one per line (e.g., {{{joeuser@ATHENA.MIT.EDU}}})
-
-== Dealing with srvtabs ==
-
-If you don't specifically mention a "keytab" in your request to Accounts, they may give you the Kerberos 4 equivalent, a srvtab.
-
-In this case you'll want to convert the srvtab to a keytab, like so.
-{{{
-$ ktutil
-ktutil: rst /mit/accounts/srvtabs/FOR_JOEUSER/joeserver-new-srvtab
-ktutil: wkt /etc/krb5.keytab
-ktutil: q
-}}}
diff --git a/doc/LennyBugs b/doc/LennyBugs
deleted file mode 100644 (file)
index 803b7f4..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-= SIPB Bug-Squashing Hackathon for Lenny =
-
-SIPB is running a '''bug-squashing hackathon''' for release-critical bugs in Debian Lenny.
-
-Place: '''W20-557''', the SIPB office[[BR]]
-Date: '''Saturday''', 2008-12-13, between end-of-classes and finals week[[BR]]
-Time: starting '''2 PM''', running to about 10 PM; come for any portion
-
-Contact the SIPB Chair, Greg Price (`price@mit.edu`), or Vice-Chair, Nelson Elhage (`nelhage@mit.edu`), with any questions.  During the hackathon just call the office at (617) 253-7788.
-
-
-== FAQ ==
-
-'''Q''': What's Lenny?[[BR]]
-'''A''': Lenny is the '''upcoming next stable release''' of Debian GNU/Linux.  It was scheduled for September 2008 but has slipped to spring 2009.  The last release was Etch in spring 2007, so Debian users are eagerly awaiting a new release.
-
-'''Q''': What's a release-critical bug?[[BR]]
-'''A''': A '''release-critical (RC) bug''' is a Debian bug of any of the highest levels of severity.  RC bugs break a program completely, break some users' systems, or do similarly bad things.  At last count there were 109 bugs (below) affecting Lenny.  ('''Update''': After the hackathon it's 105, with more fixes in the pipeline.  Excellent.)  Every one of those bugs has to be dealt with one way or another before Lenny will release.
-
-'''Q''': How is this list of bugs different from [http://bugs.debian.org/release-critical/other/testing.html]?[[BR]]
-'''A''': The list on `bugs.debian.org` includes bugs which have been fixed, but haven't passed a requisite waiting period before being introduced into Lenny. Our list is only bugs for which there is no fix.
-
-'''Q''': I use '''Ubuntu'''.  Why do I care about Debian releases?[[BR]]
-'''A''': Because Lenny is in the final, "freeze", stage of the cycle, many Debian contributors are holding off new versions of the software they maintain in order to focus on stabilizing and bugfixing Lenny.  Since Ubuntu depends on Debian for >90% of its packaging work, that means less new software for Ubuntu until Lenny releases.
-
-'''Q''': I have '''no experience hacking on Debian'''.[[BR]]
-'''A''': No problem, we have three Debian Developers pledged to attend, plus Debian-packaging experts from SIPB's Debathena and XVM projects.  They'll all be focussed on helping newer people find a good bug, make progress and stay unstuck on solving it, and get the fixes applied in Debian.  Just come ready to help with the skills you have; you'll be sure to learn something.
-
-'''Q''': I don't have a lot of programming experience.[[BR]]
-'''A''': No problem, '''not every bug requires programming''' to fix.  Some bugs concern documentation or copyright issues, and anyone willing to track stuff down and write in English precisely can help.  You'll still get experience with the issues software in the real world has to deal with, and probably read some code along the way.
-
-== Useful Resources ==
-
-[http://www.debian.org/doc/debian-policy/ Debian Policy Manual]: There will be people at the hackathon to help you with the packaging and policy aspects of updating Debian packages, but the Debian Policy Manual is a good reference.
-
-[http://www.us.debian.org/doc/maint-guide/ Debian New Maintainers' Guide]: Where the Policy Manual is a fairly declarative document, this is more of a tutorial on how to build packages that comply with Debian policy
-
-[http://debathena.mit.edu/packaging/ tabbott's Packaging Tutorial]: A summary of building Debian packages with CDBS, Tim's tutorial also includes a long list of useful commands for any sort of 
-package development, as well as a list of useful sites
-
-[http://stuff.mit.edu/iap/2009/#debian SIPB IAP class on Debian]: A workshop where you can learn more about Debian packaging (the easy way!  some of the packages you may have dealt with go through unnecessary complexity), with lots of hands-on examples.
-
-== Useful Packages ==
-
-The following Debian packages are useful for doing Debian development: `build-essential cdbs debhelper wdiff devscripts dh-make dpatch dpkg-awk dpkg-dev equivs fakeroot lintian quilt`
-
-If you're an emacs user, you may also want: `debian-el devscripts-el dpkg-dev-el`
-
-== The Bugs ==
-
-See LennyBugsAll for a complete list.  Attack one of the bugs that look good, or read through the unclassified ones to find the good ones.
diff --git a/doc/LennyBugsAll b/doc/LennyBugsAll
deleted file mode 100644 (file)
index 5cdc680..0000000
+++ /dev/null
@@ -1,571 +0,0 @@
-= Open RC Bugs in Lenny =
-
-These are bugs to consider at SIPB's [LennyBugs RC-bug-squashing hackathon] for Lenny.
-
-Bug list dumped early 2008-12-12.  The pipeline was
- `$ cd /mit/debathena/debian-bts && ./get_bugs | sort | ./bugs-format-trac`
-
-Please sort into useful/not useful, add notes, etc.
-
-----
-
-= Juicy? =
-
-All acted on!  See the "Stuff we did" sections below.
-
-
-
-----
-
-= Stuff we did =
-
-== Fixed by SIPB! ==
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=436140 436140]
-in [http://packages.debian.org/lenny/installation-reports installation-reports]
-"cdrom: Most of the system's files have a future timestamp causing at least update/config problems."
-(closed by wdaher)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=476525 476525] 
-in [http://packages.debian.org/lenny/python-hid python-hid] 
-"python-hid: hid module will not import since python policy transition" 
-(tabbott)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507071 507071] 
-[http://packages.debian.org/lenny/racoon racoon] 
-"racoon - Fails after upgrade: symbol lookup error: /usr/sbin/racoon: undefined symbol: libipsec_opt" 
-(fixed by broder)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507072 507072] 
-in [http://packages.debian.org/lenny/ipsec-tools ipsec-tools] 
-"libipsec0 packaged in ipsec-tools without development headers" 
-(downgraded by hartmans)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504626 504626] 
-in [http://packages.debian.org/lenny/nvidia-glx nvidia-glx] 
-"[nvidia-glx] Quietly drops support for several chipsets" 
-(downgraded by nelhage)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502845 502845]
-in [http://packages.debian.org/lenny/open-iscsi open-iscsi]
-"open-iscsi: no login using amd64"
-(quentin reassigned; Bastian Blank then lowered priority)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508265 508265]
-in [http://packages.debian.org/lenny/sysprof-module-source sysprof-module-source]
-"sysprof-module-source: doesn't compile on AMD64 arch (wrong register names)"
-(patch added by andersk)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506057 506057]
-in [http://packages.debian.org/lenny/splashy splashy]
-"splashy: Splashy fails to install due to missing default theme"
-(fix suggestion added by ecprice with help from tabbott and fawkes)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506748 506748]
-in [http://packages.debian.org/lenny/rtorrent rtorrent]
-"crash rtorrent by scgi-interface (function: 'fi.get_filename_last')"
-(submitted patch that disables broken RPC; leaving to maintainer to decide if this is what he wants to do)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=426465 426465]
-in [http://packages.debian.org/lenny/initramfs-tools initramfs-tools]
-"/init exports MODPROBE_OPTIONS=-qb"
-[[BR]](patch added by price)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=489501 489501]
-in [http://packages.debian.org/lenny/zekr zekr]
-"zekr depends on libxul0d"
-[[BR]](mako tweaked and sponsored fix by Asheesh Laroia)
-
-== Waiting on feedback ==
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502140 502140]
-in [http://packages.debian.org/lenny/pam pam]
-"cannot unlock screen during etch -> lenny transition"
-(hartmans added comment)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=481072 481072]
-in [http://packages.debian.org/lenny/dk-filter dk-filter]
-"dk-filter reliably crashes upon connection from postfix"
-[[BR]](quentin couldn't reproduce)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507883 507883]
-in [http://packages.debian.org/lenny/asterisk asterisk]
-"asterisk: Very frequent segfaults on startup"
-(quentin couldn't reproduce)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=456037 456037]
-in [http://packages.debian.org/lenny/fenix fenix]
-"fenix: not 64 bit clean"[[BR]]
-(ezyang observed upstream's website looks ~dead)
-
-
-
-
-----
-
-= Fun stuff to read =
-
-== Flamewars ==
-
-You might enjoy reading these, but they may not be good targets to fix.
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=475737 475737]
-in [http://packages.debian.org/lenny/otrs2 otrs2]
-"otrs2 - makes files in /usr writable by non-root"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504771 504771]
-in [http://packages.debian.org/lenny/wordpress wordpress]
-"wordpress can be subject of delayed attacks via cookies"
-
-For this one, the actual flameware is off the bug report log.
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=497823 497823]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"longstanding DFSG violations in linux-2.6 package"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504747 504747]
-in [http://packages.debian.org/lenny/gnu-fdisk gnu-fdisk]
-"gnu-fdisk: wipes out MBR when used on GPT partitions"
-
-
-== Would have been fun ==
-
-Entertaining to read but sadly already fixed.
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506961 506961]
-in auctex
-"auctex: reuses old logfile on emacsen upgrades, enabling symlink attack"
-
-
-== Examples to live up to ==
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=496954 496954]
-in [http://packages.debian.org/lenny/bind9 bind9]
-"bind9: Fails to start due to SIGSEGV"
-[[BR]]This bug sat unfixed for months.  Then someone attacked it in a bug-squashing party,
-got the first reproducible testcase, and sent that upstream, which swiftly produced a fix.
-
-
-== Puzzling ==
-
-Someone please explain what's going on (Debian Project-wise) in these bugs.
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=323473 323473]
-in [http://packages.debian.org/lenny/wnpp wnpp]
-"ITA: mol-drivers-linux -- The Mac-on-Linux emulator - drivers for Linux"
-[[BR]](Note: The bug is for someone to take over maintainership.  They did.  Then when the bug gets automatically archived, they reply saying to keep it?  I (price) don't understand.)
-
-
-
-
-----
-
-= Not so ripe for us to fix =
-
-== Specific hardware ==
-
-If you have the relevant hardware you could help a lot.
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394963 394963]
-in [http://packages.debian.org/lenny/installation-reports installation-reports]
-"installation: Problems with dual booting Dell D600 with winXP pro in the first partition (hd0, 0). After installing the Dell Etch Beta 3, Windows fails to boot and I get the blue screen of death."
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418972 418972]
-in [http://packages.debian.org/lenny/installation-reports installation-reports]
-"cdrom: Etch does not detect CD-ROM on Acer Aspire 7100"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=478717 478717]
-in [http://packages.debian.org/lenny/ruby1.9 ruby1.9]
-"ruby1.9: FTBFS on hppa: make[1]: *** [all] Segmentation fault"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=499078 499078]
-in [http://packages.debian.org/lenny/jfsutils jfsutils]
-"jfsutils: Bus Error when running fsck.jfs on sparc"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=501804 501804]
-in [http://packages.debian.org/lenny/installation-reports installation-reports]
-"installation-reports: Lenny b2 install on ThinkPad X61 - fails to detect hard disk"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495603 495603]
-in [http://packages.debian.org/lenny/installation-reports installation-reports]
-"grub-installer fails on a FSC Primergy RX300 with a level 5 RAID"
-
-
-== May be a lot of work ==
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=490171 490171]
-in [http://packages.debian.org/lenny/rtorrent rtorrent]
-"rtorrent: random crash"
-[[BR]](Reproducing this seems to require runnin 20+ torrents for a ~day)
-
-
-== Unclassified ==
-
-Please read these reports and figure out what category they belong in.  Or make a new category.
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504661 504661]
-in [http://packages.debian.org/lenny/nvidia-glx-legacy-96xx-dev nvidia-glx-legacy-96xx-dev]
-"nvidia-glx-legacy-96xx-dev: /usr/lib/libGL.so symlink broken"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504918 504918]
-in [http://packages.debian.org/lenny/network-manager network-manager]
-"Updating to lenny failed when NetworkManager got updated"
-
-== Unclassified Security ==
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505563 505563]
-in [http://packages.debian.org/lenny/icedove icedove]
-"Mozilla Thunderbird Multiple Vulnerabilities"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507165 507165]
-in [http://packages.debian.org/lenny/xine-lib xine-lib]
-"xine-lib: CVE-2008-5242 heap-based buffer overflow"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507184 507184]
-in [http://packages.debian.org/lenny/xine-lib xine-lib]
-"xine-lib: CVE-2008-5246 heap overflow"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504977 504977]
-in [http://packages.debian.org/lenny/ffmpeg-debian ffmpeg-debian]
-"ffmpeg-debian: Several security issues"
-
-== Fresh bugs ==
-
-These are very recent and presumably will get dealt with by the package maintainers without help.
-
-If you're bored you might look through and see if some are interesting anyway.  Also feel free to draw the line at some other time; I (price) picked December 1, arbitrarily.
-
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=239111 239111]
-in [http://packages.debian.org/lenny/grub grub]
-"Freeze when installing GRUB on XFS boot partition"
-[[BR]](Note: just re-opened 2008-12-12)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507558 507558]
-in [http://packages.debian.org/lenny/hibernate hibernate]
-"ignores "LockXLock yes" setting in /etc/hibernate/common.conf (e.g. does not lock the screen)"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507579 507579]
-in [http://packages.debian.org/lenny/yocto-reader yocto-reader]
-"Package installation results in license violation"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507706 507706]
-in [http://packages.debian.org/lenny/cdimage.debian.org cdimage.debian.org]
-"Missing sources for d-i components/kernel of etch-n-half images"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507721 507721]
-in [http://packages.debian.org/lenny/cryptsetup cryptsetup]
-"cryptsetup: Sometimes initrd ends up missing conf/conf.d/cryptroot file in it"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507818 507818]
-in [http://packages.debian.org/lenny/mldonkey-server mldonkey-server]
-"mldonkey-server: mlnet does not start, logs syntax error in downloads.ini"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507865 507865]
-in [http://packages.debian.org/lenny/openoffice.org-writer openoffice.org-writer]
-"openoffice.org-writer: OOo 2.4.x openinig OOo 3 files doesn't show text (2.x implements standard wrong)"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507889 507889]
-in [http://packages.debian.org/lenny/mdadm mdadm]
-"mdadm: initramfs-tools script is broken, system with root on RAID won't boot"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507996 507996]
-in [http://packages.debian.org/lenny/uim-tcode uim-tcode]
-"mazegaki conversion cannot be used"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508133 508133]
-in [http://packages.debian.org/lenny/libmad0 libmad0]
-"audacity: munmap_chunk(): invalid pointer: 0x00000000026f4eb0"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508194 508194]
-in [http://packages.debian.org/lenny/sun-java5 sun-java5]
-"sun-java5: New upstream release fixes several security issues"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508313 508313]
-in [http://packages.debian.org/lenny/xine-lib xine-lib]
-"xine-lib: CVE-2008-5234 heap overflow in atom parsing"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508322 508322]
-in [http://packages.debian.org/lenny/wodim wodim]
-"wodim: Cannot load media.  Cannot init drive."
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508324 508324]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"ftp.debian.org: gcc-4.2-base is not really required"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508434 508434]
-in [http://packages.debian.org/lenny/ipmitool ipmitool]
-"ipmitool: Several init script problems due to wrong pidfile name"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508443 508443]
-in [http://packages.debian.org/lenny/imagemagick imagemagick]
-"convert crash on sparc during compilation of djvulibre (work on x86-64)"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508480 508480]
-in [http://packages.debian.org/lenny/iodbc iodbc]
-"iodbc: Segfaults when asking for the available DSNs"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508392 508392]
-in [http://packages.debian.org/lenny/dpkg dpkg]
-"Handling of conflicting conffiles broken"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508565 508565]
-in [http://packages.debian.org/lenny/f2c f2c]
-"f2c: does not translate properly in EMT64 machines"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508551 508551]
-in [http://packages.debian.org/lenny/merkaartor merkaartor]
-"merkaartor: crash on startup: QPaintEngine::setSystemClip: Should not be change
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508589 508589]
-in [http://packages.debian.org/lenny/linux-2.6 linux-2.6]
-"ppp: USB Modem removal after PPP exits kills keyboard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508660 508660]
-in [http://packages.debian.org/lenny/autopkgtest-xenlvm autopkgtest-xenlvm]
-"adtxenlvm: initscript assumes eth0"
-
-== Mostly solved? ==
-
-These look like good progress is being made and they'll get fixed
-soon. Do we need a DD to do an NMU on any of these?
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504283 504283]
-in [http://packages.debian.org/lenny/egroupware-core egroupware-core]
-"CVE-2007-3215: phpmailer issue (embedded code-copy)"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508510 508510]
-in [http://packages.debian.org/lenny/debget debget]
-"Can't parse packages.debian.org output anymore"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=332782 332782]
-in [http://packages.debian.org/lenny/release-notes release-notes]
-"release-notes: Where's the license?"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=475958 475958]
-in [http://packages.debian.org/lenny/release-notes release-notes]
-"document procedure to recover from "/dev/hda became /dev/sda" boot failure"
-[[BR]](Note: looks done, just not closed.)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506883 506883]
-in [http://packages.debian.org/lenny/tuxguitar tuxguitar]
-"tuxguitar: hard-codes dependencies on libraries"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495178 495178]
-in [http://packages.debian.org/lenny/libjs-jquery libjs-jquery]
-"libjs-jquery: Should compile jquery.min.js and jquery.pack.js from jquery.js"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507059 507059]
-in [http://packages.debian.org/lenny/initramfs-tools initramfs-tools]
-"initramfs-tools: Wrong check for udevadm in functions"
-[[BR]](No maintainer activity since it was reported 2 weeks ago; One-line patch attached.)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=496334 496334]
-in [http://packages.debian.org/lenny/mdadm mdadm]
-"mdadm segfault on --assemble --force with raid10"
-[[BR]]Seems to be fixed and uploaded, but got reopened for some reason?
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374644 374644] in [http://packages.debian.org/lenny/xine-ui xine-ui]
-"xine-ui: ctrl/shift key press emulation implementation broken"
-[[BR]](Note: There's a patch that may be good enough -- blocking on some guy responding)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505237 505237]
-in [http://packages.debian.org/lenny/snmpd snmpd]
-"/etc/init.d/snmpd start reports error if already running"
-(Note: fixed, waiting on an upload?)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508257 508257]
-in [http://packages.debian.org/lenny/twiki twiki]
-"CVE-2008-5305: TWiki SEARCH variable allows arbitrary shell command execution"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508026 508026]
-in [http://packages.debian.org/lenny/phppgadmin phppgadmin]
-"phpPgAdmin: Local File Inclusion Vulnerability"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=501800 501800]
-in [http://packages.debian.org/lenny/bind9 bind9]
-"bind9: bind crashes with a list for allow-update"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503532 503532]
-in [http://packages.debian.org/lenny/dbus dbus]
-"send_requested_reply="true" allows all non-reply messages"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506741 506741]
-in [http://packages.debian.org/lenny/wireshark wireshark]
-"wireshark: DoS caused by sending a SMTP request with large content"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503303 503303]
-in [http://packages.debian.org/lenny/upgrade-reports upgrade-reports]
-"etch -> lenny minimal chrrot upgrade fails due to Conflicts/Pre-Depends loop"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504524 504524]
-in [http://packages.debian.org/lenny/sun-java6 sun-java6]
-"AWT_TOOLKIT=MToolkit causes java to segfault on amd64"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503712 503712]
-in [http://packages.debian.org/lenny/ghostscript ghostscript]
-"etch->lenny upgrade left the system in broken state"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508635 508635]
-in [http://packages.debian.org/lenny/libexif-gtk-dev libexif-gtk-dev]
-"libexif-gtk-dev: References no longer existing libXcursor.la"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=500460 500460]
-in [http://packages.debian.org/lenny/oss-compat oss-compat]
-"oss-compat: modules are not loaded"
-
-
-== Not much of use one can do ==
-
-(waiting on reporter to reproduce)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=494293 494293]
-in [http://packages.debian.org/lenny/installation-reports installation-reports]
-"installation-reports: Grub error: not a regular file..."
-
-(this one looks like it'll be removed from Lenny or have amd64 disabled)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507021 507021]
-in [http://packages.debian.org/lenny/helpdeco helpdeco]
-"Fails to work on amd64"
-
-(this one looks the maintainer has labeled unreproducible)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507242 507242]
-in [http://packages.debian.org/lenny/amule-daemon amule-daemon]
-"amule-daemon: causes OOM's by leaking lots of memory"
-
-(waiting on upstream)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506652 506652]
-in [http://packages.debian.org/lenny/xml2rfc xml2rfc]
-"Yet another boilerplate change"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=490999 490999]
-in [http://packages.debian.org/lenny/libqt3-mt libqt3-mt]
-"kicker: crashes on startup"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507947 507947]
-in [http://packages.debian.org/lenny/moodle moodle]
-"moodle: html2text.php is not DFSG-free"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495232 495232]
-in [http://packages.debian.org/lenny/quagga quagga]
-"quagga: zebra ignores routes added via command line"
-
-(misc)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508091 508091]
-in [http://packages.debian.org/lenny/tuxguitar tuxguitar]
-"maintainer address bounces"
-
-(trivial fix may cause regression, may punt)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507003 507003]
-in [http://packages.debian.org/lenny/open-iscsi open-iscsi]
-"initiatorname.iscsi should maybe not be in /etc"
-
-(legal issue involving non-free file)
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502751 502751]
-in [http://packages.debian.org/lenny/clamav-getfiles clamav-getfiles]
-"clamav-getfiles: piuparts test fails: eicar.com md5sum mismatch, file needs downloading"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506353 506353]
-in [http://packages.debian.org/lenny/mailscanner mailscanner]
-"CVE-2008-5312/3: mailscanner might allow local users to overwrite arbitrary files via a symlink attack"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507316 507316]
-in [http://packages.debian.org/lenny/smarty smarty]
-"smarty: Non-free logo included in package"
-
-
-== Special team bugs ==
-
-These bugs are probably not good targets because the work involved with them at this point is to be done by someone on a special Debian team.
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=451628 451628]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"Packages might enter the archive from security without source"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506152 506152]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"libept0 should have priority important"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507675 507675]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"python2.5 should have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507678 507678]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"libsqlite3-0 should have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507775 507775]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"libkeyutils1 should have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507778 507778]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"libldap-2.4-2 should have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507779 507779]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"[Priorities] libustr-1.0-1 -> standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507780 507780]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"python-sepolgen should have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507783 507783]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"libxml2 should have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507784 507784]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"python2.5-minimal should have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507796 507796]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"libisccfg40 should have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507797 507797]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"libisccc40 should have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507798 507798]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"libedit2 should have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507799 507799]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"libgssglue1 must have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507800 507800]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"ucf must have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507801 507801]
-in [http://packages.debian.org/lenny/ftp.debian.org ftp.debian.org]
-"libpci3 must have priority standard"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=497471 497471]
-in [http://packages.debian.org/lenny/cdimage.debian.org cdimage.debian.org]
-
-"sarge images have syslinux binaries without source"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506977 506977]
-in [http://packages.debian.org/lenny/release.debian.org release.debian.org]
-"FPC: copyright infringement in pre 2.2.2 sources"
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507239 507239]
-in [http://packages.debian.org/lenny/release.debian.org release.debian.org]
-"RM: astrolog/stable -- RoQA; orphaned long time, non-free, contains potentially undistributable code"
-
-This one is fixed in experimental:
-
-
-
-[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503907 503907]
-in [http://packages.debian.org/lenny/libwebkit-1.0-1 libwebkit-1.0-1]
-"epiphany-webkit: Crashes at startup whenever I go to a site."
-
-
diff --git a/doc/QuickPrint b/doc/QuickPrint
deleted file mode 100644 (file)
index f99a1a0..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-= QuickPrint =
-
-QuickPrint is a SIPB service that allows anyone with an MIT Kerberos identity to print to Athena cluster printers.
\ No newline at end of file
diff --git a/doc/RootInstance b/doc/RootInstance
deleted file mode 100644 (file)
index d7a64a6..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-= Root and Extra Instances =
-
-This page explains why you want a ''root instance'' `joeuser/root@ATHENA.MIT.EDU` and an ''extra instance'' `joeuser/extra@ATHENA.MIT.EDU`, how to get them, and how to use them well.
-
-=== Background ===
-
-There are three parts of a Kerberos name: a ''principal'', an optional ''instance'', and a ''realm''. The principal is typically your username (for Kerberos identities belonging to a user), and the realm, at MIT, is usually ATHENA.MIT.EDU. (Other realms you may see are CSAIL.MIT.EDU, ZONE.MIT.EDU, CS.CMU.EDU, etc.) For the Kerberos identity you typically regard as your own, the one that you use to log in to Athena with your regular password, the instance is null (empty). However, you can ask for additional instances, usually a "root" or "extra" instance. You can use them in places where you wouldn't want to use your regular Athena password. You usually write a non-null instance as, e.g., joeuser/root@ATHENA.MIT.EDU.
-
-The entire triplet is also often referred to as a principal or instance, depending on context: "There are two Kerberos principals that can log in to this server, namely, my extra instance and my root instance. My null instance can't log in."
-
-=== Typical use ===
-
-Root instances are often used when logging in to servers that have some security import. Most students regularly log in to Athena cluster workstations and quickstations and often type their password on other people's laptops to SSH or get to webmail. This puts the password at huge risk for theft. Athena passwords [http://tech.mit.edu/V125/PDF/N20.pdf have been stolen from clusters in the past], so it's not the wisest idea to let servers that you're asking hundreds of people to log into and use be controlled by a password you're typing everywhere.
-
-So you get a root instance, and only type the root instance password on computers you trust and only when you need to. Many people only ever type it on their laptop, or on a freshly booted Live CD. Some people feel comfortable typing it on a few private Athena workstations (SIPB office heads are a common choice), but if an attacker has stolen your regular (null instance) password and installed a keylogger on your account, it doesn't matter where you're logging in if it's still your Athena account.
-
-You can also make things in Moira or AFS owned by your root instance, if you don't want your null instance to be able to mess with mailing lists or lockers. For Moira, make them owned by KERBEROS:yourname.root@ATHENA.MIT.EDU. (For legacy Kerberos 4 reasons Moira and AFS both use a dot instead of a slash to separate the principal and the instance.) For AFS, ask accounts or afsreq to get you a 'pts id', basically
-an account with the AFS servers, and then you can give bits to yourname.root and start blanching your root instance onto AFS groups.
-
-To use another instance, just specify it to the kinit command, e.g., "kinit joeuser/root".
-
-=== Handy scripts ===
-
-Because you would want to use your null instance tickets most of the time but your root instance tickets occasionally, a couple of people have developed shell scripts to make it easy to switch between them.
-
- * nelhage has the [http://web.mit.edu/nelhage/Public/krbroot krbroot command], which you use syntax like "krbroot ssh linerva" when you want to use your root instance for a command. You can also "krbroot shell".
- * quentin has [http://web.mit.edu/quentin/Public/mac-bashrc kdo], which is similar in spirit to krbroot, but designed for Mac OS X. It takes advantage of the fact that OS X's Kerberos implementation is better at handling multiple tickets.
- * geofft has [http://web.mit.edu/geofft/Public/bashrc.kpagsh kpagsh], a way of configuring your .bashrc to prompt you for tickets (null instance by default) if you start a shell and don't have tickets. If you want to switch tickets, you start a new shell, and also a new PAG, which lets you use multiple AFS credentials at once, too. It also modifies your prompt.
-
-These aliases are also careful to get shorter lifetime tickets that are marked nonforwardable. Some versions of SSH try to forward tickets by default. Since you might let your root instance tickets access many servers, but not trust all of these servers equally, you don't want your tickets to be forwardable. (Thankfully, recent Debian, Ubuntu, and OS X have turned off this default, but it's a good precaution.)
-
-=== Extra instances ===
-
-Another thing you might want is an ''extra instance''. Some people use these just like another root instance, with slightly lower security. But a common use is something _less_ secure than your null instance. For example, if you're writing a zephyrbot to run on a shared server like scripts.mit.edu, the zephyrbot will need Kerberos tickets to subscribe to zephyrs. But you don't want to leave your Kerberos password in a file in your locker, so you can leave your extra instance's password instead.
-
-=== Getting them ===
-
-You need to show up in person to IS&T User Accounts in N42 with a photo ID to obtain new Kerberos identities. For the reasons described above, being in control of your null instance and sending a zephyr or authenticated e-mail with it does not mean that you can go ahead and make changes to your root or extra instance too.  While you're there, be sure to ask for a pts id, if you want to use your tickets with AFS.
diff --git a/doc/SummerReading b/doc/SummerReading
deleted file mode 100644 (file)
index 41e4abb..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-= Articles =
-
- * [http://web.mit.edu/Kerberos/dialogue.html The Kerberos play]: explains why Kerberos works the way it does
- * [http://www.jwz.org/doc/worse-is-better.html The Rise of Worse is Better]: a brief description of the single coding philosophy that most influenced the design of UNIX and many related systems. The [http://web.mit.edu/geofft/Public/gabriel-on-lisp.ps entire article], rather than just the section, is available in PostScript
- * Tim Berners-Lee's [http://www.w3.org/DesignIssues/ Design Issues] section, and his piece on why [http://www.w3.org/Provider/Style/URI Cool URIs Don't Change]
- * [http://catb.org/esr/faqs/smart-questions.html How To Ask Questions The Smart Way] -- A document on asking questions in hacker communities in ways that will help you get answers. Many of its points apply to places like Zephyr, too.
- * A definition of [http://projects.csail.mit.edu/gsb/old-archive/gsb-archive/gsb2000-02-11.html yak shaving], which you'll often find SIPB members unwisely engaging in.
- * [http://www.gnu.org/philosophy/philosophy.html GNU Philosophy], hardline but worth reading.
- * On that note, the [http://www.gnu.org/licenses/gpl.html GPLv3] and [http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GPLv2]. Dense legal style, but also worth reading once, to understand what free software is about
- * [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ The Cathedral and the Bazaar], by Eric Raymond: an overview of closed-source ("cathedral") vs. open-source ("bazaar") design and participation philosophies
- * [http://www.paulgraham.com/nerds.html Why Nerds are Unpopular], by Paul Graham
- * [http://web.mit.edu/ghudson/info/athena How Athena Works], by Greg Hudson, longtime Athena engineer and SIPB member
- * [http://www.jwz.org/doc/threading.html The e-mail threading algorithm], by Jamie Zawinski (jwz), old Netscape hacker. Interesting not only for the algorithm per se, but for his description of the process leading to its development, and his [http://www.jwz.org/doc/mailsum.html lost argument with Netscape 4's engineers] against replacing the algorithm with something overengineered
-
-= Books online =
-
- * Abelson and Sussman, [http://mitpress.mit.edu/sicp/full-text/book/book.html Structure and Interpretation of Computer Programs]: the classic textbook for the famous 6.001
- * Eric Raymond, [http://www.catb.org/esr/writings/taoup/html/index.html The Art of Unix Programming]: also explains a lot of design
- * Mark Pilgrim, [http://diveintopython.org/ Dive Into Python]: "a Python book for experienced programmers"
- * Eric Raymond, ed., [http://catb.org/~esr/jargon/ The Jargon File]: a lot of hacker terminology and lore, plus quite a few interesting articles near the beginning.
-
-Don't forget about [http://safari.oreilly.com/ Safari] -- O'Reilly books online, free for MIT people.
-
-= Blogs, etc. =
- * [http://www.joelonsoftware.com Joel on Software], a software developer in charge of a small company who writes well
-  * [http://www.joelonsoftware.com/articles/Wrong.html Making Wrong Code Look Wrong]
-  * [http://www.joelonsoftware.com/articles/LeakyAbstractions.html The Law of Leaky Abstractions]
-  * [http://www.joelonsoftware.com/articles/fog0000000069.html Things You Should Never Do], i.e., rewrite software from scratch
-  * [http://www.joelonsoftware.com/articles/Unicode.html The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]
- * [http://blogs.msdn.com/oldnewthing/ The Old New Thing], an engineer for MS who writes about stupid hacks in the name of backwards compatibility
- * [http://www.jwz.org/doc/ Jamie Zawinski's] writings / rants. jwz developed Netscape 1-3, and played a role in the open sourcing of Netscape as Mozilla.
diff --git a/doc/TraditionalZephyr b/doc/TraditionalZephyr
deleted file mode 100644 (file)
index 60c094f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-= Traditional Zephyr (archaic) =
-
-For information on using Barnowl, see UsingZephyr.
-
-When you log into Athena, you may occasionally see a white box pop up with text on it.  This is Zephyr in it's traditional form.
-
-== Terminology ==
-
-'''windowgrams''' are the small windows that appear on your screen with a message from another person.
-
-'''Zephyrgrams''' are the messages that you send and receive when you are using Zephyr. They can appear as windowgrams or in other forms, depending on which client you are using. 
-
-
-'''zwgc''' is the basic, traditional Zephyr client.
-
-== Basic Commands ==
-
-'''zlocate''' '''''friend''''' is the command used to find out if user "friend" is logged in and subscribing to zephyrgrams. If they are logged in and subscribing to messages you will receive information about where they are logged in. If they are not logged in you will receive the message "Hidden or not logged-in." This means they either do not want to be found or are not logged in.
-
-'''zwrite''' '''''friend''''' is used to send a message to {{{friend}}}. Just follow the instructions given. If you get an error saying the person is hidden or not logged in then your message has not been sent and the person you are trying to reach is not logged in or is not subscribing to messages and you should try sending e-mail instead.
-
-'''zctl hide''' can be used to "hide" yourself. When hidden you are not {{{zlocatable}}}, but if someone tries to zwrite you anyway they will succeed. 
-
-'''zctl wg_shutdown''' should be used if you want to stop receiving zephyrgrams for this session.
-
-'''zctl set zwrite-signature "foo"''' (quotes are mandatory) will change your Zephyr signature, or zsig, to foo. By default your zsig is your name as it exists in your finger information. It shows up in a zephyrgram before your username. You can change it to almost anything you like, although you should avoid very long zsigs since they tend to annoy people. 
-
-'''zaway''' is used to let people know you are away from the terminal and not deliberately ignoring their messages. It sends a message to whoever sends you a personal zephyrgram that lets them know that you are away (and will probably respond later). 
-
-'''zwgc -ttymode''' will start up a Zephyr client when you are logged in remotely. Zephyrs appear as plain text on your screen. 
-
-'''znol''' will let you know which people on a list are logged in. Your {{{~/.anyone}}} file should contain the list of usernames you want to know about (it should have one name per line and no spaces). You will also be sent login and logout notices in the form of a zephyrgram whenever one of the users in your list logs in or out (if they are announced, see below) after you have run {{{znol}}} during a session. 
-
-'''zctl set exposure exposurelevel''' will set your exposure (how other people know when you are logged in). An exposure level of {{{net-announced}}} causes login and logout notices to be sent to people who have you in their {{{.anyone}}} file, and you will be zlocatable. {{{net-visible}}} is the same except login and logout notices are not sent. The {{{realm-announced}}}  and {{{realm-visible}}} settings require authentication before your information is divulged, but behave in most situations in the same way as {{{net-announced}}} and {{{net-visible}}}, respectively. The {{{opstaff}}}  setting makes you unable to be zlocated and does not send login and logout notices. Finally the {{{none}}} setting provides no information about you and '''you will not be able to receive zephyrgrams'''.
-
-'''zctl sub message foo *''' will subscribe you to a Zephyr "instance" named foo. Zephyr instances (and classes) allow groups of people to have conversations via Zephyr. The above {{{zctl}}} command will subscribe you to the instance {{{foo}}} for your current login only; to make it more permanent replace {{{sub}}} with {{{add}}}. To unsubscribe for this login only change {{{sub}}} to {{{unsub}}}, and to unsubscribe permanently use {{{delete}}} instead. 
-
-'''zwrite -i foo''' will send a message to the Zephyr instance {{{foo}}}.
-
-'''zctl sub foo * *''' subscribes you to the Zephyr class {{{foo}}}. Zephyr classes are slightly more private than instances as you must know the name of the class to subscribe to it. {{{unsub}}}, {{{add}}} and {{{delete}}} work the same way for classes as for instances. 
-
-'''zwrite -c foo''' sends a zephyr(gram) to class {{{foo}}}. 
\ No newline at end of file
diff --git a/doc/UsingScreen b/doc/UsingScreen
deleted file mode 100644 (file)
index eb0f875..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-= Using Screen =
-
-== Why? ==
-
-{{{screen}}} is a handy tool.  It lets you get more out of a terminal session, whether in a window, via ssh, or by some more esoteric means.
-It's original reason for existence was allowing you to switch between subsessions on a [http://en.wikipedia.org/wiki/Video_terminal video-display terminal],
-but grew to allow sessions that could be detached and reattached (if you went home for the day, or say you were connecting via a glitchy network) and eventually
-to allow the same session to be simultaneously accessed from multiple places.
-
-== Getting Started ==
-
- 1.  Pick a machine to run your screen session on.  If you don't know of any options, linux.mit.edu (Linerva) is a good choice.
- 2.  ssh to that machine.
- 3.  run {{{screen}}}
- 4.  Do stuff.
-
-To detach, type "C-a d".  To reattach, type {{{screen -dr}}}
-
-If you close your ssh connection without detaching, or lose your network connection.
-
- 1.  run {{{screen -dr}}}
- 2.  Do stuff.
-
-The {{{-dr}}} means "find my screen session, detach it from wherever it's attached if it's attached, and reattach it here."
-
-Once you're comfortable with this, hit "C-a C-c".  This creates what screen calls a new "window"; it should give you a new shell prompt,
-and you can do stuff at it.  If you want to switch back to the old "window", hit "C-a C-a".   You can create as many "windows" as you want;  you can
-switch to the first 10 of them with "C-a 0" through "C-a 9" and see a list of what's open with "C-a w".  ("C-a C-a" actually means "switch to the previously
-used window".)
-
-A useful shorthand: {{{screen -dR}}} is like {{{screen -dr}}} except it adds a "if I don't already have a session, create one" step.
-
-You can use {{{screen -x}}} to attach a screen session that's already attached somewhere without detaching it first.  This can
-have side effects if the other place is already attached or is in a window that is a different size than your current one.
-It's useful when you want to share context between different screens, or even different people, but doing it when you're not
-sure where else your screen might be attached has privacy implications.
-
-== For More Information ==
-
-{{{screen}}} can do lots of stuff.   If you have a while to burn, run {{{man screen}}} at the shell prompt.   It may be helpful to do this inside of screen
-so you can put it down and come back to it later.
-
-=== TODO ===
-
-clean up, explain the "C-a C-a" notation.
\ No newline at end of file
diff --git a/doc/UsingZephyr b/doc/UsingZephyr
deleted file mode 100644 (file)
index 1e2037e..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-= Using Zephyr (a.k.a. Zephyr For Dummies) =
-
-For information on the archaic way of using Zephyr, see TraditionalZephyr.
-
-== Introduction to Zephyr ==
-
-Zephyr was a system designed to let system administrators send important messages to users in an easily noticeable format. It was meant to have a low volume of traffic and be used only for official notices. This is obviously not what Zephyr is today. It can still be used in the way it was intended: notice that you get official zephyrgrams as you log in, with important information about Athena services and planned outages. However, the most common usage is by average users exchanging information about classes, how their days are going, and talking on Zephyr classes and instances about everything from the latest episode of Battlestar Galactica to the next 18.03 problem set. The usage of Zephyr has far exceeded original expectations. Over time, people have also created programs that give Zephyr a graphical interface, and programs that give zephyr a purely textual interface, that can be used entirely within a ssh terminal. Some of these zephyr clients have become so widely used that there are users who do not know that there are other ways to send (and receive) zephyrgrams. This wiki will cover the traditional commands, typed at the athena% prompt, as well as the more common modern zephyr client Barnowl.
-
-The information in this wiki about Barnowl just barely touches the surface.  More for in-depth functionality, visit the Barnowl wiki at https://barnowl.scripts.mit.edu:444/wiki.
-
-== Modern Zephyr ==
-
-Today the majority of Zephyr users use the barnowl client.  There are other clients as well (for example, Pidgin supports Zephyr).  The following sections will go into detail about how to install, use, and customize barnowl.
-
-=== Other Clients ===
-
-There are other clients besides Barnowl, however their use is not nearly as widespread.  Some of these include:
-
-* Owl (unmaintained, Barnowl evolved from this)[[BR]]
-* vt / jervt[[BR]]
-* zwgc (see TraditionalZephyr)[[BR]]
-* Pidgin[[BR]]
-* zephyr-mode for emacs[[BR]]
-
-Using Barnowl is recommended, as it is better supported and more documentation exists for it.
-
-=== Using Barnowl ===
-
-You will need access to an Athena machine to run barnowl.  The easiest way to do this would be to SSH into linerva.mit.edu.  
-
-On a Debian-based linux distro, open up a terminal and type {{{ssh <username>@linerva.mit.edu}}}.  
-
-On Windows, download a SSH client (such as PuTTY, at http://chiark.greenend.org.uk/~sgtatham/putty/download.html) and install it.  Once you've opened it, type {{{<username>@linerva.mit.edu}}} into the prompt and hit enter.  
-
-On a Mac, open Terminal from the Utilities Folder in Applications. Type {{{kinit <username>@ATHENA.MIT.EDU && ssh -K <username>@linerva.mit.edu}}} If this command fails (saying -K is invalid), then just do {{{ssh <username>@linerva.mit.edu}}}
-
-(In all these cases, don't include the angle brackets, just replace <username> with your MIT username).  You will then be prompted for your password.  Enter it, and then carry on with running barnowl!
-
-To start barnowl, run the command {{{add barnowl; barnowl}}} at the prompt on any Athena machine or dialup, such as linerva.mit.edu.
-
-The simplest use of Zephyr is to send personal zephyrs to other users. To send a zephyr, type : to bring up a command line, and run the command {{{zwrite USERNAME}}}. You can also start a {{{zwrite}}} command by simply typing z.
-
-You can then enter your message, and then enter a {{{.}}} on a line by itself to finish the zephyr. By convention, zephyrs are usually word-wrapped to 70 characters or so per line; barnowl will wrap at about 10 characters less than the width of your terminal window, so if you have a large window, you may need to press M-q (Alt-q, or Escape then q) to word-wrap the current paragraph to a smaller width.
-
-Once you've sent and received zephyrs, you can navigate the message list with the arrow keys. Press {{{d}}} to mark a message as deleted, {{{u}}} to undelete it, and {{{x}}} to expunge all messages that have been marked as deleted.
-
-Instead of entering a {{{zwrite}}} command manually, you can also select a message in the message list with the arrow keys, and reply to it using {{{r}}}, which will automatically set up an appropriate {{{zwrite}}} command.
-
-For more documentation on the built-in commands and keybindings, you can press h to bring up barnowl's built-in help screen. For help with a specific command, bring up a command line with {{{:}}} and then type {{{help COMMAND}}}.
-
-=== Classes and Instances ===
-
-Generally the most interesting discussion on Zephyr, however, happens on so-called Zephyr ''classes''. A class is a bit like a chat room in other IM systems. Anyone can send a zephyr to a class, and anyone who is subscribed to that class will receive it. There is no security on classes -- anyone who knows the name of a class can subscribe, and there is no way to determine who is subscribed to a given class.
-
-To subscribe to a class, use the subscribe command:
-
-{{{
-:subscribe CLASSNAME * *
-}}}
-
-To send a zephyr to a class, use the zwrite command with the -c option:
-
-{{{
-:zwrite -c CLASSNAME
-}}}
-
-Zephyrs to classes usually have an instance attached. An instance is a short \93topic\94 or \93subject\94 that indicates the context of a zephyr. Different instances are often used to multiplex multiple conversations on a high-traffic class. You can specify an instance with the -i option to zwrite:
-
-{{{
-:zwrite -c CLASSNAME -i INSTANCE
-}}}
-
-A message without an instance specified will default to the instance \93personal\94
-
-Some common classes include:
-
-'''help'''::
- -c help is a class for asking (and answering) questions on virtually any topic imaginable. Be sure to use an instance (such as \93linux\94\93barnowl\94\93campus\94, or so on) when asking questions, since it's a fairly high-traffic class. 
-
-'''sipb'''::
- -c sipb is where most SIPB members hang out. It's a place for technical discussion, questions, support, and organizing SIPB events or projects. You should also always use an instance when sending to -c sipb. 
-
-'''Personal Classes'''::
- By convention, nearly every Zephyr user has a "personal" class that is the same as their username. How this class is used varies from person to person, but it's often a sort of mini-blog, a place to report what one is working on or up to, or ask friends questions, or just rant about something.
-
-=== Zephyr Slang ===
-
-If you spend enough time on Zephyr, you'll begin noticing some strange phrases and words being thrown around.  Some of these include:
-
-'''i,i foo''':  picked up from CMU zephyrland and means "I have no point here, I just like saying:".  Sometimes people simply use quotes: {{{"foo"}}}.
-
-'''mix''':  If somebody accidentally sends a Zephyr to the wrong class or person, they will send another Zephyr to that wrong/class person simply saying "mix".  This basically just means, "oops, sorry, I didn't mean to send that Zephyr here".  You might also see "-i mix", which is the same thing, only with instances.
-
-'''.d''':  You may see an instance change from {{{-i foo}}} to {{{-i foo.d}}}.  This indicates a deviation or tangent from the the original topic.
-
-'''starking''': Answering a question or replying to a topic to a topic several hours (or days, occasionally) later. The term originates from Greg Stark, who would often reply to zephyrs hours or occasionally days later without seeing if anyone had answered yet, or worse, if the instance had moved on to an entirely different topic.
-
-'''ttants''':  Literally, "Things That Are Not The Same".
-
-'''prnf''':  Literally, "Pseudo-Random Neuron Firings".
-
-There are many other acronyms that are used; if you don't know what it means, try using the {{{whats foo}}} command at an Athena terminal. If you don't have the command, run {{{add sipb}}} first.
-
-=== Zephyr Etiquette ===
-
-There are rules that people tend to use on Zephyr.  These include:
-
-Good grammar, spelling, and punctuation.  Not everybody uses capitalization, but they will still use good English.  Please do not say things such as "hey wut r u up to???".  It makes you look like an idiot.  Really.
-
-You don't need multiple question marks or exclamation points.  Usually.
-
-There are a few abbreviations people use, such as YMMV (Your Mileage May Vary) or IIRC (If I Remember Correctly), as well as some nerdier ones like DTRT (Do The Right Thing, in reference to [http://www.jwz.org/doc/worse-is-better.html The Rise of "Worse Is Better"]).  Try running `add outland; whats dtrt` to look up an abbreviation.  Common abbreviations that you might find on AIM, however, are not often used.  People tend to look down upon "lol", "rofl", and such.
-
-Personal classes are by convention considered a little more private than non-personal (public) classes. Although most people don't mind people they've met subscribing to their personal class and lurking, it's poor form to talk loudly on the personal class of someone you don't know.
-
-=== Startup ===
-
-There might be some options that you want to be consistent from session to session; you don't want to have to set the same variables each time.  You can fix this by adding the commands to your "startup" file, for example, {{{.owl/startup}}}.  This can be done from within Barnowl, by using the {{{startup}}} command:
-
-{{{
-:startup set foo bar
-}}}
-
-Where {{{foo}}} is the variable you want to set, and {{{bar}}} is the value.  You do not necessarily have to use the {{{set}}} command, either, any command you can type in Barnowl can be added to the startup file.
-
-=== Logging ===
-
-It is handy to be able to log your conversations so you can refer back to them later.  To log classes, for example:
-
-{{{
-:set classlogging on
-}}}
-
-And to log personals:
-
-{{{
-:set logging on
-}}}
-
-This will log to the "zlog" directory in your locker. You probably don't want people to see what classes you're on or what people you talk to, so you can run the Athena commands
-
-{{{
-mkdir -p ~/zlog
-fs sa ~/zlog system:anyuser none
-mkdir -p ~/zlog/people
-mkdir -p ~/zlog/class
-}}}
-
-to create the necessary directories and make them completely hidden.
-
-=== Colors ===
-
-By default, there are seven colors you may use in the terminal:  red, green, yellow, blue, magenta, cyan, and white.  In order to use color in Zephyr, you can use the following notation:  {{{@(@color(red)This is some red text))}}}
-
-Colors may vary from machine to machine, as different terminal profiles may have different shades of the seven colors.
-
-=== Filters ===
-
-Some people like to customize their Barnowl by color-coding classes.  This makes it easier to tell different classes apart (and minimize mixing).  Barnowl has some already existing filters, for example, {{{personal}}} (for incoming personals), {{{out}}} (for outgoing personals), and {{{ping}}} (for pings).  To assign a color to a filter, add the following to your startup file:
-
-{{{
-filter personal -c green
-}}}
-
-What if you want to color-code your class, or a friends class?  You can create and color filters with:
-
-{{{
-filter johndoe class johndoe
-filter johndoe -c blue
-}}}
-
-You can update your settings and filters without restarting your Barnowl session by:
-
-{{{
-:source ~/path/to/config/file
-}}}
-
-You can see all the filters by using {{{:show filters}}}, and narrow to a particular filter with, e.g., {{{:view personal}}}. You can use {{{:view all}}} or the keyboard shortcut {{{V}}} to see all messages again.
-
-For more detailed information on filters, visit https://barnowl.scripts.mit.edu:444/wiki/Filters.
-
-== Running Barnowl in Screen ==
-
-It can be very annoying to have to close Barnowl when you turn off your computer.  During the time your computer is off, you're missing many (possibly important) zephyrs.  It can be aggravating to be using zephyr via an unreliable network connection.  It can also be frustrating if you leave your computer on with Zephyr up, but go to a different computer and want to check your zephyrs - how do you do this?  These problems can be solved with the magic of screen.
-
-A more detailed and extensive explanation of this can be found at http://web.mit.edu/kchen/bin/owl-screen.txt.
-
-=== Screen ===
-
-You should find a computer or server on which to run your screen session(s) that is up all the time, for example, linerva.mit.edu.  Screen allows you to run programs inside of it on one computer, and to access those same programs from other computers via ssh.
-
-=== Quickstart ===
-
-1.  Pick a machine to host your screen session on.  If you don't know of any options, linux.mit.edu (Linerva) is a good choice.
-2.  ssh to that machine.
-3.  Run "add kchen".  You may want to add this to your {{{~/.environment}}} file.
-4.  Run "owl-screen"
-
-Your screen session is now ready.  Once you start the screen session, you'll need to get renewable Kerberos tickets in order to run it for any extended period of time.  Press C-a C-c to open a new screen window, and run
-
-{{{
-kinit -l7d -54
-}}}
-
-(length 7 days, both Kerberos 5 and Kerberos 4). Press C-a 0 to return back to your Barnowl window.
-
-When you're ready to log out, press C-a d to "detach" your screen, and then type {{{exit}}} or {{{logout}}} to log out.  Later, when you want to "reattach" your screen, ssh to the machine again, and run {{{screen -r}}}.
-
-=== Kerberos Tickets and AFS Tokens ===
-
-In order to keep your screen session authenticated, you'll need to keep your Kerberos tickets and AFS tokens up-to-date.  There is a script that will do this for you, located in the {{{kchen}}} locker.  After you ssh into the machine that hosts your screen sessions, run the following commands:
-
-{{{
-add kchen
-owl-screen
-C-a C-c
-kinit -l1d -r7d -54
-}}}
-
-=== Attaching and Detaching Sessions ===
-
-To detach a screen session (for example, if you want to log out), press C-a d (Control-A, then D).  Screen continues to run, but is no longer active.
-
-To reattach a screen session, possibly detaching from wherever it's currently attached, run:
-
-{{{
-screen -dr
-}}}
-
-{{{screen}}} can do a whole lot more.   To find out about it, see UsingScreen.
-
-== Interaction with Traditional Zephyr ==
-
-The default athena startup scripts launch zwgc on login. If you are subscribed to many classes and use Zephyr as many do today, zwgc's behavior is not very desirable. To disable zwgc startup, add:
-
-{{{
-setenv ZEPHYR_CLIENT false
-}}}
-
-to your {{{~/.environment}}} file if you use {{{tcsh}}} or
-
-{{{
-ZEPHYR_CLIENT=false
-}}}
-
-to your {{{~/.bash_environment}}} if you use {{{bash}}}. This will cause your shell to launch the {{{false}}} executable instead of zwgc which does nothing.
\ No newline at end of file
diff --git a/doc/WikiStart b/doc/WikiStart
deleted file mode 100644 (file)
index 057d96d..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-= Welcome to the SIPB Documentation Project =
-
-The SIPB Documentation Project is a project to document in written
-form the collective knowledge that SIPB members take for granted or
-use in maintaining services and projects that are not otherwise
-written down anywhere.
-
-See '''ProjectIdeas''' for stuff to try doing to further the goals of the SIPB.
-
-See LennyBugs and LennyBugsAll for the bugs we took on in the Lenny
-RC-bug-squashing hackathon of December 13, 2008.
-
-== Documentation Topics ==
-
- * UsingZephyr -- An attempt at a complete beginner's guide to getting
-   on Zephyr with BarnOwl and [UsingScreen screen].
-  * BarnOwl has some more documentation on [http://barnowl.mit.edu/ its wiki]
- * [wiki:AFSAndYou] -- an attempt at beginners guide to working with AFS for Athena and Web 
- * UsingScreen -- Handy for [UsingZephyr Zephyr] and anything else you do in an ssh session.
- * [wiki:XVM] (On XVM's trac)
-  * [https://xvm.mit.edu/trac/wiki/Remctl using `remctl`]
-  * [https://xvm.mit.edu/trac/wiki/SerialConsole getting the serial console]
- * printing: QuickPrint, CupsOnMac
- * KerberizedServer explains keytabs and how to get one and how that lets you SSH somewhere with Kerberos.
- * RootInstance explains root and extra instances in Kerberos.
- * SummerReading -- Documents or books that various SIPB members recommend reading.
-
-== Documentation Ideas ==
-
-This is a list of topics that need documentation in one form or
-another or that are good for explaining to prospectives.
-
- * PrintingAtMit
-   * QuickPrint -- done!
-   * `lpq`, `lprm`, `queues.mit.edu`
-   * printing from non-Athena: CupsOnMac -- done!
-   * `-i printadm` (maybe)
-
- * [wiki:Debianization] -- packaging software for Debian and Ubuntu
- * UsingDebathena -- You've installed Debathena -- now what?  Automounter, `blanche`, cups; using stuff in the GUI.
- * AthenaDotFiles -- These are weird and nonstandard compared to traditional UNIX and should be documented, including things like `.environment`
-   * There's some documentation at [http://web.mit.edu/olh/Dotfiles/]
-
- * ScriptsMitEdu -- lots of neat internals to explain
-
-  -- There should be a central documentation point to using your AFS space, granting access through AFS and through `web`, accessing files from various platforms, and so on.  Don't duplicate iAFS; perhaps latex2html and update it.
-
- Setting up servers:
- * ClientCerts should explain, if for some perverse reason you don't want to use scripts.mit.edu :-), how to set up client cert authentication on your own machine (grab the CA out of the apache-ssl locker, submit a CSR to mitcert@, set up scripts' magic Apache modules to make your life easier)
-
- * Add your own here!
-
-== Useful Links ==
-
- * WikiFormatting -- Documentation on trac's Wiki formatting language
- * SIPB's [http://stuff.mit.edu/sipb/docs.html Inessential Guides]. A previous generation of SIPB documentation. Much of it is dated, but still contains useful knowledge that should be updated or moved here.
- * SIPB services and projects list: http://stuff.mit.edu/sipb/project-list.html
-
-=== License ===
-
-Unless specified otherwise, all content on this wiki is released under a dual license of
-
- * the Creative Commons Attribution-Share Alike license, and
- * the GNU Free Documentation License, with no Invariant Sections, no
-   Front-Cover Texts, and no Back-Cover-Texts.
-
-This follows the [http://stuff.mit.edu/afs/sipb/admin/text/policy/documentation_licensing.txt SIPB Documentation Licensing Recommendation].
diff --git a/doc/afs-and-you.html b/doc/afs-and-you.html
new file mode 100644 (file)
index 0000000..2c41b22
--- /dev/null
@@ -0,0 +1,306 @@
+[[!meta title="AFS and You"]]
+
+<div style="float: right; font-size: 0.8em; background-color: #D0D0D0; margin: 1em;">
+       <ol>
+               <li><a href="#WhatisAFS">What is AFS?</a></li>
+               <li><a href="#SomeMITAFSterminology">Some MIT/AFS terminology</a></li>
+               <li><a href="#TheBasics">The Basics</a>
+                       <ol><li><a href="#TheLayoutofaTypicalMITLocker">The Layout of a Typical MIT Locker</a></li>
+                               <li><a href="#AccessingLockers">Accessing Lockers</a>
+                                       <ol><li><a href="#FromAthena">From Athena</a></li>
+                                               <li><a href="#FromtheWeb">From the Web</a></li>
+                                       </ol>
+                               <li><a href="#CheckingQuota">Checking Quota</a></li>
+                       </ol>
+               <li><a href="#CommonTasks">Common Tasks</a>
+                       <ol><li><a href="#ControllingWhocanAccessFiles">Controlling Who can Access Files</a></li>
+                               <li><a href="#CreatinganAFSGroup">Creating an AFS Group</a></li>
+                               <li><a href="#ControllingAccessfromtheWeb">Controlling Access from the Web</a></li>
+                       </ol>
+               <li><a href="#Troubleshooting">Troubleshooting</a>
+                       <ol>
+                               <li><a href="#ImtryingtoaccessmyfilesfslasaysIshouldhavepermissionsherebutitstillsays:Permissiondenied">I'm trying to access my files, <tt>fs la</tt> says I should have permissions  &hellip;</a></li>
+                               <li><a href="#IdreallypreferthatnoteveryonecouldlistmyfileshowshouldIstopthis">I'd really prefer that not everyone could list my files, how should I stop  &hellip;</a></li>
+                               <li><a href="#Itwasaround6amonaSundaymorningandsuddenlyIcouldntaccessmyfiles">It was around 6am on a Sunday morning and suddenly I couldn't access my  &hellip;</a></li>
+                               <li><a href="#ItisntSundayandIcantgettomyfiles">It isn't Sunday and I can't get to my files</a></li>
+                       </ol>
+               <li><a href="#AdvancedTasks">Advanced Tasks</a>
+                       <ol>
+                               <li><a href="#PuttingSoftwareinaLocker">Putting Software in a Locker</a></li>
+                               <li><a href="#Acquiringanewlocker">Acquiring a new locker</a></li>
+                       </ol>
+               <li><a href="#SeeAlso">See Also</a></li>
+       </ol>
+</div>
+
+
+<p>
+Mostly written by Donald Guy, <br />
+drawn from a variety of sources. <br />
+Credit goes to them, blame goes to him.
+</p>
+<h2 id="WhatisAFS">What is AFS?</h2>
+<p>
+The <strong>Andrew File System</strong> or <strong>AFS</strong> is a distributed network file system invented at <a href="http://www.cmu.edu/index.shtml">Carnegie Mellon University</a> as part of Project Andrew (approximately their equivalent of MIT's Project Athena). More importantly, it is the file system used to store most files on Athena today. This includes your personal home directory, the data and websites of many living groups and student groups on campus, and probably some of the software you run (if you ever use Athena clusters). (Though all user directories were migrated from NFS in the summer of 1992, some files probably still remain on NFS and, of course, various file systems are used on personal computers and servers.)
+
+</p>
+<p>
+<strong><i>In Short: AFS is probably where some of the files you care about live</i></strong>
+</p>
+<p>
+For the most part, using AFS, particularly at MIT, is well-hidden and can be used like any other UNIX file system. For some things, you will need to know a bit more. Let's start by defining some terms.
+</p>
+<h2 id="SomeMITAFSterminology">Some MIT/AFS terminology</h2>
+<dl><dt><strong>locker</strong></dt><dd>
+For practical purposes, a folder. Probably the what you'll care about most of the time. Technically any directory mountable under /mit, regardless of how its stored. Today, most lockers lockers are stored in AFS.
+</dd></dl>
+<dl><dt><strong>tokens</strong></dt><dd>
+Essentially proof to the AFS servers that you are who you say you are, thus allowing you to access files you are supposed to. Analogous to Kerberos tickets. 
+
+</dd></dl>
+<dl><dt><strong>cell</strong></dt><dd>
+AFS concept of an "administrative domain of authority." Each cell has its own set of users, groups, and administrators. Analogous to a Kerberos realm. Each top-level directory in /afs corresponds to a cell. The cells you are most likely to care about are <tt>athena.mit.edu</tt> and <tt>sipb.mit.edu</tt>.
+</dd></dl>
+<h2 id="TheBasics">The Basics</h2>
+<h2 id="TheLayoutofaTypicalMITLocker">The Layout of a Typical MIT Locker</h2>
+<p>
+Every Athena user has a locker (their home directory), which mounts at <tt>/mit/&lt;username&gt;</tt>. From a technical standpoint, it is stored in the volume <tt>user.&lt;username&gt;</tt> which is located at <tt>/afs/athena.mit.edu/user/&lt;first letter&gt;/&lt;second letter&gt;/&lt;user name&gt;</tt>. For example, the user <tt>joeuser</tt> has a home directory that mounts at <tt>/mit/joeuser</tt>, is volume <tt>user.joeuser</tt>, and is accessible at <tt>/afs/user/j/o/joeuser</tt>. Lockers for projects, software, classes, living groups, and student groups are all mounted at <tt>/mit/&lt;lockername&gt;</tt> and stored at various places in AFS.
+
+</p>
+<p>
+Within each locker, there are (by default) 4 special subdirectories you want to care about.
+</p>
+<dl><dt><strong><tt>Public</tt></strong></dt><dd>
+By default, this directory can be read by everyone (and I do mean EVERYONE!), so put files here you want to share with the entire world.
+</dd><dt><strong><tt>Private</tt></strong></dt><dd>
+By default, this directory can only be read and can only be <i>listed</i> by you (from AFS, not from web) whereas the files in other directories can (by default) only be read by you, but can be listed by anyone. This means that other people can't see the contents of your files, but they can see what files you have outside of <tt>Private</tt> 
+</dd><dt><strong><tt>OldFiles</tt></strong></dt><dd>
+
+This folder is a link to a read-only copy of a backup of your files (created nightly at 3 a.m.). This copy cannot be edited and does not count towards the locker's quota. (From a technical standpoint, this is a separate volume, user.&lt;username&gt;.backup and is stored only as changes against the current copy.)
+</dd><dt><strong><tt>www</tt></strong></dt><dd>
+Where you should put a website, if you want one. There is very little special about this directory from an AFS standpoint, but it is world-readable (like Public) and is linked directly to <tt>http://www.mit.edu/~&lt;lockername&gt;</tt> as well as <tt>http://web.mit.edu/&lt;lockername&gt;</tt>.
+</dd></dl>
+<h2 id="AccessingLockers">Accessing Lockers</h2>
+<h3 id="FromAthena">From Athena</h3>
+
+<p>
+On Athena, you can access a locker either as its full AFS path, if you know it (e.g. <tt>/afs/athena.mit.edu/course/6/6.01</tt>), or under <tt>/mit</tt> if it is "attached." Yet a third way is to use tilde expansion and simply <tt> cd ~~&lt;locker&gt; </tt> (e.g. <tt>cd ~~6.01</tt>) which will take you to the full path. Often, however, you want to attach lockers because it is easier to refer to them outside of the shell (in a script, for example) and software is set up to run with a path under <tt>/mit</tt>. There are a few ways to attach a locker: 
+
+</p>
+<ul><li>If you are running on a <a href="http://debathena.mit.edu">Debathena</a> machine, such as <a href="http://linerva.mit.edu">linerva.mit.edu</a>, then simply <tt>cd /mit/&lt;locker&gt;</tt> and it will be auto-attached.
+</li><li>If you are on another Athena machine and don't want to run software out of the locker, than simply type <tt>attach &lt;locker&gt;</tt> and then <tt>cd</tt> to it.
+
+</li><li>If, however, you want to use software in the locker, you will be better served by running <tt>add &lt;locker&gt;</tt> (e.g. <tt>add ruby-lang</tt>). This will attach the locker at <tt>/mit/&lt;locker&gt;</tt> and will add the <tt>bin</tt> directory (for your architecture) of that locker to your PATH. What this means is that you should be able to run any program located in that locker by simply typing the name of the program at the command line.
+<ul><li>If you frequently use the same locker, it may be helpful for you to add the <tt>add &lt;locker&gt;</tt> command to your <tt>.environment</tt> file. To do this simply from the Athena command line, type <tt>echo "add lockername" &gt; ~/.environment</tt> or <tt>echo "add lockername &gt;&gt; ~/.environment</tt>.
+
+</li></ul></li></ul><h3 id="FromtheWeb">From the Web</h3>
+<p>
+Generally any locker that you would access on Athena as <tt>/mit/&lt;locker&gt;</tt> is accessible on the web as <tt>http://web.mit.edu/&lt;locker&gt;</tt>. For example, the barnowl locker is at <a href="http://web.mit.edu/barnowl">http://web.mit.edu/barnowl</a>. As you can see, if there is no index.html (see below), the files in the directory are listed. By default, however, none of the contents are readable except in the <tt>www</tt> and <tt>Public</tt> folders.
+
+</p>
+<p>
+Also, you may access something in one of the MIT AFS cells by taking its full AFS path after web.mit.edu (<a href="http://web.mit.edu/afs/athena.mit.edu/activity/c/chess-club">http://web.mit.edu/afs/athena.mit.edu/activity/c/chess-club</a>). (That link also shows that if you have a text file named README readable, as a link to Public/README for example, its contents will be displayed below the directory listing).
+</p>
+<h2 id="CheckingQuota">Checking Quota</h2>
+<p>
+You are only allocated a certain amount of disk space by MIT. To check the quota of the locker you are presently in run <tt>fs listquota</tt>. You will see output similar to the following:
+</p>
+<pre>user@host:/mit/chess-club$ fs listquota
+Volume Name                   Quota      Used %Used   Partition
+activity.chess-club         1500000     13163    1%         90% 
+</pre><p>
+If this information is good enough for you, then you are done. If not, read on.
+</p>
+
+<h2 id="CommonTasks">Common Tasks</h2>
+<h2 id="ControllingWhocanAccessFiles">Controlling Who can Access Files</h2>
+<p>
+You may be familiar with Unix permissions. Sad to say, but that knowledge is basically useless here. Whereas Unix permissions, are per-file, AFS permissions are controlled by <strong>Access Control List</strong>s (<strong>ACL</strong>s) on a per-directory basis. 
+</p>
+<p>
+To view the ACL for a given directory (where you have permission to do so), run <tt>fs listacl</tt> or <tt>fs la</tt>, for short. For a typical user locker, the ACL in the top level will look like this 
+
+</p>
+<pre>user@host:~$ fs la
+Access list for . is
+Normal rights:
+  system:expunge ld
+  system:anyuser l
+  user rlidwka
+</pre><p>
+This is a list of users or <a href="#CreatinganAFSGroup">AFS groups</a> and their permissions in this directory (and subdirectories that don't have their own ACL modifications). In AFS there are seven permissions as follows
+</p>
+<blockquote>
+<table>
+<tr><td><strong>r</strong></td><td>  read   </td><td>   user or members of group can read files in the directory    (i.e. see the contents of files)                  
+</td></tr><tr><td><strong>l</strong></td><td>  list   </td><td>   user or members of group can list files in the directory    (i.e. see the names of files)                     
+
+</td></tr><tr><td><strong>i</strong></td><td>  insert </td><td>   user or members of group can create files (or subdirectories) in the directory                                
+</td></tr><tr><td><strong>d</strong></td><td>  delete </td><td>   user or members of group can delete files in the directory                                                    
+</td></tr><tr><td><strong>w</strong></td><td>  write  </td><td>   user or members of group can modify files in the directory  (i.e. change the contents of files)               
+</td></tr><tr><td><strong>k</strong></td><td>  lock   </td><td>   user or members of group can lock files in the directory   (you will likely never use this)                   
+
+</td></tr><tr><td><strong>a</strong></td><td>  admin  </td><td>   user or members of group can see and change permissions. It does <strong>not</strong> affect pre-existing subdirectories.
+</td></tr></table>
+</blockquote>
+<p>
+To add a user or group to the ACL for a given directory simply run <tt>fs setacl</tt> or <tt>fs sa</tt> as follows:
+
+</p>
+<pre>fs sa &lt;directory&gt; &lt;user or group&gt; &lt;permissions&gt;
+</pre><dl><dt><tt>&lt;directory&gt;</tt></dt><dd>
+can be an absolute or relative path, usually you will want <tt>.</tt>
+</dd><dt><tt>&lt;user or group&gt;</tt></dt><dd>
+can be any user or group. Some you probably want to know: system:anyuser means EVERYONE (the entire AFS-using world plus the entire world wide web), system:expunge is the daemon for MIT's delete/lsdel/undelete utilities to work in a given directory.
+</dd><dt><tt>&lt;permissions&gt;</tt></dt><dd>
+
+can be a string of the above letters (in any order) or any of the words <tt>read</tt>, <tt>write</tt>, <tt>all</tt> and <tt>none</tt> which are equivalent to <tt>rl</tt>, <tt>rlidwk</tt>, <tt>rlidwka</tt> and the empty string, respectively 
+
+</dd></dl>
+<p>
+For example, if <tt>user</tt> wants his friends <tt>sipbtest</tt> and <tt>jarandom</tt> to be able to read and write files and anyone to be able to read files in his <tt>awesome_project</tt> directory, he might have a session that looks like this
+</p>
+<pre>user@host:~$ cd awesome_project/
+user@host:~/awesome_project$ fs sa . system:anyuser read
+user@host:~/awesome_project$ fs sa . jarandom write
+user@host:~/awesome_project$ fs sa . sipbtest write
+user@host:~/awesome_project$ fs la
+Access list for . is
+Normal rights:
+  system:expunge ld
+  system:anyuser rl
+  sipbtest rlidwk
+  jarandom rlidwk
+  user rlidwka
+user@host:~/awesome_project$
+
+</pre><p>
+See also: <tt>man 1 fs</tt>, <tt>fs help &lt;command&gt;</tt>
+</p>
+<h2 id="CreatinganAFSGroup">Creating an AFS Group</h2>
+<p>
+The "normal" way to make an AFS group would be with a command similar to <tt>pts creategroup &lt;your user name&gt;:&lt;group name&gt;</tt> and then add people with <tt>pts adduser &lt;user&gt; &lt;full group name&gt;</tt>(e.g. If Donald Guy wanted to created a group for people to edit his www directory (including <tt>sipbtest</tt> and <tt>jflorey</tt>, he might use the following chain of commands <tt>pts creategroup fawkes:www ; pts adduser sipbtest fawkes:www; pts adduser jflorey fawkes:www; fs sa ~/www fawkes:www write</tt>
+
+</p>
+<p>
+This method will work, but at MIT, it is much more common to use moira lists as a group. To create a new list, use the web interface at <a href="https://wserv.mit.edu:444/fcgi-bin/lc">https://wserv.mit.edu:444/fcgi-bin/lc</a>? to create a moira list, NOT A MAILMAN LIST and be sure to check the box for "Should this list be an AFS Group?" (to make an already existing moira list into an AFS group simply <tt>blanche -G &lt;list&gt;</tt>). After the servers update (which may take anywhere between 1 second and 10 minutes depending on the number of similar requests), the AFS group system:&lt;list name&gt; will exist in the athena.mit.edu cell. 
+</p>
+<p>
+This is useful because one often wants the same certain people who can operate on files in a folder to be a mailing list. Thus, for example, it is possible to send mail to gnu@mit.edu and use system:gnu as an AFS group on ACLs. (it is also possible to make moira lists that are AFS groups, but not mailing lists).  
+</p>
+<p>
+see also: <tt>man 1 pts</tt>
+
+</p>
+<h2 id="ControllingAccessfromtheWeb">Controlling Access from the Web</h2>
+<p>
+If you make a directory listable and readable by system:anyuser then it can be viewed by any user on the web via the urls mentioned <a href="#FromtheWeb">above</a>
+</p>
+<p>
+Unfortunately, just because you add specific users to an AFS ACL does not mean they can see the folder when the access from the web. IS&amp;T, however, does provide a solution to this. First, make sure that the wanted directory is not readable by system:anyuser. Next <tt>fs sa &lt;dir&gt; system:htaccess.mit read </tt>. Then create a file named <tt>.htaccess.mit</tt> in that directory. In that file you can do three things, 
+
+</p>
+<ul><li>You can require that the user have valid certificates:
+<pre>  &lt;limit GET&gt;
+  require valid-user
+  &lt;/limit&gt;
+</pre></li></ul><ul><li>You can require the reader be (a) specific user(s), for example:
+<pre>  &lt;limit GET&gt;
+  require user fawkes jflorey sipbtest jarandom
+  &lt;/limit&gt;
+
+</pre></li><li>You can require that the reader be a member of one of certain moira groups (notice these are <strong>moira</strong> groups, there is no "system:". For example:
+<pre> &lt;limit GET&gt;
+  require group sipb-staff sipb-prospectives
+ &lt;/limit&gt;
+</pre></li></ul><p>
+There after the users should be able to get to the folders at <tt>http<b>s</b>://web.mit.edu/&lt;locker&gt;/&lt;path to folder&gt;</tt> if they have certificates and no one should be able to reach it via http. Make sure to add yourself if you are going to be accessing it.
+
+</p>
+<p>
+see also: <a href="http://web.mit.edu/is/web/reference/web-resources/https.html">http://web.mit.edu/is/web/reference/web-resources/https.html</a>
+</p>
+<h2 id="Troubleshooting">Troubleshooting</h2>
+<h3 id="ImtryingtoaccessmyfilesfslasaysIshouldhavepermissionsherebutitstillsays:Permissiondenied">I'm trying to access my files, <tt>fs la</tt> says I should have permissions here, but it still says <tt>: Permission denied</tt></h3>
+<p>
+There are two likely possibilities. First, its likely that your tokens may have expired. To get new tokens, make sure you have valid kerberos tickets and then run <tt>aklog</tt>. Another possibility is that you have tokens but not for the correct cell. <tt>tokens</tt> will tell you what tokens you already have. In all likelihood, if you are reading this, you probably want <tt>aklog athena sipb</tt>. Finally, a third possibility is that your group membership has changed since you acquired tokens. Try running <tt>aklog -force</tt>
+
+</p>
+<h3 id="IdreallypreferthatnoteveryonecouldlistmyfileshowshouldIstopthis">I'd really prefer that not everyone could list my files, how should I stop this?</h3>
+<p>
+What you <strong>don't</strong> want to do is take away the l permission from <tt>system:anyuser</tt> because then no one will be able to get to your <tt>Public</tt> or <tt>www</tt> which you probably don't want. All told, there is no way to stop people on Athena from listing your files (unless you keep everything under <tt>Private</tt> or a similarly restricted directory). It is rather trivial to stop web users, however. A solution I recommend, if you have a website in <tt>www</tt>, is to make a page <tt>redirect.html</tt> (or similar) with the contents like:
+
+</p>
+<pre>&lt;html&gt;
+&lt;head&gt;
+  &lt;meta http-equiv="Refresh" content="0; url=http://www.mit.edu/~&lt;lockername&gt;/"&gt;
+&lt;/head&gt;
+&lt;body&gt;
+  &lt;p&gt;Please go to my &lt;a href="http://www.mit.edu/~&lt;lockername&gt;/"&gt;www&lt;/a&gt;!&lt;/p&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</pre><p>
+and then doing a <tt>ln -s www/redirect.html index.html</tt> in the top level of the locker. Alternatively you can link index.html to a blank file in your <tt>Public</tt> or <tt>www</tt> (you can't simply it in the top level because its not readable there, this will result in a 403 Forbidden error).
+</p>
+<h3 id="Itwasaround6amonaSundaymorningandsuddenlyIcouldntaccessmyfiles">It was around 6am on a Sunday morning and suddenly I couldn't access my files</h3>
+
+<p>
+Yeah, most AFS servers restart weekly at 6 AM on Sunday.
+</p>
+<h3 id="ItisntSundayandIcantgettomyfiles">It isn't Sunday and I can't get to my files</h3>
+<p>
+There may be a non-scheduled AFS outage. Check <a href="http://3down.mit.edu">3down</a>, hopefully it will be back up soon :-(.
+</p>
+<h2 id="AdvancedTasks">Advanced Tasks</h2>
+<h2 id="PuttingSoftwareinaLocker">Putting Software in a Locker</h2>
+<p>
+The Athena environment was designed to allow software to run on several architectures on the same network. On modern Athena, this means 32-bit x86s running Linux, 64-bit x86s running Linux, and SPARCs running Solaris. To accommodate these these various architectures AFS (at least on Athena) has a notion of what systems are compatible with the operating system. You can find these by running <tt>fs sysname</tt>.
+
+</p>
+<p>
+The special variable @sys in a path corresponds to the first of these that matches. When a user runs <tt>add</tt>, <tt>/mit/&lt;locker&gt;/arch/@sys/bin</tt> is added to their PATH and <tt>/mit/&lt;locker&gt;/man</tt> or <tt>/mit/&lt;locker&gt;/arch/@sys/man</tt> is added to their MANPATH.
+
+</p>
+<p>
+Primarily because of this fact, a typical locker is set up with the following sort of layout:
+</p>
+<pre>user@host:/mit/&lt;some locker&gt;$ tree -dL 2
+.
+|-- arch
+|   |-- i386_linux22
+|   |-- i386_linux24 -&gt; i386_rhel4/
+|   |-- i386_rh9 -&gt; i386_linux24
+|   |-- i386_rhel3 -&gt; i386_rhel4
+|   |-- i386_rhel4
+|   |-- sgi_65
+|   |-- sun4x_510
+|   |-- sun4x_57
+|   |-- sun4x_58 -&gt; sun4x_510/
+|   `-- sun4x_59 -&gt; sun4x_58
+|-- bin -&gt; arch/@sys/bin
+|-- include -&gt; arch/@sys/include
+|-- info
+|-- lib -&gt; arch/@sys/lib
+|-- man
+   `-- man1
+
+</pre><p>
+Please note that the @sys variable should really be used ONLY in these convenience in symlinks. To make the folder in arch you usually want to either pick a more general architecture and set it up yourself or simply use the following command in the top level of the locker:
+<tt>mkdir -p arch/$ATHENA_SYS/{bin,lib,include</tt>}. After making this folder, make the shortcut symlinks with commands similar to <tt>ln -s arch/@sys/bin bin</tt> (again, this is the <i>ONLY</i> time you should use @sys yourself). Other than that, its mainly just a matter of making sure to run configure with options like <tt>--prefix=/mit/&lt;lockername&gt;</tt> and <tt>--with-manpath=/mit/&lt;lockername&gt;/man</tt>. 
+
+</p>
+<p>
+See also: <tt>man lockers</tt>
+</p>
+
+<h2 id="Acquiringanewlocker">Acquiring a new locker</h2>
+<p>
+While it is easily possible to make an AFS group for yourself, it is harder to get a new locker. If you want a locker for something official like a student group or a piece of software, send an email to <a href="mailto:accounts@mit.edu">accounts@mit.edu</a> explaining what you need it for and someone at IS&amp;T will let you know. If you feel it is something less official or you would just rather consider it a SIPB project (perhaps get other SIPB people involved) send an email to <a href="mailto:sipb-afsreq@mit.edu">sipb-afsreq@mit.edu</a> instead. In either case, if a mount point under <tt>/mit</tt> fails to get set up for you, let <a href="mailto:hesreq@mit.edu">hesreq@mit.edu</a> know.
+</p>
+
+   
+<h2 id="SeeAlso">See  Also</h2>   
+<p>SIPB's older guide, <a href="http://stuff.mit.edu/afs/sipb.mit.edu/project/doc/afs/html/afs-new.html">Inessential AFS</a>  <br /> OpenAFS documentation  at <a href="http://www.openafs.org/">http://www.openafs.org/</a>
+</p> 
+
similarity index 58%
rename from doc/BarnOwl
rename to doc/barnowl.mdwn
index 26eac59e0f64ee8d6b516e9f2a9cbc324154a24c..7941af7a29656801b078a7010fc61a70820f6b48 100644 (file)
@@ -1 +1 @@
-BarnOwl is the Zephyr client used by most SIPB members. Find out more on [http://barnowl.mit.edu/ its wiki].
\ No newline at end of file
+BarnOwl is the Zephyr client used by most SIPB members. Find out more on [its wiki](http://barnowl.mit.edu/).
similarity index 51%
rename from doc/CupsOnMac
rename to doc/cups-on-mac.mdwn
index caabb5de73701dc1cf44413e50dddaad5dd47c7c..f27183ce01ef124a16b866628a38ae4ed6c37609 100644 (file)
@@ -1,13 +1,18 @@
-CupsMitEdu is a server using the CommonUnixPrintingSystem, the native printing system on Apple and Ubuntu (in fact, Apple bought out CUPS, Inc. recently...). MIT uses LPRng, which is an older printing system, but SIPB runs a CUPS server to make it easier to print from Mac OS and Linux.
+cups.mit.edu is a server using the Common Unix Printing System, the
+native printing system on Apple and Ubuntu (in fact, Apple bought out
+CUPS, Inc. recently...). MIT currently uses LPRng, which is an older
+printing system, but SIPB runs a CUPS server to make it easier to print
+from Mac OS and Linux.
 
-To make your Mac print to cups.mit.edu, run the following commands at a Terminal:
-{{{
-echo BrowsePoll cups.mit.edu | sudo tee -a /etc/cups/cupsd.conf
-sudo launchctl stop org.cups.cupsd && sudo launchctl start org.cups.cupsd
-}}}
+To make your Mac print to cups.mit.edu, run the
+following commands at a Terminal:
+
+       echo BrowseProtocols cups | sudo tee -a /etc/cups/cupsd.conf
+       echo BrowsePoll cups.mit.edu | sudo tee -a /etc/cups/cupsd.conf
+       sudo launchctl stop org.cups.cupsd && sudo launchctl start org.cups.cupsd
 
 You need to do this from an administrator account. Provide your login password when asked.
 
 If you're using Mac OS X 10.4 Tiger, when you go to a print dialog, "Shared Printers" will pop out and list all the public cluster and dorm printers at MIT.
 
-If you're using Mac OS X 10.5 Leopard, print queues aren't added automatically. If you go to System Preferences, choose Print & Fax, and select the "+" icon to add a new printer, all cluster and dorm printers on campus are listed under the "Default" tab at the top.
\ No newline at end of file
+If you're using Mac OS X 10.5 Leopard, print queues aren't added automatically. If you go to System Preferences, choose Print & Fax, and select the "+" icon to add a new printer, all cluster and dorm printers on campus are listed under the "Default" tab at the top.
diff --git a/doc/debian-hacking.mdwn b/doc/debian-hacking.mdwn
new file mode 100644 (file)
index 0000000..7196db3
--- /dev/null
@@ -0,0 +1,37 @@
+Debian and Ubuntu packages make it easy to hack on software that's
+packaged and try out your changes, within the framework of the packaging
+system. These instructions assume that you have an understanding of how
+Debian packaging works, although all you really need to know is that
+each file in the distribution comes from a <i>package</i>, which
+contains the compiled form of a <i>source package</i>.
+
+1. Figure out what package the software is from. Usually it's named
+approximately the same as the software itself, e.g., `barnowl` or `gdb`
+or `libwww-mechanize-ruby`. You can use the command `dpkg -S` to figure
+out where a file comes from, or search on
+[packages.debian.org](http://packages.debian.org/) or
+[packages.ubuntu.com](http://packages.ubuntu.com/).
+
+2. Type `apt-get source` followed by the package name. This will
+download the source package.
+
+3. cd into the directory that was just created and make whatever changes
+you want.
+
+4. Run the command `dch -i`, which edits the debian/changelog file and
+increments the version. Add something like "~edited1" to the end of the
+version, because a version with a tilde in it is considered older than a
+version without. This means Debian will let you install your edited
+version over the current version, but also permit the next offical
+release to supersede your hacked version.
+
+5. Run the command `debuild` to compile the software and build a
+package.
+
+6. `cd ..` and then find the package that was just built. As root, run
+`dpkg -i` followed by this package name.
+
+You can find more information about writing Debian or Ubuntu packages in
+[Ubuntu's packaging guide](https://wiki.ubuntu.com/PackagingGuide) or
+SIPB's [packaging tutorial](http://debathena.mit.edu/packaging/) on the
+Debathena website.
diff --git a/doc/debianization.mdwn b/doc/debianization.mdwn
new file mode 100644 (file)
index 0000000..417555b
--- /dev/null
@@ -0,0 +1,22 @@
+[[!meta title="Debianization"]]
+
+This document is a brief introduction to how to Debianize a piece of
+software, i.e. to create a package for a Debian or Ubuntu distribution
+so that it can be managed alongside other system software.
+
+You'll need a few packages for doing Debian development, so you should run
+
+`$ sudo aptitude install build-essential dh-make devscripts cdbs equivs lintian dpatch quilt dpkg-dev`
+
+If you're a fan of Emacs as a text editor, you should also run
+
+`$ sudo aptitude install debian-el devscripts-el dpkg-dev-el`
+
+## Preparing the source
+
+To prepare a source directory for Debianization, you'll first want to
+rename the directory to the form <package>-<version>.
+
+## Everything else
+
+This article is a stub.  You can help by expanding it.
diff --git a/doc/kerberized-server.mdwn b/doc/kerberized-server.mdwn
new file mode 100644 (file)
index 0000000..0aee6cb
--- /dev/null
@@ -0,0 +1,40 @@
+[[!meta title="Enabling Kerberos logins for your server"]]
+
+If you want kerberized logins on a server you run, you'll need a
+*keytab* from accounts.  Fill out the
+[keytab request form](http://web.mit.edu/accounts/www/srvtabform.html),
+which sends them an e-mail.  Ask for a "keytab"; by default they'll
+give you a srvtab, the Kerberos 4 analogue.
+
+Your new keytab will be in
+`/mit/accounts/srvtabs/FOR_YOURUSERNAME`, which is AFS and vaguely
+insecure.  You probably want to install it in `/etc/krb5.keytab`,
+and then randomize the key.
+
+    # mv -f /etc/krb5.keytab /etc/krb5.keytab.old  # back up any keytab you already have
+    # mv /mit/accounts/srvtabs/FOR_JOEUSER/joeserver-new-keytab /etc/krb5.keytab
+    # k5srvutil change
+
+Then make sure your `/etc/ssh/sshd_config` file includes the lines
+
+    GSSAPIAuthentication yes
+    GSSAPIKeyExchange yes
+
+This will let you SSH in with Kerberos.
+
+Then create a file called `.k5login` in the home directory of
+whichever users you want to be able log into with Kerberos. List the
+full Kerberos principal of each user, one per line (e.g.,
+`joeuser@ATHENA.MIT.EDU`)
+
+## Dealing with srvtabs
+
+If you don't specifically mention a "keytab" in your request to
+Accounts, they may give you the Kerberos 4 equivalent, a srvtab.
+
+In this case you'll want to convert the srvtab to a keytab, like so.
+
+    $ ktutil
+    ktutil: rst /mit/accounts/srvtabs/FOR_JOEUSER/joeserver-new-srvtab
+    ktutil: wkt /etc/krb5.keytab
+    ktutil: q
diff --git a/doc/lenny-bugs-all.mdwn b/doc/lenny-bugs-all.mdwn
new file mode 100644 (file)
index 0000000..9cb13ea
--- /dev/null
@@ -0,0 +1,572 @@
+[[!meta title="Open RC Bugs in Lenny"]]
+
+These are bugs to consider at SIPB's [[RC-bug-squashing hackathon|lenny-bugs]] for Lenny.
+
+Bug list dumped early 2008-12-12.  The pipeline was
+ `$ cd /mit/debathena/debian-bts && ./get_bugs | sort | ./bugs-format-trac`
+
+Please sort into useful/not useful, add notes, etc.
+
+----
+
+## Juicy?
+
+All acted on!  See the "Stuff we did" sections below.
+
+
+
+----
+
+## Stuff we did
+
+### Fixed by SIPB!
+[436140](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=436140)
+in [installation-reports](http://packages.debian.org/lenny/installation-reports)
+"cdrom: Most of the system's files have a future timestamp causing at least update/config problems."
+(closed by wdaher)
+
+[476525](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=476525) 
+in [python-hid](http://packages.debian.org/lenny/python-hid) 
+"python-hid: hid module will not import since python policy transition" 
+(tabbott)
+
+[507071](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507071) 
+[racoon](http://packages.debian.org/lenny/racoon) 
+"racoon - Fails after upgrade: symbol lookup error: /usr/sbin/racoon: undefined symbol: libipsec_opt" 
+(fixed by broder)
+
+[507072](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507072) 
+in [ipsec-tools](http://packages.debian.org/lenny/ipsec-tools) 
+"libipsec0 packaged in ipsec-tools without development headers" 
+(downgraded by hartmans)
+
+[504626](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504626) 
+in [nvidia-glx](http://packages.debian.org/lenny/nvidia-glx) 
+"[nvidia-glx] Quietly drops support for several chipsets" 
+(downgraded by nelhage)
+
+[502845](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502845)
+in [open-iscsi](http://packages.debian.org/lenny/open-iscsi)
+"open-iscsi: no login using amd64"
+(quentin reassigned; Bastian Blank then lowered priority)
+
+[508265](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508265)
+in [sysprof-module-source](http://packages.debian.org/lenny/sysprof-module-source)
+"sysprof-module-source: doesn't compile on AMD64 arch (wrong register names)"
+(patch added by andersk)
+
+[506057](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506057)
+in [splashy](http://packages.debian.org/lenny/splashy)
+"splashy: Splashy fails to install due to missing default theme"
+(fix suggestion added by ecprice with help from tabbott and fawkes)
+
+[506748](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506748)
+in [rtorrent](http://packages.debian.org/lenny/rtorrent)
+"crash rtorrent by scgi-interface (function: 'fi.get_filename_last')"
+(submitted patch that disables broken RPC; leaving to maintainer to decide if this is what he wants to do)
+
+[426465](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=426465)
+in [initramfs-tools](http://packages.debian.org/lenny/initramfs-tools)
+"/init exports MODPROBE_OPTIONS=-qb"  
+(patch added by price)
+
+[489501](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=489501)
+in [zekr](http://packages.debian.org/lenny/zekr)
+"zekr depends on libxul0d"  
+(mako tweaked and sponsored fix by Asheesh Laroia)
+
+### Waiting on feedback
+
+[502140](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502140)
+in [pam](http://packages.debian.org/lenny/pam)
+"cannot unlock screen during etch -> lenny transition"
+(hartmans added comment)
+
+[481072](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=481072)
+in [dk-filter](http://packages.debian.org/lenny/dk-filter)
+"dk-filter reliably crashes upon connection from postfix"  
+(quentin couldn't reproduce)
+
+[507883](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507883)
+in [asterisk](http://packages.debian.org/lenny/asterisk)
+"asterisk: Very frequent segfaults on startup"
+(quentin couldn't reproduce)
+
+[456037](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=456037)
+in [fenix](http://packages.debian.org/lenny/fenix)
+"fenix: not 64 bit clean"  
+(ezyang observed upstream's website looks ~dead)
+
+
+
+
+----
+
+## Fun stuff to read
+
+### Flamewars
+
+You might enjoy reading these, but they may not be good targets to fix.
+
+[475737](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=475737)
+in [otrs2](http://packages.debian.org/lenny/otrs2)
+"otrs2 - makes files in /usr writable by non-root"
+
+[504771](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504771)
+in [wordpress](http://packages.debian.org/lenny/wordpress)
+"wordpress can be subject of delayed attacks via cookies"
+
+For this one, the actual flamewar is off the bug report log.
+
+[497823](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=497823)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"longstanding DFSG violations in linux-2.6 package"
+
+[504747](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504747)
+in [gnu-fdisk](http://packages.debian.org/lenny/gnu-fdisk)
+"gnu-fdisk: wipes out MBR when used on GPT partitions"
+
+
+### Would have been fun
+
+Entertaining to read but sadly already fixed.
+
+[506961](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506961)
+in auctex
+"auctex: reuses old logfile on emacsen upgrades, enabling symlink attack"
+
+
+### Examples to live up to
+
+[496954](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=496954)
+in [bind9](http://packages.debian.org/lenny/bind9)
+"bind9: Fails to start due to SIGSEGV"  
+This bug sat unfixed for months.  Then someone attacked it in a bug-squashing party,
+got the first reproducible testcase, and sent that upstream, which swiftly produced a fix.
+
+
+### Puzzling
+
+Someone please explain what's going on (Debian Project-wise) in these bugs.
+
+[323473](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=323473)
+in [wnpp](http://packages.debian.org/lenny/wnpp)
+"ITA: mol-drivers-linux -- The Mac-on-Linux emulator - drivers for Linux"  
+(Note: The bug is for someone to take over maintainership.  They did.  Then when the bug gets automatically archived, they reply saying to keep it?  I (price) don't understand.)
+
+
+
+
+----
+
+## Not so ripe for us to fix
+
+### Specific hardware
+
+If you have the relevant hardware you could help a lot.
+
+[394963](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394963)
+in [installation-reports](http://packages.debian.org/lenny/installation-reports)
+"installation: Problems with dual booting Dell D600 with winXP pro in the first partition (hd0, 0). After installing the Dell Etch Beta 3, Windows fails to boot and I get the blue screen of death."
+
+[418972](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418972)
+in [installation-reports](http://packages.debian.org/lenny/installation-reports)
+"cdrom: Etch does not detect CD-ROM on Acer Aspire 7100"
+
+[478717](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=478717)
+in [ruby1.9](http://packages.debian.org/lenny/ruby1.9)
+"ruby1.9: FTBFS on hppa: make[1]: *** [all] Segmentation fault"
+
+[499078](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=499078)
+in [jfsutils](http://packages.debian.org/lenny/jfsutils)
+"jfsutils: Bus Error when running fsck.jfs on sparc"
+
+[501804](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=501804)
+in [installation-reports](http://packages.debian.org/lenny/installation-reports)
+"installation-reports: Lenny b2 install on ThinkPad X61 - fails to detect hard disk"
+
+[495603](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495603)
+in [installation-reports](http://packages.debian.org/lenny/installation-reports)
+"grub-installer fails on a FSC Primergy RX300 with a level 5 RAID"
+
+
+### May be a lot of work
+
+[490171](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=490171)
+in [rtorrent](http://packages.debian.org/lenny/rtorrent)
+"rtorrent: random crash"  
+(Reproducing this seems to require runnin 20+ torrents for a ~day)
+
+
+### Unclassified
+
+Please read these reports and figure out what category they belong in.  Or make a new category.
+
+[504661](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504661)
+in [nvidia-glx-legacy-96xx-dev](http://packages.debian.org/lenny/nvidia-glx-legacy-96xx-dev)
+"nvidia-glx-legacy-96xx-dev: /usr/lib/libGL.so symlink broken"
+
+[504918](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504918)
+in [network-manager](http://packages.debian.org/lenny/network-manager)
+"Updating to lenny failed when NetworkManager got updated"
+
+### Unclassified Security
+
+[505563](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505563)
+in [icedove](http://packages.debian.org/lenny/icedove)
+"Mozilla Thunderbird Multiple Vulnerabilities"
+
+[507165](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507165)
+in [xine-lib](http://packages.debian.org/lenny/xine-lib)
+"xine-lib: CVE-2008-5242 heap-based buffer overflow"
+
+[507184](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507184)
+in [xine-lib](http://packages.debian.org/lenny/xine-lib)
+"xine-lib: CVE-2008-5246 heap overflow"
+
+[504977](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504977)
+in [ffmpeg-debian](http://packages.debian.org/lenny/ffmpeg-debian)
+"ffmpeg-debian: Several security issues"
+
+### Fresh bugs
+
+These are very recent and presumably will get dealt with by the
+package maintainers without help.
+
+If you're bored you might look through and see if some are interesting
+anyway.  Also feel free to draw the line at some other time; I (price)
+picked December 1, arbitrarily.
+
+
+[239111](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=239111)
+in [grub](http://packages.debian.org/lenny/grub)
+"Freeze when installing GRUB on XFS boot partition"  
+(Note: just re-opened 2008-12-12)
+
+[507558](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507558)
+in [hibernate](http://packages.debian.org/lenny/hibernate)
+"ignores "LockXLock yes" setting in /etc/hibernate/common.conf (e.g. does not lock the screen)"
+
+[507579](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507579)
+in [yocto-reader](http://packages.debian.org/lenny/yocto-reader)
+"Package installation results in license violation"
+
+[507706](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507706)
+in [cdimage.debian.org](http://packages.debian.org/lenny/cdimage.debian.org)
+"Missing sources for d-i components/kernel of etch-n-half images"
+
+[507721](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507721)
+in [cryptsetup](http://packages.debian.org/lenny/cryptsetup)
+"cryptsetup: Sometimes initrd ends up missing conf/conf.d/cryptroot file in it"
+
+[507818](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507818)
+in [mldonkey-server](http://packages.debian.org/lenny/mldonkey-server)
+"mldonkey-server: mlnet does not start, logs syntax error in downloads.ini"
+
+[507865](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507865)
+in [openoffice.org-writer](http://packages.debian.org/lenny/openoffice.org-writer)
+"openoffice.org-writer: OOo 2.4.x openinig OOo 3 files doesn't show text (2.x implements standard wrong)"
+
+[507889](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507889)
+in [mdadm](http://packages.debian.org/lenny/mdadm)
+"mdadm: initramfs-tools script is broken, system with root on RAID won't boot"
+
+[507996](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507996)
+in [uim-tcode](http://packages.debian.org/lenny/uim-tcode)
+"mazegaki conversion cannot be used"
+
+[508133](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508133)
+in [libmad0](http://packages.debian.org/lenny/libmad0)
+"audacity: munmap_chunk(): invalid pointer: 0x00000000026f4eb0"
+
+[508194](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508194)
+in [sun-java5](http://packages.debian.org/lenny/sun-java5)
+"sun-java5: New upstream release fixes several security issues"
+
+[508313](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508313)
+in [xine-lib](http://packages.debian.org/lenny/xine-lib)
+"xine-lib: CVE-2008-5234 heap overflow in atom parsing"
+
+[508322](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508322)
+in [wodim](http://packages.debian.org/lenny/wodim)
+"wodim: Cannot load media.  Cannot init drive."
+
+[508324](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508324)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"ftp.debian.org: gcc-4.2-base is not really required"
+
+[508434](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508434)
+in [ipmitool](http://packages.debian.org/lenny/ipmitool)
+"ipmitool: Several init script problems due to wrong pidfile name"
+
+[508443](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508443)
+in [imagemagick](http://packages.debian.org/lenny/imagemagick)
+"convert crash on sparc during compilation of djvulibre (work on x86-64)"
+
+[508480](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508480)
+in [iodbc](http://packages.debian.org/lenny/iodbc)
+"iodbc: Segfaults when asking for the available DSNs"
+
+[508392](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508392)
+in [dpkg](http://packages.debian.org/lenny/dpkg)
+"Handling of conflicting conffiles broken"
+
+[508565](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508565)
+in [f2c](http://packages.debian.org/lenny/f2c)
+"f2c: does not translate properly in EMT64 machines"
+
+[508551](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508551)
+in [merkaartor](http://packages.debian.org/lenny/merkaartor)
+"merkaartor: crash on startup: QPaintEngine::setSystemClip: Should not be change
+
+[508589](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508589)
+in [linux-2.6](http://packages.debian.org/lenny/linux-2.6)
+"ppp: USB Modem removal after PPP exits kills keyboard"
+
+[508660](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508660)
+in [autopkgtest-xenlvm](http://packages.debian.org/lenny/autopkgtest-xenlvm)
+"adtxenlvm: initscript assumes eth0"
+
+### Mostly solved?
+
+These look like good progress is being made and they'll get fixed
+soon. Do we need a DD to do an NMU on any of these?
+
+[504283](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504283)
+in [egroupware-core](http://packages.debian.org/lenny/egroupware-core)
+"CVE-2007-3215: phpmailer issue (embedded code-copy)"
+
+[508510](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508510)
+in [debget](http://packages.debian.org/lenny/debget)
+"Can't parse packages.debian.org output anymore"
+
+[332782](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=332782)
+in [release-notes](http://packages.debian.org/lenny/release-notes)
+"release-notes: Where's the license?"
+
+[475958](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=475958)
+in [release-notes](http://packages.debian.org/lenny/release-notes)
+"document procedure to recover from "/dev/hda became /dev/sda" boot failure"  
+(Note: looks done, just not closed.)
+
+[506883](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506883)
+in [tuxguitar](http://packages.debian.org/lenny/tuxguitar)
+"tuxguitar: hard-codes dependencies on libraries"
+
+[495178](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495178)
+in [libjs-jquery](http://packages.debian.org/lenny/libjs-jquery)
+"libjs-jquery: Should compile jquery.min.js and jquery.pack.js from jquery.js"
+
+[507059](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507059)
+in [initramfs-tools](http://packages.debian.org/lenny/initramfs-tools)
+"initramfs-tools: Wrong check for udevadm in functions"  
+(No maintainer activity since it was reported 2 weeks ago; One-line patch attached.)
+
+[496334](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=496334)
+in [mdadm](http://packages.debian.org/lenny/mdadm)
+"mdadm segfault on --assemble --force with raid10"  
+Seems to be fixed and uploaded, but got reopened for some reason?
+
+[374644](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374644) in [xine-ui](http://packages.debian.org/lenny/xine-ui)
+"xine-ui: ctrl/shift key press emulation implementation broken"  
+(Note: There's a patch that may be good enough -- blocking on some guy responding)
+
+[505237](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505237)
+in [snmpd](http://packages.debian.org/lenny/snmpd)
+"/etc/init.d/snmpd start reports error if already running"
+(Note: fixed, waiting on an upload?)
+
+[508257](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508257)
+in [twiki](http://packages.debian.org/lenny/twiki)
+"CVE-2008-5305: TWiki SEARCH variable allows arbitrary shell command execution"
+
+[508026](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508026)
+in [phppgadmin](http://packages.debian.org/lenny/phppgadmin)
+"phpPgAdmin: Local File Inclusion Vulnerability"
+
+[501800](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=501800)
+in [bind9](http://packages.debian.org/lenny/bind9)
+"bind9: bind crashes with a list for allow-update"
+
+[503532](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503532)
+in [dbus](http://packages.debian.org/lenny/dbus)
+"send_requested_reply="true" allows all non-reply messages"
+
+[506741](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506741)
+in [wireshark](http://packages.debian.org/lenny/wireshark)
+"wireshark: DoS caused by sending a SMTP request with large content"
+
+[503303](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503303)
+in [upgrade-reports](http://packages.debian.org/lenny/upgrade-reports)
+"etch -> lenny minimal chrrot upgrade fails due to Conflicts/Pre-Depends loop"
+
+[504524](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504524)
+in [sun-java6](http://packages.debian.org/lenny/sun-java6)
+"AWT_TOOLKIT=MToolkit causes java to segfault on amd64"
+
+[503712](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503712)
+in [ghostscript](http://packages.debian.org/lenny/ghostscript)
+"etch->lenny upgrade left the system in broken state"
+
+[508635](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508635)
+in [libexif-gtk-dev](http://packages.debian.org/lenny/libexif-gtk-dev)
+"libexif-gtk-dev: References no longer existing libXcursor.la"
+
+[500460](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=500460)
+in [oss-compat](http://packages.debian.org/lenny/oss-compat)
+"oss-compat: modules are not loaded"
+
+
+### Not much of use one can do
+
+(waiting on reporter to reproduce)
+
+[494293](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=494293)
+in [installation-reports](http://packages.debian.org/lenny/installation-reports)
+"installation-reports: Grub error: not a regular file..."
+
+(this one looks like it'll be removed from Lenny or have amd64 disabled)
+
+[507021](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507021)
+in [helpdeco](http://packages.debian.org/lenny/helpdeco)
+"Fails to work on amd64"
+
+(this one looks the maintainer has labeled unreproducible)
+
+[507242](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507242)
+in [amule-daemon](http://packages.debian.org/lenny/amule-daemon)
+"amule-daemon: causes OOM's by leaking lots of memory"
+
+(waiting on upstream)
+
+[506652](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506652)
+in [xml2rfc](http://packages.debian.org/lenny/xml2rfc)
+"Yet another boilerplate change"
+
+[490999](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=490999)
+in [libqt3-mt](http://packages.debian.org/lenny/libqt3-mt)
+"kicker: crashes on startup"
+
+[507947](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507947)
+in [moodle](http://packages.debian.org/lenny/moodle)
+"moodle: html2text.php is not DFSG-free"
+
+[495232](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495232)
+in [quagga](http://packages.debian.org/lenny/quagga)
+"quagga: zebra ignores routes added via command line"
+
+(misc)
+
+[508091](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508091)
+in [tuxguitar](http://packages.debian.org/lenny/tuxguitar)
+"maintainer address bounces"
+
+(trivial fix may cause regression, may punt)
+
+[507003](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507003)
+in [open-iscsi](http://packages.debian.org/lenny/open-iscsi)
+"initiatorname.iscsi should maybe not be in /etc"
+
+(legal issue involving non-free file)
+
+[502751](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502751)
+in [clamav-getfiles](http://packages.debian.org/lenny/clamav-getfiles)
+"clamav-getfiles: piuparts test fails: eicar.com md5sum mismatch, file needs downloading"
+
+[506353](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506353)
+in [mailscanner](http://packages.debian.org/lenny/mailscanner)
+"CVE-2008-5312/3: mailscanner might allow local users to overwrite arbitrary files via a symlink attack"
+
+[507316](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507316)
+in [smarty](http://packages.debian.org/lenny/smarty)
+"smarty: Non-free logo included in package"
+
+
+### Special team bugs
+
+These bugs are probably not good targets because the work involved with them at this point is to be done by someone on a special Debian team.
+
+[451628](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=451628)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"Packages might enter the archive from security without source"
+
+[506152](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506152)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"libept0 should have priority important"
+
+[507675](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507675)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"python2.5 should have priority standard"
+
+[507678](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507678)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"libsqlite3-0 should have priority standard"
+
+[507775](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507775)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"libkeyutils1 should have priority standard"
+
+[507778](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507778)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"libldap-2.4-2 should have priority standard"
+
+[507779](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507779)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"[Priorities] libustr-1.0-1 -> standard"
+
+[507780](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507780)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"python-sepolgen should have priority standard"
+
+[507783](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507783)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"libxml2 should have priority standard"
+
+[507784](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507784)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"python2.5-minimal should have priority standard"
+
+[507796](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507796)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"libisccfg40 should have priority standard"
+
+[507797](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507797)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"libisccc40 should have priority standard"
+
+[507798](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507798)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"libedit2 should have priority standard"
+
+[507799](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507799)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"libgssglue1 must have priority standard"
+
+[507800](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507800)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"ucf must have priority standard"
+
+[507801](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507801)
+in [ftp.debian.org](http://packages.debian.org/lenny/ftp.debian.org)
+"libpci3 must have priority standard"
+
+[497471](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=497471)
+in [cdimage.debian.org](http://packages.debian.org/lenny/cdimage.debian.org)
+
+"sarge images have syslinux binaries without source"
+
+[506977](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506977)
+in [release.debian.org](http://packages.debian.org/lenny/release.debian.org)
+"FPC: copyright infringement in pre 2.2.2 sources"
+
+[507239](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507239)
+in [release.debian.org](http://packages.debian.org/lenny/release.debian.org)
+"RM: astrolog/stable -- RoQA; orphaned long time, non-free, contains potentially undistributable code"
+
+This one is fixed in experimental:
+
+
+
+[503907](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503907)
+in [libwebkit-1.0-1](http://packages.debian.org/lenny/libwebkit-1.0-1)
+"epiphany-webkit: Crashes at startup whenever I go to a site."
diff --git a/doc/lenny-bugs.mdwn b/doc/lenny-bugs.mdwn
new file mode 100644 (file)
index 0000000..add9a4c
--- /dev/null
@@ -0,0 +1,96 @@
+[[!meta title="SIPB Bug-Squashing Hackathon for Lenny"]]
+
+SIPB is running a **bug-squashing hackathon** for release-critical
+bugs in Debian Lenny.
+
+Place: **W20-557**, the SIPB office  
+Date: **Saturday**, 2008-12-13, between end-of-classes and finals week  
+Time: starting **2 PM**, running to about 10 PM; come for any portion
+
+Contact the SIPB Chair, Greg Price (`price@mit.edu`), or Vice-Chair,
+Nelson Elhage (`nelhage@mit.edu`), with any questions.  During the
+hackathon just call the office at (617) 253-7788.
+
+
+## FAQ
+
+**Q**: What's Lenny?  
+**A**: Lenny is the **upcoming next stable release** of Debian
+GNU/Linux.  It was scheduled for September 2008 but has slipped to
+spring 2009.  The last release was Etch in spring 2007, so Debian
+users are eagerly awaiting a new release.
+
+**Q**: What's a release-critical bug?  
+**A**: A **release-critical (RC) bug** is a Debian bug of any of
+the highest levels of severity.  RC bugs break a program completely,
+break some users' systems, or do similarly bad things.  At last count
+there were 109 bugs (below) affecting Lenny.  (**Update**: After the
+hackathon it's 105, with more fixes in the pipeline.  Excellent.)
+Every one of those bugs has to be dealt with one way or another before
+Lenny will release.
+
+**Q**: How is this list of bugs different from
+[this one](http://bugs.debian.org/release-critical/other/testing.html)?  
+**A**: The list on `bugs.debian.org` includes bugs which have been
+fixed, but haven't passed a requisite waiting period before being
+introduced into Lenny. Our list is only bugs for which there is no
+fix.
+
+**Q**: I use **Ubuntu**.  Why do I care about Debian releases?  
+**A**: Because Lenny is in the final, "freeze", stage of the cycle,
+many Debian contributors are holding off new versions of the software
+they maintain in order to focus on stabilizing and bugfixing Lenny.
+Since Ubuntu depends on Debian for >90% of its packaging work, that
+means less new software for Ubuntu until Lenny releases.
+
+**Q**: I have **no experience hacking on Debian**.  
+**A**: No problem, we have three Debian Developers pledged to
+attend, plus Debian-packaging experts from SIPB's Debathena and XVM
+projects.  They'll all be focussed on helping newer people find a good
+bug, make progress and stay unstuck on solving it, and get the fixes
+applied in Debian.  Just come ready to help with the skills you have;
+you'll be sure to learn something.
+
+**Q**: I don't have a lot of programming experience.  
+**A**: No problem, **not every bug requires programming** to fix.
+Some bugs concern documentation or copyright issues, and anyone
+willing to track stuff down and write in English precisely can help.
+You'll still get experience with the issues software in the real world
+has to deal with, and probably read some code along the way.
+
+## Useful Resources
+
+[Debian Policy Manual](http://www.debian.org/doc/debian-policy/): There
+will be people at the hackathon to help you with the packaging and
+policy aspects of updating Debian packages, but the Debian Policy
+Manual is a good reference.
+
+[Debian New Maintainers'
+Guide](http://www.us.debian.org/doc/maint-guide/): Where the Policy Manual is a fairly declarative document, this
+is more of a tutorial on how to build packages that comply with Debian
+policy
+
+[tabbott's Packaging Tutorial](http://debathena.mit.edu/packaging/): A
+summary of building Debian packages with CDBS, Tim's tutorial also
+includes a long list of useful commands for any sort of package
+development, as well as a list of useful sites
+
+[SIPB IAP class on Debian](http://stuff.mit.edu/iap/2009/#debian): A
+workshop where you can learn more about Debian packaging (the easy
+way!  some of the packages you may have dealt with go through
+unnecessary complexity), with lots of hands-on examples.
+
+## Useful Packages
+
+The following Debian packages are useful for doing Debian development:
+`build-essential cdbs debhelper wdiff devscripts dh-make dpatch
+dpkg-awk dpkg-dev equivs fakeroot lintian quilt`
+
+If you're an emacs user, you may also want: `debian-el devscripts-el
+dpkg-dev-el`
+
+## The Bugs
+
+See [[lenny-bugs-all]] for a complete list.  Attack one of the bugs that
+look good, or read through the unclassified ones to find the good
+ones.
similarity index 97%
rename from doc/ProjectIdeas
rename to doc/project-ideas.mdwn
index 23339ba7ffef0496c54cb785f1d514954a224897..8c4c392d08612c5466c8511f59ac6a8a9d76069a 100644 (file)
@@ -30,7 +30,7 @@ If you have a project and want people to help, go ahead and add it.
     moira <-> Mailman sync, direct Moira integration in Mailman, or
     something in between or different.
   * MIT runs Mailman 2, but Mailman 3
-    [http://mail.python.org/pipermail/mailman-announce/2009-January/000126.html has been released]
+    [has been released](http://mail.python.org/pipermail/mailman-announce/2009-January/000126.html)
     as alpha and may be worth investigating.  The author is explicitly
     open to major changes for mailman 3, so we could push some of our work upstream.
 
diff --git a/doc/project.mdwn b/doc/project.mdwn
new file mode 100644 (file)
index 0000000..c6a6a1c
--- /dev/null
@@ -0,0 +1,66 @@
+[[!meta title="SIPB Documentation Project"]]
+
+The SIPB Documentation Project is a project to document in written
+form the collective knowledge that SIPB members take for granted or
+use in maintaining services and projects that are not otherwise
+written down anywhere.
+
+See [[Project Ideas|doc/project-ideas]] for stuff to try doing to
+further the goals of the SIPB.
+
+<!-- See LennyBugs and LennyBugsAll for the bugs we took on in the Lenny
+RC-bug-squashing hackathon of December 13, 2008. -->
+
+## Documentation Topics
+
+ * [[doc/Zephyr]] -- An attempt at a complete beginner's guide to getting
+   on Zephyr with BarnOwl and [[doc/screen]].
+  * BarnOwl has some more documentation on [its wiki](http://barnowl.mit.edu/).
+ * [[AFS and You|doc/AFS-and-you]] -- an attempt at a beginner's guide to working with AFS for Athena and Web
+ * [[doc/screen]] -- Handy for [[doc/Zephyr]] and anything else you do in an ssh session.
+ * XVM:
+  * [using `remctl`](https://xvm.mit.edu/trac/wiki/Remctl)
+  * [getting the serial console](https://xvm.mit.edu/trac/wiki/SerialConsole)
+ * printing: [[doc/quickprint]], [[doc/cups-on-mac]]
+ * [[Kerberized Server|doc/kerberized-server]] explains keytabs and how to get one and how that lets you SSH somewhere with Kerberos.
+ * [[Root Instance|doc/root-instance]] explains root and extra instances in Kerberos.
+ * [[Summer Reading|doc/summer-reading]] -- Documents or books that various SIPB members recommend reading.
+ * [[doc/Debianization]] -- packaging software for Debian and Ubuntu
+
+## Documentation Ideas
+
+This is a list of further topics that need documentation in one form
+or another or that are good for explaining to prospectives.
+
+ * "Printing at MIT"
+   * `lpq`, `lprm`, `queues.mit.edu`
+   * `-i printadm` (maybe)
+
+ * "Using Debathena" -- You've installed Debathena -- now what?  Automounter, `blanche`, cups; using stuff in the GUI.
+ * "Athena Dotfiles" -- These are weird and nonstandard compared to traditional UNIX and should be documented, including things like `.environment`
+   * There's some documentation at [http://web.mit.edu/olh/Dotfiles/]
+
+ * scripts.mit.edu -- lots of neat internals to explain
+
+ * AFS: There should be a central documentation point to using your
+   AFS space, granting access through AFS and through `web`, accessing
+   files from various platforms, and so on.  Don't duplicate iAFS;
+   perhaps latex2html and update it.
+
+ Setting up servers:
+
+ * "Client Certs" should explain, if for some perverse reason you don't
+   want to use scripts.mit.edu :-), how to set up client cert
+   authentication on your own machine (grab the CA out of the
+   apache-ssl locker, submit a CSR to mitcert@, set up scripts' magic
+   Apache modules to make your life easier)
+
+ * Add your own here!
+
+## Useful Links
+
+ * [[ikiwiki/Formatting]] -- Documentation on this wiki's formatting language
+ * SIPB's [Inessential Guides](http://stuff.mit.edu/sipb/docs.html). A
+   previous generation of SIPB documentation. Much of it is dated, but some
+   still contains useful knowledge that should be updated or moved here.
+ * [SIPB services and projects list](http://stuff.mit.edu/sipb/project-list.html)
diff --git a/doc/quickprint.mdwn b/doc/quickprint.mdwn
new file mode 100644 (file)
index 0000000..d13fbfd
--- /dev/null
@@ -0,0 +1,5 @@
+[[!meta title="QuickPrint"]]
+
+[http://quickprint.mit.edu](QuickPrint) is a SIPB service that allows
+anyone with an MIT Kerberos identity to print to Athena cluster
+printers.
diff --git a/doc/root-instance.mdwn b/doc/root-instance.mdwn
new file mode 100644 (file)
index 0000000..777bfed
--- /dev/null
@@ -0,0 +1,108 @@
+[[!meta title="Root and Extra Instances"]]
+
+This page explains why you want a *root instance*
+`joeuser/root@ATHENA.MIT.EDU` and an *extra instance*
+`joeuser/extra@ATHENA.MIT.EDU`, how to get them, and how to use them
+well.
+
+## Background
+
+There are three parts of a Kerberos name: a *principal*, an optional
+*instance*, and a *realm*. The principal is typically your username
+(for Kerberos identities belonging to a user), and the realm, at MIT,
+is usually ATHENA.MIT.EDU. (Other realms you may see are
+CSAIL.MIT.EDU, ZONE.MIT.EDU, CS.CMU.EDU, etc.) For the Kerberos
+identity you typically regard as your own, the one that you use to log
+in to Athena with your regular password, the instance is null
+(empty). However, you can ask for additional instances, usually a
+"root" or "extra" instance. You can use them in places where you
+wouldn't want to use your regular Athena password. You usually write a
+non-null instance as, e.g., `joeuser/root@ATHENA.MIT.EDU`.
+
+The entire triplet is also often referred to as a principal or
+instance, depending on context: "There are two Kerberos principals
+that can log in to this server, namely, my extra instance and my root
+instance. My null instance can't log in."
+
+## Typical use
+
+Root instances are often used when logging in to servers that have
+some security import. Most students regularly log in to Athena cluster
+workstations and quickstations and often type their password on other
+people's laptops to SSH or get to webmail. This puts the password at
+huge risk for theft. Athena passwords [have been stolen from clusters
+in the past](http://tech.mit.edu/V125/PDF/N20.pdf), so it's not the
+wisest idea to let servers that you're asking hundreds of people to
+log into and use be controlled by a password you're typing everywhere.
+
+So you get a root instance, and only type the root instance password
+on computers you trust and only when you need to. Many people only
+ever type it on their laptop, or on a freshly booted Live CD. Some
+people feel comfortable typing it on a few private Athena workstations
+(SIPB office heads are a common choice), but if an attacker has stolen
+your regular (null instance) password and installed a keylogger on
+your account, it doesn't matter where you're logging in if it's still
+your Athena account.
+
+You can also make things in Moira or AFS owned by your root instance,
+if you don't want your null instance to be able to mess with mailing
+lists or lockers. For Moira, make them owned by
+`KERBEROS:yourname.root@ATHENA.MIT.EDU`. (For legacy Kerberos 4 reasons,
+Moira and AFS both use a dot instead of a slash to separate the
+principal and the instance.) For AFS, ask accounts or afsreq to get
+you a 'pts id', basically an account with the AFS servers, and then
+you can give bits to yourname.root and start blanching your root
+instance onto AFS groups.
+
+To use another instance, just specify it to the kinit command, e.g.,
+`kinit joeuser/root`.
+
+## Handy scripts
+
+Because you would want to use your null instance tickets most of the
+time but your root instance tickets occasionally, a couple of people
+have developed shell scripts to make it easy to switch between them.
+
+ * nelhage has the [krbroot
+   command](http://web.mit.edu/nelhage/Public/krbroot), with which you
+   use syntax like "krbroot ssh linerva" when you want to use your
+   root instance for a command. You can also "krbroot shell".
+
+ * quentin has [kdo](http://web.mit.edu/quentin/Public/mac-bashrc),
+   which is similar in spirit to krbroot, but designed for Mac OS
+   X. It takes advantage of the fact that OS X's Kerberos
+   implementation is better at handling multiple tickets.
+
+ * geofft has [kpagsh](http://web.mit.edu/geofft/Public/bashrc.kpagsh),
+   a way of configuring your .bashrc to prompt you for tickets (null
+   instance by default) if you start a shell and don't have
+   tickets. If you want to switch tickets, you start a new shell, and
+   also a new PAG, which lets you use multiple AFS credentials at
+   once, too. It also modifies your prompt.
+
+These aliases are also careful to get shorter lifetime tickets that
+are marked nonforwardable. Some versions of SSH try to forward tickets
+by default. Since you might let your root instance tickets access many
+servers, but not trust all of these servers equally, you don't want
+your tickets to be forwardable. (Thankfully, recent Debian, Ubuntu,
+and OS X have turned off this default, but it's a good precaution.)
+
+## Extra instances
+
+Another thing you might want is an *extra instance*. Some people use
+these just like another root instance, with slightly lower
+security. But a common use is something *less* secure than your null
+instance. For example, if you're writing a zephyrbot to run on a
+shared server like `scripts.mit.edu`, the zephyrbot will need Kerberos
+tickets to subscribe to zephyrs. But you don't want to leave your
+Kerberos password in a file in your locker, so you can leave your
+extra instance's password instead.
+
+## Getting them
+
+You need to show up in person to IS&T User Accounts in N42 with a
+photo ID to obtain new Kerberos identities. For the reasons described
+above, being in control of your null instance and sending a zephyr or
+authenticated e-mail with it does not mean that you can go ahead and
+make changes to your root or extra instance too.  While you're there,
+be sure to ask for a pts id, if you want to use your tickets with AFS.
diff --git a/doc/screen.mdwn b/doc/screen.mdwn
new file mode 100644 (file)
index 0000000..07a28d5
--- /dev/null
@@ -0,0 +1,60 @@
+[[!meta title="Using Screen"]]
+
+## Why?
+
+`screen` is a handy tool.  It lets you get more out of a terminal
+session, whether in a window, via ssh, or by some more esoteric means.
+Its original reason for existence was allowing you to switch between
+subsessions on a [video-display
+terminal](http://en.wikipedia.org/wiki/Video_terminal), but it grew to
+allow sessions that could be detached and reattached (if you went home
+for the day, or say you were connecting via a glitchy network) and
+eventually to allow the same session to be simultaneously accessed
+from multiple places.
+
+## Getting Started
+
+ 1.  Pick a machine to run your screen session on.  If you don't know of any options, linux.mit.edu (Linerva) is a good choice.
+ 2.  ssh to that machine.
+ 3.  run `screen`
+ 4.  Do stuff.
+
+To detach, type "C-a d".  To reattach, type `screen -dr`.
+
+If you close your ssh connection without detaching, or lose your
+network connection:
+
+ 1.  run `screen -dr`
+ 2.  Do stuff.
+
+The `-dr` means "find my screen session, detach it from wherever it's
+attached if it's attached, and reattach it here."
+
+Once you're comfortable with this, hit "C-a C-c".  This creates what
+screen calls a new "window"; it should give you a new shell prompt,
+and you can do stuff at it.  If you want to switch back to the old
+"window", hit "C-a C-a".  You can create as many "windows" as you
+want; you can switch to the first 10 of them with "C-a 0" through "C-a
+9" and see a list of what's open with "C-a w".  ("C-a C-a" actually
+means "switch to the previously used window".)
+
+A useful shorthand: `screen -dR` is like `screen -dr` except
+it adds a "if I don't already have a session, create one" step.
+
+You can use `screen -x` to attach a screen session that's already
+attached somewhere without detaching it first.  This can have side
+effects if the other place is already attached or is in a window that
+is a different size than your current one.  It's useful when you want
+to share context between different screens, or even different people,
+but doing it when you're not sure where else your screen might be
+attached has privacy implications.
+
+## For More Information
+
+`screen` can do lots of stuff.  If you have a while to burn, run
+`man screen` at the shell prompt.  It may be helpful to do this
+inside of `screen` so you can put it down and come back to it later.
+
+## TODO
+
+clean up, explain the "C-a C-a" notation.
\ No newline at end of file
diff --git a/doc/summer-reading.mdwn b/doc/summer-reading.mdwn
new file mode 100644 (file)
index 0000000..b942577
--- /dev/null
@@ -0,0 +1,35 @@
+[[!meta title="Summer Reading"]]
+
+## Articles
+
+ * [The Kerberos play](http://web.mit.edu/Kerberos/dialogue.html): explains why Kerberos works the way it does
+ * [The Rise of Worse is Better](http://www.jwz.org/doc/worse-is-better.html): a brief description of the single coding philosophy that most influenced the design of UNIX and many related systems. The [entire article](http://web.mit.edu/geofft/Public/gabriel-on-lisp.ps), rather than just the section, is available in PostScript
+ * Tim Berners-Lee's [Design Issues](http://www.w3.org/DesignIssues/) section, and his piece on why [Cool URIs Don't Change](http://www.w3.org/Provider/Style/URI)
+ * [How To Ask Questions The Smart Way](http://catb.org/esr/faqs/smart-questions.html How To Ask Questions The Smart Way) -- A document on asking questions in hacker communities in ways that will help you get answers. Many of its points apply to places like Zephyr, too.
+ * A definition of [yak shaving](http://projects.csail.mit.edu/gsb/old-archive/gsb-archive/gsb2000-02-11.html), which you'll often find SIPB members unwisely engaging in.
+ * [GNU Philosophy](http://www.gnu.org/philosophy/philosophy.html), hardline but worth reading.
+ * On that note, the [GPLv3](http://www.gnu.org/licenses/gpl.html) and [GPLv2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html). Dense legal style, but also worth reading once, to understand what free software is about
+ * [The Cathedral and the Bazaar](http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/), by Eric Raymond: an overview of closed-source ("cathedral") vs. open-source ("bazaar") design and participation philosophies
+ * [Why Nerds are Unpopular](http://www.paulgraham.com/nerds.html), by Paul Graham
+ * [How Athena Works](http://web.mit.edu/ghudson/info/athena), by Greg Hudson, longtime Athena engineer and SIPB member
+ * [The e-mail threading algorithm](http://www.jwz.org/doc/threading.html), by Jamie Zawinski (jwz), old Netscape hacker. Interesting not only for the algorithm per se, but for his description of the process leading to its development, and his [lost argument with Netscape 4's engineers](http://www.jwz.org/doc/mailsum.html) against replacing the algorithm with something overengineered
+
+## Books online
+
+ * Abelson and Sussman, [Structure and Interpretation of Computer Programs](http://mitpress.mit.edu/sicp/full-text/book/book.html): the classic textbook for the famous 6.001
+ * Eric Raymond, [The Art of Unix Programming](http://www.catb.org/esr/writings/taoup/html/index.html): also explains a lot of design
+ * Mark Pilgrim, [Dive Into Python](http://diveintopython.org/): "a Python book for experienced programmers"
+ * Eric Raymond, ed., [The Jargon File](http://catb.org/~esr/jargon/): a lot of hacker terminology and lore, plus quite a few interesting articles near the beginning.
+
+Don't forget about [Safari](http://safari.oreilly.com/) -- O'Reilly books online, free for MIT people.
+
+## Blogs, etc.
+
+ * [Joel on Software](http://www.joelonsoftware.com), a software developer in charge of a small company who writes well
+  * [Making Wrong Code Look Wrong](http://www.joelonsoftware.com/articles/Wrong.html)
+  * [The Law of Leaky Abstractions](http://www.joelonsoftware.com/articles/LeakyAbstractions.html)
+  * [Things You Should Never Do](http://www.joelonsoftware.com/articles/fog0000000069.html), i.e., rewrite software from scratch
+  * [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)](http://www.joelonsoftware.com/articles/Unicode.html)
+ * [The Old New Thing](http://blogs.msdn.com/oldnewthing/), an engineer for MS who writes about stupid hacks in the name of backwards compatibility
+ * [Jamie Zawinski's](http://www.jwz.org/doc/) writings / rants. jwz developed Netscape 1-3, and played a role in the open sourcing of Netscape as Mozilla.
diff --git a/doc/traditional-zephyr.mdwn b/doc/traditional-zephyr.mdwn
new file mode 100644 (file)
index 0000000..2448683
--- /dev/null
@@ -0,0 +1,91 @@
+[[!meta title="Traditional Zephyr (archaic)"]]
+
+For information on using Barnowl, see [[Using Zephyr|doc/zephyr]].
+
+When you log into Athena, you may occasionally see a white box pop up
+with text on it.  This is Zephyr in its traditional form.
+
+## Terminology
+
+**windowgrams** are the small windows that appear on your screen with
+a message from another person.
+
+**Zephyrgrams** are the messages that you send and receive when you
+are using Zephyr. They can appear as windowgrams or in other forms,
+depending on which client you are using.
+
+**zwgc** is the basic, traditional Zephyr client.
+
+## Basic Commands
+
+**zlocate** _**friend**_ is the command used to find out if user
+"friend" is logged in and subscribing to zephyrgrams. If they are
+logged in and subscribing to messages you will receive information
+about where they are logged in. If they are not logged in you will
+receive the message "Hidden or not logged-in." This means they either
+do not want to be found or are not logged in.
+
+**zwrite** _**friend**_ is used to send a message to `friend`. Just
+follow the instructions given. If you get an error saying the person
+is hidden or not logged in then your message has not been sent and the
+person you are trying to reach is not logged in or is not subscribing
+to messages and you should try sending e-mail instead.
+
+**zctl hide** can be used to "hide" yourself. When hidden you are not
+`zlocatable`, but if someone tries to zwrite you anyway they will
+succeed.
+
+**zctl wg_shutdown** should be used if you want to stop receiving
+zephyrgrams for this session.
+
+**zctl set zwrite-signature "foo"** (quotes are mandatory) will change
+your Zephyr signature, or zsig, to foo. By default your zsig is your
+name as it exists in your finger information. It shows up in a
+zephyrgram before your username. You can change it to almost anything
+you like, although you should avoid very long zsigs since they tend to
+annoy people.
+
+**zaway** is used to let people know you are away from the terminal
+and not deliberately ignoring their messages. It sends a message to
+whoever sends you a personal zephyrgram that lets them know that you
+are away (and will probably respond later).
+
+**zwgc -ttymode** will start up a Zephyr client when you are logged in
+remotely. Zephyrs appear as plain text on your screen.
+
+**znol** will let you know which people on a list are logged in. Your
+`~/.anyone` file should contain the list of usernames you want to know
+about (it should have one name per line and no spaces). You will also
+be sent login and logout notices in the form of a zephyrgram whenever
+one of the users in your list logs in or out (if they are announced,
+see below) after you have run `znol` during a session.
+
+**zctl set exposure exposurelevel** will set your exposure (how other
+people know when you are logged in). An exposure level of
+`net-announced` causes login and logout notices to be sent to people
+who have you in their `.anyone` file, and you will be
+zlocatable. `net-visible` is the same except login and logout notices
+are not sent. The `realm-announced` and `realm-visible` settings
+require authentication before your information is divulged, but behave
+in most situations in the same way as `net-announced` and
+`net-visible`, respectively. The `opstaff` setting makes you unable to
+be zlocated and does not send login and logout notices. Finally the
+`none` setting provides no information about you and **you will not be
+able to receive zephyrgrams'''.
+
+__zctl sub message foo *__ will subscribe you to a Zephyr "instance"
+named foo. Zephyr instances (and classes) allow groups of people to
+have conversations via Zephyr. The above `zctl` command will subscribe
+you to the instance `foo` for your current login only; to make it more
+permanent replace `sub` with `add`. To unsubscribe for this login only
+change `sub` to `unsub`, and to unsubscribe permanently use `delete`
+instead.
+
+**zwrite -i foo** will send a message to the Zephyr instance `foo`.
+
+__zctl sub foo * *__ subscribes you to the Zephyr class `foo`. Zephyr
+classes are slightly more private than instances as you must know the
+name of the class to subscribe to it. `unsub`, `add` and `delete` work
+the same way for classes as for instances.
+
+**zwrite -c foo** sends a zephyr(gram) to class `foo`.
diff --git a/doc/zephyr.mdwn b/doc/zephyr.mdwn
new file mode 100644 (file)
index 0000000..1dbadb9
--- /dev/null
@@ -0,0 +1,373 @@
+[[!meta title="Using Zephyr (a.k.a. Zephyr For Dummies)"]]
+
+<!-- For information on the archaic way of using Zephyr, see TraditionalZephyr.-->
+
+## Introduction to Zephyr
+
+Zephyr was a system designed to let system administrators send
+important messages to users in an easily noticeable format. It was
+meant to have a low volume of traffic and be used only for official
+notices. This is obviously not what Zephyr is today. It can still be
+used in the way it was intended: notice that you get official
+zephyrgrams as you log in, with important information about Athena
+services and planned outages. However, the most common usage is by
+average users exchanging information about classes, how their days are
+going, and talking on Zephyr classes and instances about everything
+from the latest episode of Battlestar Galactica to the next 18.03
+problem set. The usage of Zephyr has far exceeded original
+expectations. Over time, people have also created programs that give
+Zephyr a graphical interface, and programs that give zephyr a purely
+textual interface, that can be used entirely within a ssh
+terminal. Some of these zephyr clients have become so widely used that
+there are users who do not know that there are other ways to send (and
+receive) zephyrgrams. This wiki will cover the traditional commands,
+typed at the athena% prompt, as well as the more common modern zephyr
+client Barnowl.
+
+The information in this wiki about Barnowl just barely touches the
+surface.  More for in-depth functionality, visit the [Barnowl
+wiki](https://barnowl.scripts.mit.edu:444/wiki).
+
+## Modern Zephyr
+
+Today the majority of Zephyr users use the barnowl client.  There are
+other clients as well (for example, Pidgin supports Zephyr).  The
+following sections will go into detail about how to install, use, and
+customize barnowl.
+
+### Other Clients
+
+There are other clients besides Barnowl, however their use is not
+nearly as widespread.  Some of these include:
+
+* Owl (unmaintained, Barnowl evolved from this)
+* vt / jervt
+* zwgc (see TraditionalZephyr)
+* Pidgin
+* zephyr-mode for emacs
+
+Using Barnowl is recommended, as it is better supported and more
+documentation exists for it.
+
+### Using Barnowl
+You will need access to an Athena machine to run barnowl.  The easiest
+way to do this would be to SSH into linerva.mit.edu.
+
+On a Debian-based linux distro, open up a terminal and type `ssh
+<username>@linerva.mit.edu`.
+
+On Windows, download a SSH client (such as
+[PuTTY](http://chiark.greenend.org.uk/~sgtatham/putty/download.html))
+and install it.  Once you've opened it, type `<username>@linerva.mit.edu`
+into the prompt and hit enter.
+
+On a Mac, open Terminal from the Utilities Folder in Applications. Type
+`kinit <username>@ATHENA.MIT.EDU && ssh -K
+<username>@linerva.mit.edu` If this command fails (saying -K is
+invalid), then just do `ssh <username>@linerva.mit.edu`.
+
+(In all these cases, don't include the angle brackets, just replace
+<username> with your MIT username).  You will then be prompted for your
+password.  Enter it, and then carry on with running barnowl!
+
+To start barnowl, run the command `add barnowl; barnowl` at the prompt
+on any Athena machine or dialup, such as linerva.mit.edu.
+
+The simplest use of Zephyr is to send personal zephyrs to other
+users. To send a zephyr, type `:` to bring up a command line, and run
+the command `zwrite USERNAME`. You can also start a `zwrite` command
+by simply typing z.
+
+You can then enter your message, and then enter a `.` on a line by
+itself to finish the zephyr. By convention, zephyrs are usually
+word-wrapped to 70 characters or so per line; barnowl will wrap at about
+10 characters less than the width of your terminal window, so if you
+have a large window, you may need to press M-q (Alt-q, or Escape then q)
+to word-wrap the current paragraph to a smaller width.
+
+Once you've sent and received zephyrs, you can navigate the message
+list with the arrow keys. Press `d` to mark a message as deleted, `u`
+to undelete it, and `x` to expunge all messages that have been marked
+as deleted.
+
+Instead of entering a `zwrite` command manually, you can also select a
+message in the message list with the arrow keys, and reply to it using
+`r`, which will automatically set up an appropriate `zwrite` command.
+
+For more documentation on the built-in commands and keybindings, you
+can press h to bring up barnowl's built-in help screen. For help with
+a specific command, bring up a command line with `:` and then type
+`help COMMAND`.
+
+### Classes and Instances
+
+Generally the most interesting discussion on Zephyr, however, happens
+on so-called Zephyr <em>classes</em>. A class is a bit like a chat
+room in other IM systems. Anyone can send a zephyr to a class, and
+anyone who is subscribed to that class will receive it. There is no
+security on classes -- anyone who knows the name of a class can
+subscribe, and there is no way to determine who is subscribed to a
+given class.
+
+To subscribe to a class, use the subscribe command:
+
+    :subscribe CLASSNAME * *
+
+To send a zephyr to a class, use the zwrite command with the -c option:
+
+    :zwrite -c CLASSNAME
+
+Zephyrs to classes usually have an instance attached. An instance is a
+short &ldquo;topic&rdquo; or &ldquo;subject&rdquo; that indicates the
+context of a zephyr.  Different instances are often used to multiplex
+multiple conversations on a high-traffic class. You can specify an
+instance with the -i option to zwrite:
+
+    :zwrite -c CLASSNAME -i INSTANCE
+
+A message without an instance specified will default to the instance
+&ldquo;personal&rdquo;.
+
+Some common classes include:
+
+<strong>help</strong>:
+> -c help is a class for asking (and answering) questions on virtually
+> any topic imaginable. Be sure to use an instance (such as
+> &ldquo;linux&rdquo;, &ldquo;barnowl&rdquo;, &ldquo;campus&rdquo;, or
+> so on) when asking questions, since it's a fairly high-traffic
+> class.
+
+<strong>sipb</strong>:
+> -c sipb is where most SIPB members hang out. It's a place for
+> technical discussion, questions, support, and organizing SIPB events
+> or projects. You should also always use an instance when sending to
+> -c sipb.
+
+<strong>Personal Classes</strong>:
+> By convention, nearly every Zephyr user has a "personal" class that
+> is the same as their username. How this class is used varies from
+> person to person, but it's often a sort of mini-blog, a place to
+> report what one is working on or up to, or ask friends questions, or
+> just rant about something.
+
+### Zephyr Slang
+
+If you spend enough time on Zephyr, you'll begin noticing some strange
+phrases and words being thrown around.  Some of these include:
+
+<strong>i,i foo</strong>:
+> picked up from CMU zephyrland and means "I have no point here, I
+> just like saying:".  Sometimes people simply use quotes: `"foo"`.
+
+<strong>mix</strong>:
+> If somebody accidentally sends a Zephyr to the wrong class or
+> person, they will send another Zephyr to that wrong/class person
+> simply saying "mix".  This basically just means, "oops, sorry, I
+> didn't mean to send that Zephyr here".  You might also see "-i mix",
+> which is the same thing, only with instances.
+
+<strong>.d</strong>:
+> You may see an instance change from `-i foo` to `-i foo.d`.  This
+> indicates a deviation or tangent from the the original topic.
+
+<strong>starking</strong>:
+> Answering a question or replying to a topic to a topic several hours
+> (or days, occasionally) later. The term originates from Greg Stark,
+> who would often reply to zephyrs hours or occasionally days later
+> without seeing if anyone had answered yet, or worse, if the instance
+> had moved on to an entirely different topic.
+
+<strong>ttants</strong>:
+>  Literally, "Things That Are Not The Same".
+
+<strong>prnf</strong>:
+>  Literally, "Pseudo-Random Neuron Firings".
+
+There are many other acronyms that are used; if you don't know what it
+means, try using the `whats foo` command at an Athena terminal. If you
+don't have the command, run `add sipb` first.
+
+### Zephyr Etiquette
+
+There are rules that people tend to use on Zephyr.  These include:
+
+Good grammar, spelling, and punctuation.  Not everybody uses
+capitalization, but they will still use good English.  Please do not say
+things such as "hey wut r u up to???".  It makes you look like an idiot.
+Really.
+
+You don't need multiple question marks or exclamation points.  Usually.
+
+There are a few abbreviations people use, such as YMMV (Your Mileage May
+Vary) or IIRC (If I Remember Correctly), as well as some nerdier ones
+like DTRT (Do The Right Thing, in reference to
+[http://www.jwz.org/doc/worse-is-better.html The Rise of "Worse Is
+Better"]).  Try running `add outland; whats dtrt` to look up an
+abbreviation.  Common abbreviations that you might find on AIM, however,
+are not often used.  People tend to look down upon "lol", "rofl", and
+such.
+
+Personal classes are by convention considered a little more private than
+non-personal (public) classes. Although most people don't mind people
+they've met subscribing to their personal class and lurking, it's poor
+form to talk loudly on the personal class of someone you don't know.
+
+### Startup
+
+There might be some options that you want to be consistent from
+session to session; you don't want to have to set the same variables
+each time.  You can fix this by adding the commands to your "startup"
+file, for example, `.owl/startup`.  This can be done from within
+Barnowl, by using the `startup` command:
+
+    :startup set foo bar
+
+Where `foo` is the variable you want to set, and `bar` is the value.
+You do not necessarily have to use the `set` command, either, any
+command you can type in Barnowl can be added to the startup file.
+
+### Logging
+
+It is handy to be able to log your conversations so you can refer back
+to them later.  To log classes, for example:
+
+    :set classlogging on
+
+And to log personals:
+
+    :set logging on
+
+This will log to the "zlog" directory in your locker. You probably
+don't want people to see what classes you're on or what people you
+talk to, so you can run the Athena commands
+
+    mkdir -p ~/zlog
+    fs sa ~/zlog system:anyuser none
+    mkdir -p ~/zlog/people
+    mkdir -p ~/zlog/class
+
+to create the necessary directories and make them completely hidden.
+
+### Colors
+
+By default, there are seven colors you may use in the terminal: red,
+green, yellow, blue, magenta, cyan, and white.  In order to use color
+in Zephyr, you can use the following notation: `@(@color(red)This is
+some red text))`
+
+Colors may vary from machine to machine, as different terminal
+profiles may have different shades of the seven colors.
+
+### Filters
+
+Some people like to customize their Barnowl by color-coding classes.
+This makes it easier to tell different classes apart (and minimize
+mixing).  Barnowl has some already existing filters, for example,
+`personal` (for incoming personals), `out` (for outgoing personals),
+and `ping` (for pings).  To assign a color to a filter, add the
+following to your startup file:
+
+    filter personal -c green
+
+What if you want to color-code your class, or a friends class?  You
+can create and color filters with:
+
+    filter johndoe class johndoe
+    filter johndoe -c blue
+
+You can update your settings and filters without restarting your
+Barnowl session by:
+
+    :source ~/path/to/config/file
+
+You can see all the filters by using `:show filters`, and narrow to a
+particular filter with, e.g., `:view personal`. You can use `:view
+all` or the keyboard shortcut `V` to see all messages again.
+
+For more detailed information on filters, visit
+https://barnowl.scripts.mit.edu:444/wiki/Filters.
+
+## Running Barnowl in Screen
+
+It can be very annoying to have to close Barnowl when you turn off
+your computer.  During the time your computer is off, you're missing
+many (possibly important) zephyrs.  It can be aggravating to be using
+zephyr via an unreliable network connection.  It can also be
+frustrating if you leave your computer on with Zephyr up, but go to a
+different computer and want to check your zephyrs - how do you do
+this?  These problems can be solved with the magic of screen.
+
+A more detailed and extensive explanation of this can be found at
+http://web.mit.edu/kchen/bin/owl-screen.txt.
+
+### Screen
+
+You should find a computer or server on which to run your screen
+session(s) that is up all the time, for example, linerva.mit.edu.
+Screen allows you to run programs inside of it on one computer, and to
+access those same programs from other computers via ssh.
+
+### Quickstart
+
+1.  Pick a machine to host your screen session on.
+    If you don't know of any options, linux.mit.edu (Linerva) is a good choice.
+2.  ssh to that machine.
+3.  Run "add kchen".  You may want to add this to your `~/.environment` file.
+4.  Run "owl-screen"
+
+Your screen session is now ready.  Once you start the screen session,
+you'll need to get renewable Kerberos tickets in order to run it for
+any extended period of time.  Press C-a C-c to open a new screen
+window, and run
+
+    kinit -l7d -54
+
+(length 7 days, both Kerberos 5 and Kerberos 4). Press C-a 0 to return
+back to your Barnowl window.
+
+When you're ready to log out, press C-a d to "detach" your screen, and
+then type `exit` or `logout` to log out.  Later, when you want to
+"reattach" your screen, ssh to the machine again, and run `screen -r`.
+
+### Kerberos Tickets and AFS Tokens
+
+In order to keep your screen session authenticated, you'll need to
+keep your Kerberos tickets and AFS tokens up-to-date.  There is a
+script that will do this for you, located in the `kchen` locker.
+After you ssh into the machine that hosts your screen sessions, run
+the following commands:
+
+    add kchen
+    owl-screen
+    C-a C-c
+    kinit -l1d -r7d -54
+
+### Attaching and Detaching Sessions
+
+To detach a screen session (for example, if you want to log out),
+press C-a d (Control-A, then D).  Screen continues to run, but is no
+longer active.
+
+To reattach a screen session, possibly detaching from wherever it's
+currently attached, run:
+
+    screen -dr
+
+`screen` can do a whole lot more.  To find out about it, see
+[UsingScreen](https://sipb-www.scripts.mit.edu:444/doc/wiki/UsingScreen).
+
+### Interaction with Traditional Zephyr
+
+The default athena startup scripts launch zwgc on login. If you are
+subscribed to many classes and use Zephyr as many do today, zwgc's
+behavior is not very desirable. To disable zwgc startup, add:
+
+    setenv ZEPHYR_CLIENT false
+
+to your `~/.environment` file if you use `tcsh` or
+
+    ZEPHYR_CLIENT=false
+
+to your `~/.bash_environment` if you use `bash`. This will cause your
+shell to launch the `false` executable instead of zwgc which does
+nothing.
diff --git a/documentation.mdwn b/documentation.mdwn
new file mode 100644 (file)
index 0000000..55a1db8
--- /dev/null
@@ -0,0 +1,3 @@
+[[!meta title="SIPB Documentation"]]
+
+Probably you want [[our documentation page|doc]].
diff --git a/hackathons.mdwn b/hackathons.mdwn
new file mode 100644 (file)
index 0000000..947e971
--- /dev/null
@@ -0,0 +1,11 @@
+#SIPB Hackathons
+
+![hackathon](../photos/hackathon-2.jpg)
+
+We hold a hackathon about one Saturday or Sunday a month in the SIPB
+office.  A hackathon is a great opportunity to get involved in a
+project or get people involved in your own.  One [recent
+hackathon](http://sipb-www.scripts.mit.edu/doc/wiki/LennyBugs) was dedicated to
+squashing release-critical bugs in Debian, sometimes we run a
+[[Documentathon|doc]], and most hackathons are open
+to any project.
diff --git a/history.mdwn b/history.mdwn
new file mode 100644 (file)
index 0000000..b279ac6
--- /dev/null
@@ -0,0 +1,28 @@
+[[!meta title="SIPB History"]]
+
+SIPB was originally founded in 1969 by Bob Frankston, Gary Gut, David Burmaster, and Ed Fox. The original purpose of the board was to provide students with access to MIT's big timeshared computer systems, particularly <a href="http://www.multicians.org/">Multics</a>, back when computers were room-sized and cost millions of dollars.  In addition to distributing computer time on Multics to students, SIPB provided a printer for text output, operated modem-based terminals in dormitories, fraternities, and the Student Center library, and maintained the Educational Calculator Service (ECS) subsystem, which allowed users to code in a BASIC-like language.
+
+The SIPB office was originally located in 39-541. Within a year or two, it relocated to 39-200. From there it moved to 11-205. There it stayed for a while, until its move to its present location to W20-557 in the summer of 1989.
+
+From the very very very beginning, SIPB has had meetings on Monday at 7:30. That's an international constant to which the world can synchronize. SIPB meetings have even happened with as few as 1 member showing up during winter break.
+
+SIPB has changed in the four decades since its founding, but a look at the 1978 SIPB Office Manual reveals striking similarities:
+
+> ### 1. What is the SIPB?
+
+>First and foremost, the Student Information Processing Board (SIPB) is a service organization whose function is to provide easy access to computer facilities at MIT, and assistance to those who use them. We provide funding from our yearly budget to members of the MIT community who would like to use a computer to assist them with a project. Such projects may be related to class work or UROP (Undergraduate Research Opportunities Program) study, or may be of only personal interest. It is our job to assess the value of a given user's proposal, and to provide funding based on that evaluation.
+
+>There is, however, another side to the SIPB: we are also one of MIT's many student activites. The membership of the Board is composed entirely of MIT students (Footnote: An “associate membership” mechanism is provided for those who do not fall into this category, but are still interested in involving themselves in our activities.) No knowledge of, or interest in computers is assumed or required for membership, although the majority of members acquire a little of both in time. We generally have a very good time.
+
+Many of SIPB's traditions date back to this time, including member drawers, Cokecomm, and Joseph Jeffrey Sipbadmin.  There were also some significant differences; for example, full members were expected to provide regular office hours.  There was also a carpeted wooden loft.
+
+As computing technology has progressed (and Project Athena happened), SIPB has gone on to provide many groundbreaking services to the MIT community, such as:
+
+* Around 1988, SIPB supported the first dialup service to Athena.
+* SIPB provided the first support for LaTeX on Athena.
+* SIPB created [discuss](http://stuff.mit.edu/afs/sipb/project/www/discuss/discuss.html). It was modeled after forum on Multics.
+* SIPB was responsible for [the original www.mit.edu web server](http://stuff.mit.edu/webmasters.html#history) in 1993; it may have been among the first 100 HTTP servers in the world.  In August 1999, www.mit.edu began mirroring the official MIT website, originally on [web.mit.edu](http://web.mit.edu/). On August 8, 2004, IS&T took over the [www.mit.edu](http://www.mit.edu/) name, and SIPB's portal became [stuff.mit.edu](http://stuff.mit.edu).
+* SIPB was originally responsible for Linux-Athena.
+
+
+Much more documentation from SIPB's history was incorporated in [a term paper written in 2001 by students in an MIT science-history class](http://web.mit.edu/6.933/www/Fall2001/SIPB.pdf).
diff --git a/history/The Student Information Processing Board.pdf b/history/The Student Information Processing Board.pdf
new file mode 100644 (file)
index 0000000..1bb6973
Binary files /dev/null and b/history/The Student Information Processing Board.pdf differ
diff --git a/images/IAP.png b/images/IAP.png
new file mode 100644 (file)
index 0000000..54d8787
Binary files /dev/null and b/images/IAP.png differ
diff --git a/images/SIPBlogo.png b/images/SIPBlogo.png
new file mode 100644 (file)
index 0000000..99b3324
Binary files /dev/null and b/images/SIPBlogo.png differ
diff --git a/images/cluedump.png b/images/cluedump.png
new file mode 100644 (file)
index 0000000..55d009d
Binary files /dev/null and b/images/cluedump.png differ
diff --git a/images/gradient.jpg b/images/gradient.jpg
new file mode 100644 (file)
index 0000000..ff86ad8
Binary files /dev/null and b/images/gradient.jpg differ
diff --git a/images/gradient.png b/images/gradient.png
new file mode 100644 (file)
index 0000000..1ba335f
Binary files /dev/null and b/images/gradient.png differ
diff --git a/images/gradientbg.jpg b/images/gradientbg.jpg
new file mode 100644 (file)
index 0000000..e864523
Binary files /dev/null and b/images/gradientbg.jpg differ
diff --git a/images/grumpyfuzzball.png b/images/grumpyfuzzball.png
new file mode 100644 (file)
index 0000000..e608a02
Binary files /dev/null and b/images/grumpyfuzzball.png differ
diff --git a/images/grumpyfuzzball_half.png b/images/grumpyfuzzball_half.png
new file mode 100644 (file)
index 0000000..bed7898
Binary files /dev/null and b/images/grumpyfuzzball_half.png differ
diff --git a/images/logos/XVM.png b/images/logos/XVM.png
new file mode 100644 (file)
index 0000000..5193dd2
Binary files /dev/null and b/images/logos/XVM.png differ
diff --git a/images/logos/debathena.png b/images/logos/debathena.png
new file mode 100644 (file)
index 0000000..88c28c6
Binary files /dev/null and b/images/logos/debathena.png differ
diff --git a/images/logos/linerva.png b/images/logos/linerva.png
new file mode 100644 (file)
index 0000000..5acc902
Binary files /dev/null and b/images/logos/linerva.png differ
diff --git a/images/logos/scripts.png b/images/logos/scripts.png
new file mode 100644 (file)
index 0000000..dda8f96
Binary files /dev/null and b/images/logos/scripts.png differ
diff --git a/images/nav-blue.png b/images/nav-blue.png
new file mode 100644 (file)
index 0000000..d99efeb
Binary files /dev/null and b/images/nav-blue.png differ
diff --git a/images/nav-green.png b/images/nav-green.png
new file mode 100644 (file)
index 0000000..524722c
Binary files /dev/null and b/images/nav-green.png differ
diff --git a/images/nav-orange.png b/images/nav-orange.png
new file mode 100644 (file)
index 0000000..078583f
Binary files /dev/null and b/images/nav-orange.png differ
diff --git a/images/nav-white.png b/images/nav-white.png
new file mode 100644 (file)
index 0000000..372198c
Binary files /dev/null and b/images/nav-white.png differ
diff --git a/images/nav-yellow.png b/images/nav-yellow.png
new file mode 100644 (file)
index 0000000..1ebfd8e
Binary files /dev/null and b/images/nav-yellow.png differ
diff --git a/images/opendoor.png b/images/opendoor.png
new file mode 100644 (file)
index 0000000..9df64bc
Binary files /dev/null and b/images/opendoor.png differ
diff --git a/index.mdwn b/index.mdwn
new file mode 100644 (file)
index 0000000..03cedfa
--- /dev/null
@@ -0,0 +1,55 @@
+[[!meta title="MIT Student Information Processing Board"]]
+
+We are MIT's volunteer student computing group, improving computing at
+MIT [[since 1969|history]].  Today, [[SIPB projects|projects]] provide innovative [[services|projects]] and
+special expertise to the MIT community.  We have [[an office|office]] just
+outside the Athena cluster in the student center W20, and you are
+welcome to come by to [[ask us for help|computer_help]] or to hang around, use our
+computers, and maybe [[get involved|join]].
+
+## SIPB Projects and Services
+What does SIPB do for you?
+[[!template id=cols col1="""
+* [scripts.mit.edu](http://scripts.mit.edu/)<br/>
+Get your own blog or wiki, or run any web app!  The SIPB scripts server runs CGI scripts out of your Athena locker.
+* [xvm.mit.edu](http://xvm.mit.edu/)<br/>
+Your own virtual server.  Reliable, easy, and flexible.
+* [debathena.mit.edu](http://debathena.mit.edu/)<br/>
+Bringing MIT's Athena environment to Debian and Ubuntu, first for our laptops, and then back to the clusters.
+* [[Your project here!|join]]
+""" col2="""
+* [linerva.mit.edu](http://linerva.mit.edu/)<br/>
+Remote login access to Athena on a powerful Debian GNU/Linux server running Debathena.
+* [[Documentation|doc]] <br />
+Helpful and informative documents about various computing topics at MIT, written by SIPB.
+* [[Computer Help|computer_help]] <br />
+Have a computing question or need some help? Come drop by our office.
+* [[...and many more|projects]]
+"""]]
+
+## SIPB Events
+Every year, SIPB offers a number of awesome computer-related events to the MIT community. Here's a list of some of our events:
+
+<img class="right" src="photos/hackathon-1.jpg" alt="hackathon" />
+
+
+* [IAP classes](http://sipb.mit.edu/iap)<br/>
+Teach or learn.  Knowledge is power.
+* [SIPB Cluedumps](http://cluedumps.mit.edu/) <br />
+Every year, SIPB hosts a number of computer-related technical talks on a variety of subjects.
+* [[Hackathons|hackathons]] <br />
+Like coding? Come work on cool projects with us at SIPB! We're always looking for new members, so feel free to drop by our Hackathons to help us improve computing at MIT.
+* [[SIPB Computer Tours|computer_tours]] <br />
+At the beginning of each year, SIPB offers tours of the MIT computing infrastructure, including Athena server rooms, interesting labs.
+* [[SIPB Computer Stories|computer_stories]]<br />
+Come listen to interesting computer stories about MIT in this annual event.
+* [[SIPB Reading Group|office/readingGroup]]<br />
+Every week we pick, read, and hold a discussion about a different paper relating to computer science.  Come join us!  Blanche yourself onto sipb-reading-group@mit.edu for announcements and access to the papers.
+
+## Getting Involved
+
+SIPB is always open to new contributors.  You can join one of the projects above or start your own.  Learn more about [[getting_involved|join]].
+
+## Contact
+
+Our [[office]] is W20-557 in the Student Center at 84 Mass Ave. You can call 617/253-7788 (x3-7788) or e-mail [sipb@mit.edu](mailto:sipb@mit.edu) with questions.
diff --git a/join.mdwn b/join.mdwn
new file mode 100644 (file)
index 0000000..0950447
--- /dev/null
+++ b/join.mdwn
@@ -0,0 +1,51 @@
+[[!meta title="Joining SIPB"]]
+
+## Membership
+
+If you are interested in contributing to SIPB's computing services and
+in helping users with unusual computing questions, consider becoming a
+member.  Full [[membership|members]] in SIPB is granted after sustained
+contribution to the organization, and confers several benefits:
+
+* A permanent Athena account.
+* A key to the SIPB office in W20, and a storage drawer in the SIPB office.
+* A vote at SIPB meetings and (for current students) elections.
+
+Prospective members interested in becoming full members should attend
+our weekly meetings regularly (they're Mondays at 7:30 PM), participate in SIPB activities like
+hackathons, [cluedumps](http://cluedumps.mit.edu/), and [IAP classes](http://sipb.mit.edu/iap),
+and either create a new [[SIPB
+project|projects]] or help with some existing [[SIPB projects|projects]].  This process
+generally takes about a term of active participation.
+
+To get involved in SIPB projects, you can hack on an existing
+project&mdash;begin by talking to the people currently working on
+it&mdash;or start a new one.  The best way to start
+a SIPB project is to pick some computing-related problem that is
+important to you, find some like-minded individuals, and try to solve
+it, discussing your ideas and plans around the SIPB office, and
+reporting on your progress to the SIPB.  The most successful SIPB
+projects have often been things that the people involved really wanted
+to do, and found resources or collaborators to do them through SIPB.
+
+
+## The office
+
+<img class="right" alt="The office fills with people working together in a hackathon." src="../photos/office-hackathon.320.jpg"/>
+
+Prospective members are encouraged to hang out in the SIPB office
+anytime it is open, which it is on a typical weekday afternoon and
+evening.  We strive to make it a fun and comfortable place to work on
+projects, homework, or anything else by providing an array of amenities:
+
+* Nice chairs, big monitors, many computers, table space for laptops
+* Music: ours (CDs or [LAMP](https://lamp.mit.edu/)) or yours (via a certain ["printer"](http://sipb.mit.edu/sipbmp3/))
+* Tons of equipment and supplies from video adapters to an oscilloscope to Band-Aids
+* A diverse technical library, including popular textbooks
+* Soda and snacks for late-night sessions, cheaper and closer than Verde's
+
+## You
+
+If you have any questions about SIPB or the SIPB membership process,
+or ideas for projects, feel free to either drop by our office
+(W20-557) or contact the Chair at <tt>sipb-chair@mit.edu</tt>.
diff --git a/license.mdwn b/license.mdwn
new file mode 100644 (file)
index 0000000..c916db3
--- /dev/null
@@ -0,0 +1,7 @@
+Unless otherwise specified, all content on this wiki is released under a dual license of
+
+ * the Creative Commons Attribution-Share Alike license, and
+ * the GNU Free Documentation License, with no Invariant Sections, no
+   Front-Cover Texts, and no Back-Cover-Texts.
+
+This reflects the [SIPB Documentation Licensing Recommendation](http://stuff.mit.edu/afs/sipb/admin/text/policy/documentation_licensing.txt).
diff --git a/members.mdwn b/members.mdwn
new file mode 100644 (file)
index 0000000..1003c45
--- /dev/null
@@ -0,0 +1,49 @@
+[[!meta title="Members and Officers"]]
+
+Any member of the MIT community is eligible to be a member of SIPB. One
+[[becomes a member|join]] by becoming [[involved in SIPB|projects]], getting nominated, and
+being elected to the membership. Only students are voting members (and only
+students can be officers), though a substantial portion of our active
+membership are non-students (alumni, etc).
+
+## Executive Committee
+
+* <b>Chair</b>: Edward Yang
+* <b>Vice Chair</b>: Evan Broder
+* <b>Secretary</b>: Donald Guy
+* <b>Treasurer</b>: Benjamin Kaduk
+* Jessica Hamrick
+* Jessica McKellar
+* Greg Price
+* Quentin Smith
+* Geoffrey Thomas
+
+## Voting Members
+
+* adehnert, Alex Dehnert
+* [arolfe](http://www.mit.edu/~arolfe/), Alex Rolfe
+* aseering, Adam Seering
+* biyeun, Biyeun Buczyk
+* [broder](http://ebroder.net/), Evan Broder
+* danjared, (Daniel) Jared Dominguez
+* ecprice, Eric Price
+* [ezyang](http://web.mit.edu/ezyang/www), Edward Yang
+* fawkes, Donald Guy
+* [geofft](http://web.mit.edu/geofft/www/), Geoffrey Thomas
+* [golem](http://lesniewski.org/), Chris Lesniewski-Laas
+* iannucci, Peter Iannucci
+* jesstess, Jessica McKellar
+* jhamrick, Jessica Hamrick
+* kaduk, Benjamin Kaduk
+* neboat, Tao Benjamin Schardl
+* [nelhage](http://nelhage.com/), Nelson Elhage
+* [njess](http://web.mit.edu/njess/www/), Noah Jessop
+* paigep, Paige Phillips
+* [pbaranay](http://web.mit.edu/pbaranay/www), Paul Baranay
+* presbrey, Joe Presbrey
+* [price](http://web.mit.edu/price/), Gregory Price
+* quentin, Quentin Smith
+* spang, Christine Spang
+* [ternus](http://www.mit.edu/~ternus), Christian Ternus
+* [xavid](http://web.mit.edu/xavid/www/), Xavid Pretzer
+* y_z, Yang Zhang
diff --git a/office.mdwn b/office.mdwn
new file mode 100644 (file)
index 0000000..69c0042
--- /dev/null
@@ -0,0 +1,33 @@
+[[!meta title="The SIPB office"]]
+
+<strong>
+W20-557<br/>
+84 Mass. Ave.<br/>
+(617) 253-7788
+</strong>
+
+Questions and visitors are welcome whenever the office door is [open](http://sipb-door.scripts.mit.edu/).  Members keep the office open most every weekday afternoon and evening and some other times, but with no set hours.  You can call ahead to check if you're heading over.
+
+
+<img class="right" alt="The office fills with people working together in a hackathon." src="../photos/office-hackathon-whole.320.jpg"/>
+<!-- could use a photo from just outside, for users to recognize -->
+
+For the MIT community we offer walk-in computing help and services:
+
+* Unofficial help with computing questions
+* Various computer hardware for use in the office (scanners, CD/DVD burners, more)
+* Mac and WinAthena machines for short-term use
+* Office tools (stapler, big stapler, hole-punch, scissors, more) 
+
+[[Prospective members|join]] are encouraged to hang out in the SIPB office
+anytime it is open.  We strive to make it a fun and comfortable place to work on
+[[projects]], homework, or anything else by providing an array of amenities:
+
+* Nice chairs, big monitors, many computers, table space for laptops
+* Music: ours (CDs or [LAMP](https://lamp.mit.edu/)) or yours (via AirTunes or [a certain "printer"](http://sipb.mit.edu/sipbmp3))
+* Tons of equipment and supplies from video adapters to an oscilloscope to Band-Aids
+* A diverse technical library, including popular textbooks
+* Soda and snacks for late-night sessions, cheaper and closer than Verde's
+
+Check out some of the [[zephyr classes|office/zephyrClasses]] SIPB
+uses to communicate and socialize.
diff --git a/office/readingGroup.mdwn b/office/readingGroup.mdwn
new file mode 100644 (file)
index 0000000..19614ec
--- /dev/null
@@ -0,0 +1,39 @@
+[[!meta title="SIPB Reading Group"]]
+
+Approximately every week, SIPB holds a discussion of an interesting or
+notable computer science paper.  The reading group meets over dinner
+after the general SIPB meeting (7:30pm every Monday).
+
+If you're interested in formally joining the reading group, just add
+yourself to the *sipb-reading-group* mailing list. we'd love to have
+you!
+
+## Current Reading
+
+* 2009-08-03: "What the Assassin's Guild Taught Me About Distributed Computing" by Jake Beal (Paul Baranay)
+
+## Past Readings
+
+* 2009-07-27: No Reading
+
+* 2009-07-20: No Reading
+
+* 2009-07-13: "Using Semantic Roles to Improve Question Answering" by Dan Shen and Mirella Lapata (Jessica Hamrick)
+
+* 2009-07-06: No Reading
+
+* 2009-06-29: No Reading
+
+* 2009-06-22: "Early bioinformatics: the birth of a discipline - a personal view"  by Christos A. Ouzounis and Alfonso Valencia (Paul Baranay)
+
+* 2009-06-15: "A Study of Prefix Hijacking and Interception in the Internet" by Hitesh Ballani, Paul Francis, and Xinyang Zhang (Quentin Smith)
+
+* 2009-06-08: "A Personal View of Average-Case Complexity" by Russell Impagliazzo (Greg Price)
+
+* 2009-06-01: No Reading
+
+* 2009-05-25: "A critique of Abelson and Sussman, or, why calculating is better than scheming" by Philip Wadler (Nelson Elhage)
+
+* 2009-05-18: "The Future of Computing: Logic or Biology" by Leslie Lamport (Edward Z. Yang)
+
+* 2009-05-11: "Automatic Acquisition of Subcategorization Frames from Untaggd Text" by Michael R. Brent (Jessica Hamrick) 
diff --git a/office/zephyrClasses.mdwn b/office/zephyrClasses.mdwn
new file mode 100644 (file)
index 0000000..8ef031a
--- /dev/null
@@ -0,0 +1,57 @@
+[[!meta title="SIPB Zephyr Classes"]]
+
+Many SIPB members and prospectives [use zephyr](http://sipb-www.scripts.mit.edu/doc/wiki/UsingZephyr) to communicate about
+projects, discuss what's new (or old) in the computing world, and
+generally keep in touch.  Here's a list of some zephyr classes you
+might be interested in subscribing to.
+
+*Note*: If you're new to zephyr or to any of these classes, you're
+encouraged to just listen to the class at first and get a feel for the
+class's typical modes of behavior.  If you jump right in, you might
+risk accidentally offending someone.
+
+* **&lt;sipb,\*,\*&gt;** &mdash; The archetypal zephyr class for SIPB
+members and prospectives. Features general discussion about the SIPB,
+from brainstorming about projects to random bits of humor.  It's
+considered polite to always use an instance when sending to **-c
+sipb**. *High traffic.*
+
+* **&lt;sipb-door,\*,\*&gt;** &mdash; Receives a zephyr whenever SIPB's office door opens or closes.  Great way to keep track of whether the [[office]] is open or not.
+
+* **&lt;sipb-auto,\*,\*&gt;** &mdash; *High traffic.* Receives a variety of automatically generated zephyrs, including...
+  * **&lt;sipb-auto,sipbmp3,\*&gt;**  &mdash; Activity on [sipbmp3](http://http://sipb.mit.edu/sipbmp3/). *Usually high traffic.*
+  * **&lt;sipb-auto,sipb-door,\*&gt;** &mdash; See **&lt;sipb-door,\*,\*&gt;** above.
+  * **&lt;sipb-auto,sipb-www,\*&gt;** &mdash; Commit logs when changes are pushed to this website.
+  * **&lt;sipb-auto,backups,\*&gt;** &mdash; Log messages from automated backups of the SIPB AFS cell.
+  * **&lt;sipb-auto,nagios.stuff.HTTP,\*&gt;** &mdash; Alerts when SIPB's [stuff.mit.edu](http://stuff.mit.edu) server goes down.
+
+## Classes for SIPB Projects
+
+In general, you should only sub to these classes *if and only if*
+you're interested in helping with a specific project.
+
+* **&lt;scripts,\*,\*&gt;** &mdash; If you're interested in getting involved
+with [Scripts](http://scripts.mit.edu/), subscribe here to see what
+the Scripts team does behind the scenes. *High traffic.*
+
+* **&lt;barnowl,\*,\*&gt;** &mdash; Discussion of [Barnowl](http://barnowl.mit.edu/), a zephyr client written and maintained by SIPB members.
+
+* **&lt;debathena,\*,\*&gt;** &mdash; Discussion of [Debathena](http://debathena.mit.edu/), a project designed to bring the functionality of Athena to your Debian or Ubuntu system. Debathena is also the basis of the next official version of Athena. *High traffic.*
+
+* **&lt;dodona-discuss,\*,\*&gt;** &mdash; Discussing the development and coding of [Dodona](http://dodona.scripts.mit.edu), a SIPB zephyrbot.
+   * **&lt;dodona,\*,\*&gt;** &mdash; The "official" class for Dodona to run and give advice on. Currently *low traffic*, as Dodona rarely runs. 
+   * **&lt;dodona-test,\*,\*&gt;** &mdash; Class for trial runs of Dodona. *High traffic*.
+
+* **&lt;clockworks,\*,\*&gt;** &mdash; Discussion of [[clockworks|projects/clockworks]].
+
+## Other Useful Classes
+
+These are not actually SIPB-related classes, although many people
+affiliated with SIPB and/or IS&T listen to them.  You should not send
+zephyrs to any of these classes unless you have a good reason.
+
+* **&lt;consult,\*,\*&gt;** - 
+
+* **&lt;filsrv,\*,\*&gt;** &mdash; Announcements of filesystem outages
+
+* **&lt;3down,\*,\*&gt;** &mdash; Recieves zephyrs about MIT service status (see also [3down website](http://3down.mit.edu/))
diff --git a/old-ecs.mdwn b/old-ecs.mdwn
new file mode 100644 (file)
index 0000000..78f98ec
--- /dev/null
@@ -0,0 +1,61 @@
+[[!meta title="Former Officers"]]
+
+<table border="1" cellpadding="10">
+<tr>
+<th width=%><b>Year</b></th>
+<th width=24%><b>Chair</b></th>
+<th width=24%><b>Vice Chair</b></th>
+<th width=22%><b>Treasurer</b></th>
+<th width=22%><b>Secretary</b></th>
+</tr>
+<tr>
+<td rowspan=2><b><div align="center">2009</b></div></td>
+<td>Edward Yang '12 (<i>ezyang</i>) &<br> Nelson Elhage '09 (<i>nelhage</i>)</td>
+<td>Evan Broder '10 (<i>broder</i>)</td>
+<td>Ben Kaduk G (<i>kaduk</i>)</td>
+<td>Donald Guy '12 (<i>fawkes</i>)</td>
+</tr>
+<tr>
+<td colspan=4><b>Members at Large</b>: Jessica Hamrick '11 (<i>jhamrick</i>), Jessica McKellar '09 MEng '10 (<i>jesstess</i>), Greg Price G (<i>price</i>), Quentin Smith '10 (<i>quentin</i>), Geoffrey Thomas '10 (<i>geofft</i>)</td>
+</tr>
+<tr>
+<td rowspan=2><b><div align="center">2008</div></b></td>
+<td>Greg Price G (<i>price</i>)</td>
+<td>Nelson Elhage '09 (<i>nelhage</i>)</td>
+<td>Ben Kaduk G (<i>kaduk</i>)</td>
+<td>Mitch Berger '03 (<i>mitchb</i>)</td>
+</tr>
+<tr>
+<td colspan=4><b>Members at Large</b>: Alex Rolfe '01 (MEng '02 PhD '09) (<i>arolfe</i>), Eric Price '09 (<i>ecprice</i>), Jeff Arnold '07 MEng '08 (<i>jbarnold</i>), Jessica McKellar '09 MEng '10 (<i>jesstess</i>), Timothy Abbott '07 SM '08 (<i>tabbott</i>)</td>
+</tr>
+<tr>
+<td rowspan=2><b><div align="center">2007</div></b></td>
+<td>Timothy Abbott '07 SM '08 (<i>tabbott</i>)</td>
+<td>Nelson Elhage '09 (<i>nelhage</i>)</td>
+<td>Tilly Whitney '07 (<i>tilia</i>)</td>
+<td>Anders Kaseorg '08 (<i>andersk</i>)</td>
+</tr>
+<tr>
+<td colspan=4><b>Members at Large</b>: Alex Rolfe '01 MEng '02 PhD '09 (<i>arolfe</i>), Jeff Arnold '07 MEng '08 (<i>jbarnold</i>), Katherine Lai '07 MEng '08 (<i>k_lai</i>), Waseem Daher '07 MEng '08 (<i>wdaher</i>), You Zhou  '07 MEng '08 (<i>yoz</i>)</td>
+</tr>
+<tr>
+<td rowspan=2><b><div align="center">2006</div></b></td>
+<td>Jeff Arnold '07 MEng '08 (<i>jbarnold</i>)</td>
+<td>Timothy Abbott '07 SM '08 (<i>tabbott</i>)</td>
+<td>John Hawkinson '98 (<i>jhawk</i>)</td>
+<td>Alex Rolfe '01 MEng '02 PhD '09 (<i>arolfe</i>)</td>
+</tr>
+<tr>
+<td colspan=4><b>Members at Large</b>: You Zhou  '07 MEng '08 (<i>yoz</i>), Waseem Daher '07 MEng '08 (<i>wdaher</i>), Kevin Chen '06 MEng '07 (<i>kchen</i>), Keith Winstein '04 MEng '05 (<i>keithw</i>), Janet Ryu '06 (<i>janetryu</i>)</td>
+</tr>
+<tr>
+<td rowspan=2><b><div align="center">2005</div></b></td>
+<td>Jeff Arnold '07 MEng '08 (<i>jbarnold</i>)</td>
+<td>Kevin Chen '06 MEng '07 (<i>kchen</i>)</td>
+<td>Alex Rolfe '01 MEng '02 PhD '09 (<i>arolfe</i>)</td>
+<td>Paige Phillips '08 (<i>paigep</i>)</td>
+</tr>
+<tr>
+<td colspan=4><b>Members at Large</b>: Jennifer Tu '05 (<i>jtu</i>), Omari Stephens '08 (<i>xsdg</i>), Christopher Lesniewski-Laas '01 MEng '03 (<i>golem</i>), Keith Winstein '04 MEng '05 (<i>keithw</i>), Jacob Morzinski (<i>jmorzins</i>)</td>
+</tr>
+</table>
diff --git a/photos/hackathon-1.240.jpg b/photos/hackathon-1.240.jpg
new file mode 100644 (file)
index 0000000..0b2d544
Binary files /dev/null and b/photos/hackathon-1.240.jpg differ
diff --git a/photos/hackathon-1.jpg b/photos/hackathon-1.jpg
new file mode 120000 (symlink)
index 0000000..5512f35
--- /dev/null
@@ -0,0 +1 @@
+hackathon-1.240.jpg
\ No newline at end of file
diff --git a/photos/hackathon-2.240.jpg b/photos/hackathon-2.240.jpg
new file mode 100644 (file)
index 0000000..1dece59
Binary files /dev/null and b/photos/hackathon-2.240.jpg differ
diff --git a/photos/hackathon-2.jpg b/photos/hackathon-2.jpg
new file mode 120000 (symlink)
index 0000000..395e57f
--- /dev/null
@@ -0,0 +1 @@
+hackathon-2.240.jpg
\ No newline at end of file
diff --git a/photos/hackathon-3.240.jpg b/photos/hackathon-3.240.jpg
new file mode 100644 (file)
index 0000000..27f81a2
Binary files /dev/null and b/photos/hackathon-3.240.jpg differ
diff --git a/photos/hackathon-3.jpg b/photos/hackathon-3.jpg
new file mode 120000 (symlink)
index 0000000..0c967bd
--- /dev/null
@@ -0,0 +1 @@
+hackathon-3.240.jpg
\ No newline at end of file
diff --git a/photos/hackathon-food.240.jpg b/photos/hackathon-food.240.jpg
new file mode 100644 (file)
index 0000000..37eb754
Binary files /dev/null and b/photos/hackathon-food.240.jpg differ
diff --git a/photos/hackathon-food.jpg b/photos/hackathon-food.jpg
new file mode 120000 (symlink)
index 0000000..ecdc046
--- /dev/null
@@ -0,0 +1 @@
+hackathon-food.240.jpg
\ No newline at end of file
diff --git a/photos/office-hackathon-whole.320.jpg b/photos/office-hackathon-whole.320.jpg
new file mode 100644 (file)
index 0000000..9d18916
Binary files /dev/null and b/photos/office-hackathon-whole.320.jpg differ
diff --git a/photos/office-hackathon-whole.jpg b/photos/office-hackathon-whole.jpg
new file mode 120000 (symlink)
index 0000000..e5f86a0
--- /dev/null
@@ -0,0 +1 @@
+office-hackathon-whole.320.jpg
\ No newline at end of file
diff --git a/photos/office-hackathon.320.jpg b/photos/office-hackathon.320.jpg
new file mode 100644 (file)
index 0000000..35b1153
Binary files /dev/null and b/photos/office-hackathon.320.jpg differ
diff --git a/photos/office-hackathon.jpg b/photos/office-hackathon.jpg
new file mode 120000 (symlink)
index 0000000..d66e2ae
--- /dev/null
@@ -0,0 +1 @@
+office-hackathon.320.jpg
\ No newline at end of file
diff --git a/projects.mdwn b/projects.mdwn
new file mode 100644 (file)
index 0000000..363255c
--- /dev/null
@@ -0,0 +1,102 @@
+[[!meta title="Projects and Services"]]
+
+Consider [[getting involved|join]] in one of these projects.
+
+<!--<table><tr><td>Scripts</td><td>linux.mit.edu</td>
+
+
+B</table>
+
+* linux
+* Debathena
+* LAMP
+* SIPB AFS
+* SIPB IAP
+* Ask SIPB
+* Mailman-ACL
+* sipb-www-->
+
+## scripts.mit.edu
+
+[scripts.mit.edu](http://scripts.mit.edu/) is a Linux/Apache web hosting platform for the MIT
+community.  Any Athena user or group locker can host dynamic web applications
+written in PHP, Perl, Python, Ruby, or any other language, or automatically
+install popular blog, wiki, and other software via the quick-start
+autoinstallers.
+
+## linux.mit.edu
+
+[Linerva](http://linerva.mit.edu), aka linux.mit.edu,
+is SIPB's Linux shell server for all MIT users. Linerva is
+fast, runs popular Linux software, and allows long-lasting login
+sessions.
+
+## Debathena
+
+[Debathena](http://debathena.mit.edu) brings the full functionality of Athena to your Debian or
+Ubuntu system.  Install Athena wholesale or in small pieces&mdash;a few
+client utilities, or a full system with Athena-account logins and AFS
+home directories.  You can even run software like Matlab or Mathematica
+straight from Athena lockers. Debathena is also the basis for the official
+[Athena 10](http://athena10.mit.edu) due to replace Athena 9 in 2009.
+
+## XVM
+
+[XVM](http://xvm.mit.edu) offers virtual machines to the MIT community&mdash;complete systems which you control and maintain from the operating system up.  Create a new machine with the click of a button.  Start with our three-minute Debian or Ubuntu installer, or install an operating system of your choice.
+
+## Library Access to Music Project (LAMP)
+
+[LAMP](http://lamp.mit.edu) is an electronic music library for the MIT community.  Request
+songs from a selection of 1840 CDs at [lamp.mit.edu](http://lamp.mit.edu/) and tune in
+on MIT cable TV to hear your music play.
+
+## The SIPB AFS Cell and Locker Software
+
+SIPB maintains hundreds of useful [[programs in AFS lockers|projects/lockers]] for use on
+Athena.  Many popular programs are in the <tt>sipb</tt> and <tt>outland</tt>
+lockers, and even more have their own lockers in SIPB AFS.  SIPB's
+<tt>whichlocker</tt> program, located in <tt>outland</tt>, makes locker
+software easy to find.  (<tt>add outland; whichlocker whichlocker</tt>)
+
+The [[SIPB AFS-Moira synchronizer|projects/sipb-afs-sync]] can automatically synchronize
+some AFS groups in the SIPB cell with Moira groups.
+
+## IAP Classes and Cluedumps
+
+SIPB organizes dozens of [IAP classes](http://sipb.mit.edu/iap) each year on technical topics both serious and fun.  During the fall term SIPB also offers a series of [Cluedump talks](http://cluedumps.mit.edu), with a different topic each week.  Add yourself to
+<tt>cluedump-announce@mit.edu</tt> if you're interested.
+
+## Ask SIPB
+
+SIPB publishes [Ask SIPB](http://www.mit.edu/~asksipb/), a regular column in The Tech explaining technical tools useful on Athena and at MIT generally.
+
+## Clockworks
+
+[[Clockworks|projects/clockworks]] is the open-source equivalent of Doodle, which allows event organizers to easily poll people about what times are best for them.
+
+## Dodona
+
+[Dodona](http://dodona.mit.edu/) is a zephyrbot which uses natural language processing techniques to dynamically understand and answer technical questions.  She is still under development, and future additions include a website interface for non-zephyr users.  For questions or comments, please email <tt>dodona@mit.edu</tt>.
+
+## Wakeup
+
+[Wakeup](http://wakeup.mit.edu/) is a demo service powered by Scripts and the SIPB VoIP server. Currently, Wakeup will call your phone at the time you specify.  Future functionality may include the ability to set up recurring calls, as well as an interface for monitoring and canceling your scheduled calls.  Please direct questions, comments, and suggestions to <tt>[wakeup@mit.edu](mailto:wakeup@mit.edu)</tt>.
+
+## Mailman-ACL
+
+First steps towards improving compatibility of Mailman and Moira mailing list systems: enabling mutual access controls and building compatible command-line configuration tools for Mailman.  Our [[plan|projects/mailman-acl]] to accomplish this is in progress. 
+
+## This Website
+
+This website is a wiki. There are many [[things that can be improved|projects/www]], both on the content level and on the programming level.
+
+## Other Projects
+
+Here's a [[list|projects/ideas]] of some other, smaller projects SIPB members would like
+to work on.
+
+## Your Project Here
+
+SIPB has the resources and the expert advice to make your project to
+improve computing at MIT (better, the world) happen!  Come by [[our office at W20-557|office]]
+and say hello.
diff --git a/projects/clockworks.mdwn b/projects/clockworks.mdwn
new file mode 100644 (file)
index 0000000..6163249
--- /dev/null
@@ -0,0 +1,161 @@
+[[!meta title="Clockworks"]]
+
+Hey guys, I heard there was this app called [Doodle](http://www.doodle.com/main.html). It's closed source. Let's make an open-source Doodle killer and call it Clockworks!
+
+We have a mailing list - if you're interested in helping design the
+app, just [let one of the developers know](mailto:clockworks@mit.edu)
+and we'll add you to our mailing list, **clockworks**. Or if you just
+want to hear more about what we're up to, blanche yourself to the
+public list **clockworks-announce**.
+
+## Getting started
+
+Clockworks is in pre-pre-alpha phase; most of the functionality hasn't been done yet.
+
+The best way to get started with Clockworks is to get yourself added to the project, grab a copy of the code, get it running on your laptop, and then poke around the source code.  We also have a Hiveminder project with bite-sized tasks that you can work on (ping a project maintainer to get invited.)
+
+First, make sure you have Git installed on your system. You can grab it [here](http://git-scm.com/download). Verify that it installed by popping open a terminal and running **git --version**
+
+Next, grab the source code.  If you have Debathena installed on your machine, you can clone the source using **git clone /mit/clockworks/clockworks.git**.  If not, you can use a dialup to get to the directory; **git clone ssh://username@linerva.mit.edu/mit/clockworks/clockworks.git** works well. If the clone succeeds, you will now have a folder named "clockworks".  **cd clockworks**
+
+Now, to install the application.  Assuming that you have a reasonable version of Python on your system, running **./nosudo-virtualenv.sh** should set up the environment.  If it succeeds, you'll see the help output for a command named paster.
+
+Run the application by changing into your environment with **source tg2env/bin/activate** and then typing **paster serve --reload development.ini**. And voila; a very boilerplate TurboGears install should be facing you at http://localhost:8080
+
+If these steps fail (which happens on some configurations of OS X and almost invariably on Windows), talk to us and we can get you set up with a copy running on scripts.mit.edu or xvm.mit.edu.
+
+Once you're running, here are some paths to take:
+
+1. Take a break and read some TurboGears documentation to get a feel for the framework
+2. Browse through the todo list, pick a task that seems interesting, and start working on figuring out how to make it work
+3. Browse the source, fiddle with some variables, see what changes
+4. Decide what clockworks should look like, and take off
+
+
+## Development info
+
+Our Git repository is located in AFS in the clockworks locker: /mit/clockworks/clockworks.git
+
+## Phase 1
+
+Doodle clone. 100% duplication of Doodle functionality. Modifications to improve usability as necessary.
+
+### Pitfalls to avoid
+
+What do people not like about Doodle?
+
+* Too much clicking
+ * We can deal with this by collapsing the three-page wizard Doodle has into a single page. Be careful not to sacrifice too much simplicity for such a setup.
+* No obvious "I can, but would rather not"
+ * Alleviated also by the above; this might want to be the default poll setup.
+* Trac, one of the first Python web applications to hit mainstream, was long bemoaned for being complex to install. Try not to have the same story
+
+### What to do?
+
+* <del>Work through the [TurboGears tutorial](http://docs.turbogears.org/1.0/Wiki20/Page1) (the tutorial seems to focus on SQLObject, which is not necessarily the best thing. Maybe someone can find some better docs?)</del>
+* <del>Setup database configuration and installer (an auxiliary issue is the presence of an installer for people). (**ezyang**)</del>
+* Learn SQLAlchemy (**ezyang**)
+* <del>Make sure the default scaffolding works on Scripts (this includes running TurboGears as CGI). Any work done here should be considered for a TurboGears auto-installer, the equivalent of tgsetup) (**ezyang**)</del>
+* <del>Write a .gitignore file for generated/not versionable items</del>
+* <del>Get friendly URLs working</del>
+* <del>Setup a zephyrbot that watches the repository</del>
+* [Configure](http://turbogears.org/2.0/docs/main/Config.html) the default TurboGears scaffolding
+* Learn [Genshi](http://turbogears.org/2.0/docs/main/Genshi.html), the templating engine
+* Learn [Widgets](http://turbogears.org/2.0/docs/main/ToscaWidgets/forms.html) (we'll be using them for all of the forms in this website)
+* Polish up and get SSL authentication working with TurboGears Identity (the two should be integrated together in a sane manner.)
+* Write model classes for all of our tables
+* Write controllers for each of the pages
+
+### Architecture
+
+* **Language**: Python 2.5+
+* **Framework**: TurboGears 2.0
+* **SCM**: Git
+* **JavaScript**: Mochikit
+* **Database**: SQLite for development, ? for production
+* **ORM**: SQLAlchemy
+* **Templating**: Genshi
+
+Other ideas:
+
+* Use 15 minute timeslices to simplify interface
+
+### Principles
+
+* Simplicity
+* Extendibility
+* Open Source
+
+### Schema
+
+You can view the database schema in *model.py*. Some notable features:
+
+* All `user.user_id` foreign keys are paired with an `anon_name` field. If user_id is null, then the associated entity was posted by an anonymous user, and `anon_name` contains the name they submitted for themselves
+* The current `time_slots` table uses `DateTime` and `Interval` to define events. We should consider whether or not 15 minute timeslices will be the native representation in the database, or simply a simpler model for the interface
+* `length` is likely common through all possible times for an event, so it's stored in both `time_slots` and `event`
+* `events.timezone` represents the timezone that the event is occurring in, so we can give user-friendly times. If this field is null, then the creator's `user.timezone` field is used (if that is also null, we should probably use EST)
+* `key` and `admin_key` in `event` refer to random values that will compose the URLs for events.
+* For full backwards compatibility, `hidden` and `extended` are stored as boolean attributes (the former refers to hiding the responses of users, the latter refers to allowing Yes/No/IfNeedBe responses). We may want to consider an alternate model for these properties
+* The schema is not very generalized. Certain parts should definitely be generalized, but let's try to avoid the architecture astronaut syndrome.
+
+### Page Inventory
+
+List of "screens" in Doodle
+
+* **/**: Home page (including login)
+* **/help**: Help pages (screencasts, interactive JavaScript, etc.)
+* **/new**: Schedule event (should be one-page-able)
+  * General info (title, description, name, email)
+  * Days (calendar, should be AJAX)
+  * Times (timezone (JS fill-in), add more timeslots, copypaste first row)
+  * Options (yes-no-ifneedbe, hidden poll, limit OKs)
+  * Poll created (admin, participant links)
+* **/events/*event-name***: View poll (timezone, name, times, information, functions)
+  * **/events/*event-name*/edit**: Edit entry (completely wiki!)
+  * Delete entry
+  * **/events/*event-name*/comment**: Add a comment
+  * **/events/*event-name*/export**: Calendar export (both ways)
+  * File export (excel, pdf)
+  * **/events/*event-name*/feed**: Subscribe (atom, and then social feed services)
+  * **/events/*event-name*/embed**: Embed poll (iframe)
+* **/events/*event-name*/admin**: Admin poll (participation link)
+  * **/events/*event-name*/admin/edit**: Edit poll (all original options)
+  * **/events/*event-name*/admin/history**: History
+  * **/events/*event-name*/admin/reset**: Delete all participants/comments
+  * **/events/*event-name*/admin/delete**: Delete poll
+* **/signup**: Signup page
+* **/myclockworks**: List of polls created by user, list of polls the user has participated in, links to creating a new event
+  * **/myclockworks/account** provides links to the following four links
+  * **/myclockworks/changeEmail**
+  * **/myclockworks/changePassword**
+  * **/myclockworks/editInformation**
+  * **/myclockworks/delete**
+  * Note: Doodle functions by creating two links per event: one for the public and one for administrator, but anyone can follow either link if they know what it is
+
+## Phase 2
+
+Doodle killer. Extra features. Pump it up.
+
+* Better UI
+* Integration
+  * Basic: integration with ICS calendars, GoogleCalendar, Exchange, and TechTime (for faculty)
+  * Advanced: integration with MIT's course schedules, Facebook
+  * Would store persistent profiles of calendar data for users
+* Automatically prioritize and schedule events for you
+* Create mobile phone friendly version
+* View of a single calendar month should show "ghosts" of days from immediately previous and immediately past months, to fill out all the weeks.
+* Ability to convert Yes/No polls into Yes/Maybe/No polls (and vice versa)
+* When setting up a new poll, ability to copy-paste the times for any arbitrary row into any number of other arbitrary rows
+* "Generic week" function
+  * Indicates that the response is for a weekly meeting, not a specific date.
+
+## Developers
+
+* Geoffrey Thomas
+* Paul Baranay
+* Edward Yang
+* Paul Weaver
+* Xavid Pretzer
+* Christian Ternus
+* David Benjamin
+* <a href="mailto:clockworks@mit.edu">You?</a>
diff --git a/projects/ideas.mdwn b/projects/ideas.mdwn
new file mode 100644 (file)
index 0000000..03c51d7
--- /dev/null
@@ -0,0 +1,174 @@
+[[!meta title="Project Ideas"]]
+
+A lot of what SIPB does which is not helping users with immediate
+problems and answering questions falls under the heading of SIPB
+projects. SIPB projects are usually things that a member or two have
+decided are worth doing and are working on. The main qualification of
+SIPB projects is that they help the MIT community or the world at large
+in some way. In general they also involve computers.
+
+Here's a list of SIPB project ideas that have been mentioned recently,
+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.
+
+## "add me to this list" button
+
+If I'm a webmaster for some group with an announcement list, it would be
+really nifty if I could add some HTML code to my page to create a button
+that, if someone clicks it, would use MIT certificates to find their
+username and automatically add them to a list. This isn't particularly
+difficult; you'll need to get a keytab (essentially, an account in
+Kerberos / Moira) for the website, and write a script to set that keytab
+as the list's "membership ACL" and a webapp to use that capability to
+add or remove people from the list.
+
+_Contact: geofft_
+
+## debdiffs of Debathena packages
+
+We have [a webpage](http://debathena.mit.edu/package-list/proposed) to
+list all Debathena packages in the ["proposed"
+repository](http://debathena.mit.edu/experimental#proposed), i.e., things
+we just changed and are waiting a few days for testing before pushing to
+the clusters, etc. However, that page gives you no information on what
+the change was. A very useful addition would be to use the `debdiff`
+tool to link to the changelog and code changes for each new package.
+
+_Contact: broder, debathena_
+
+## Better Trac-email integration
+
+A bunch of SIPB projects use [Trac](http://trac.edgewall.org/) as a bug
+tracker. The current email adapter we use [isn't very
+clever](http://debathena.mit.edu/trac/ticket/308); it'll send
+out each update to a ticket with a generic subject line, so it doesn't
+easily indicate whether the bug was resolved or someone just commented
+on it. It also doesn't know how to receive e-mail, so we can't reply to
+the e-mails it generates and have our comments go back into the bug
+tracker, and we can't [make bugs@mit.edu create Trac
+tickets](http://debathena.mit.edu/trac/ticket/216). There are one or two
+alleged plugins to do this, but they create a new ticket on every
+e-mail, rather than doing something intelligent with replies; a better
+plugin in both directions would be extremely helpful.
+
+_Contact: debathena, geofft, broder_
+
+## PulseAudio support for the office sound system
+
+There's a server in the SIPB office that you can "print" MP3 files to,
+and they will get played one by one. A significantly more modern
+interface to this would be to make a
+[PulseAudio](http://www.pulseaudio.org/wiki/AboutPulseAudio) server out of the
+computer hooked up to our sound system; this lets computers running
+PulseAudio (notably, most recent desktop Linux distributions, but
+Windows computers that install Pulse as well) route their sound to the
+office speakers.
+
+_Contact: geofft_
+
+## Cluster and printer viewer for the iPhone
+
+You might have seen the xcluster displays (in the SIPB office, near the
+four building 11 quickstations, and in the building 12 cluster) that
+show you which clusters aren't in use and which printers aren't hosed.
+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
+software works on many popular distributions (Red Hat, SuSE, Debian,
+Ubuntu, Xandros, etc. etc.), and on multiple versions of these
+distributions. The qemu system emulator, and its virtualization cousin
+kvm, support image snapshots and a fairly lightweight process for
+running virtual machines, so you could set up an Athena locker with a
+few commands that give you a temporary copy of a Linux system for a
+particular distro and version that runs inside your terminal.
+
+_Contact: geofft_
+
+## Efficient disk snapshot support
+
+The previous project and a lot of other work could be made significantly
+more efficient by rethinking the design decisions in qemu's snapshot
+support. If this is the kind of thing that interests you...
+
+_Contact: nelhage_
+
+## SIPB PostgreSQL server
+
+A lot of people prefer Postgres to MySQL, so having a community Postgres
+server akin to [sql.mit.edu](http://sql.mit.edu/), with similar access
+control, could be a useful project. You could set it up on
+[XVM](http://xvm.mit.edu/) with an eye to redoing the configuration on a
+scripts-hosted VM at some future point.
+
+This could easily become a bigger project, integrated with scripts'
+autoinstallers, etc., depending on ambition. Or it can just be a
+standalone server for people who want access to a Postgres database, but
+don't want to set up and maintain a server on their own.
+
+_Contact: mitchb, geofft_
+
+## Rewriting "add", "attach", etc. for Debathena
+
+Athena used to have a system _liblocker_ for managing the /mit
+directories and attaching and detaching links to networked filesystems.
+Debathena and Macathena come with an automounter for /mit, so links
+automatically appear when you use them, and nobdy cares much about
+detaching them, but we still use most of the complexity of liblocker
+because we haven't gotten around to cleaning it up. There's a [design
+proposal](http://debathena.mit.edu/trac/wiki/FixingLiblocker) on the
+Debathena bug tracker listing what should be a better implementation.
+
+_Contact: broder, debathena_
+
+## Checking scripts.mit.edu servers for consistency
+
+Now that we have five or six web servers (I've lost count), it's
+become entirely too easy to change something on one or some but not
+all of the servers. We often test changes, like newer versions of
+packages or tweaked configuration, in place on one of the servers, but
+we'd like something to remind us if we don't copy these changes to all
+the other servers. This involves checking packages (RPM, perl, etc.) as
+well as config files in /etc and possibly other things like LDAP config.
+
+I've also been told by multiple people that
+[Puppet](http://reductivelabs.com/products/puppet) or some other
+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_
+
+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.
+
+## 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_
+
+## Your Project Here
+
+SIPB can help you out in terms of both computing resources and
+experienced people to bounce ideas off of. If you've got an idea for
+something cool to advance the state of computing at MIT or just
+computing in general, [[drop by our office|office]] and say hello.
diff --git a/projects/lockers.mdwn b/projects/lockers.mdwn
new file mode 100644 (file)
index 0000000..9869e55
--- /dev/null
@@ -0,0 +1,84 @@
+[[!meta title="Locker Software Maintained by SIPB"]]
+
+SIPB maintains software in a number of Athena lockers. At some point
+we may even list all the lockers and all the software. For now, here
+is an incomplete list of some of the lockers:
+
+
+<dl>
+
+<dt>sipb </dt><dd>The sipb locker is the primary locker for software
+supported by sipb. It contains a wide variety of software.
+
+</dd></dt>outland </dt><dd>The outland locker is the primary locker
+for unsupported SIPB software. It contains software that SIPB members
+think is useful, but which is not suitable for the sipb locker.
+Software may be here because we don't trust it not to break, or
+because we don't want to find updated versions, or because no member
+is willing to take responsibility for it.  Other lockers also
+semi-maintained by sipb include the editors and perlmacs locker. Send
+mail to <tt>bug-outland@</tt> for questions, comments, or more information.
+
+</dd></dt>crypto </dt><dd>Some crypto software, including ssh for older
+platforms and pgp/gpg.
+
+</dd></dt>graphics </dt><dd>Assorted pieces of graphics software. Favorites are
+xv (a viewer) and gimp (an editor). A related locker is 
+the dia locker, which contains a tool for writing diagrams. 
+
+</dd></dt>newtex </dt><dd>Newtex contains an install of tetex which is no longer
+really new. It continues to provide tex and latex packages not
+included with Athena, an older tex/latex (which is sometimes useful)
+and an object lesson about the dangers of naming software "new".
+</dd>
+</dd></dt>php</dt><dd>the PHP.net command-line interface, selected modules, and a
+supporting MySQL client<br>
+Contact: <tt>php@</tt>, <tt>presbrey</tt>
+</dd>
+</dl>
+
+
+## What's in a locker?
+
+There is no really easy way to see what is in a locker. However, most
+programs have man pages, which you can read easily if you know the
+name of the program. To get a list of all the programs in a locker
+that are built for the platform you are logged in on, try the
+following at the Athena prompt. The first line is just to make
+<code>less</code> available.
+
+    athena% add sipb
+    athena% add lockername
+    athena% ls /mit/lockername/bin | less
+<!--
+    athena% add sipb
+    athena% add <i>lockername</i>
+    athena% ls /mit/<i>lockername</i>/bin | less
+-->
+
+This will give you a list of all the programs in that locker built for
+the sort of computer you are using. To see the manpage for a program,
+enter the following:
+
+    athena% man programname
+<!--
+    athena% man <i>programname</i>
+-->
+
+## What locker is <i>foo</i> in?
+
+There is a tool in the outland locker called whichlocker which will
+search all of the Athena lockers we know about and find a particular
+program by name. It works like this:
+
+    athena% add outland
+    athena% whichlocker gimp
+    Locker software on Athena is maintained by many different people.
+    Don't run these programs unless you know the maintainer can be trusted:
+    "gimp" is installed in "graphics" for linux, sgi, and sun4.
+    "gimp" is installed in "gimp-1.2" for linux, sgi, and sun4.
+
+As the disclaimer says, it's important to remember that many different
+people maintain locker software on Athena, and not all of them can be
+trusted to do a good job. Usually its a good idea to know who runs the
+lockers you use.
diff --git a/projects/mailman-acl.mdwn b/projects/mailman-acl.mdwn
new file mode 100644 (file)
index 0000000..ebd6620
--- /dev/null
@@ -0,0 +1,21 @@
+[[!meta title="Mailman-Moira Integration Project"]]
+
+We identify three main goals for Mailman/Moira integration: using Mailman lists in AFS ACLs, using Moira or Mailman lists as the administrator of a Mailman list, and administrating Mailman lists from the command line via tokens.
+
+
+1. Mailman->Moira ACLs
+
+   Currently, every Mailman list has a corresponding Moira list that contains listname@mailman.mit.edu and can contain other entries.  Our proposal is for this setup to be modified slightly.  First, the AFS group bit ('blanche -G') on such lists will be set.  Secondly, there will be a synchronization script that runs on the Mailman server (using the list_members command).  The synchronization script would run as a cron job.  When the synchronization script runs, it looks at the members of the Mailman list.  For each that ends in @mit.edu or another ending where we have cross-cell authentication (@csail.mit.edu, etc.), it adds the corresponding Kerberos principal as a KERBEROS: member to the Mailman list's Moira counterpart.  This allows the relevant users to have rights in ACLs without receiving the mail that would otherwise be sent to them by Moira.  @mit.edu addresses that are Moira lists will be expanded as 'blanche -r'.  USER: and KERBEROS: members will be added as KERBEROS: members; STRING: members will be ignored.  Any KERBEROS: members previously on the Moira list other than the @mailman.mit.edu entry that are not generated by this process will be removed.
+
+   Note that the current practice of putting KERBEROS: principals on Moira lists can be maintained by creating an auxiliary Moira list containing only Kerberos principals and adding this list to the Mailman list.
+
+   If the overhead of this syncing process is nontrivial, the syncing could be enabled or disabled via a checkbox in the Mailman admin options.
+
+
+2. Allowing Moira Lists to admin Mailman lists
+
+   We assume that the current certificate-based authentication for MIT's version of Mailman basically compares the email address in the user's certificate to the list of administrators, seeing if it matches any of them.  We would modify this by checking if any of the administers is an @mit.edu address that is a Moira list, and for each such list expanding it with 'blanche -r' and adding the resulting USER: and KERBEROS: members to the end of the list of valid admin users.  Note that this would allow a Mailman list synced to Moira as in (1) to administer another Mailman list, or even to administer itself.
+
+3. Administrating Mailman lists from the command line
+
+   We recognize that the current mmblanche implementation is not a permanent solution to command- line administration of Mailman lists.  There are two reasons for this.  Firstly, mmblanche uses the administrator password of the list for authentication.  It should instead use tickets to authenticate via the same mechanism as the current web certs interface.  Secondly, the existing mmblanche scrapes the web server to execute commands and query lists, resulting in unnecessary load and inefficiency.  Both issues could be overcome relatively easily by configuring the Mailman web server to allow SPNEGO authentication, and adding to the Mailman sources an additional web interface which accepts blanche-style commands and executes them using the same backend as the existing web interface.
diff --git a/projects/mirrors.mdwn b/projects/mirrors.mdwn
new file mode 100644 (file)
index 0000000..11182e9
--- /dev/null
@@ -0,0 +1,30 @@
+[[!meta title="Mirrors"]]
+
+I hear SIPB has this big Isilon server with lots of storage. What can we put on the Isilon...? I know, we should provide a mirror of some popular software and services, so that SIPB members, the MIT community, and the world at large can download these things more quickly. Awesome!
+
+## Development info
+
+Our git repository is current located at <code>/mit/mirrors/git</code>. From Athena, you can check it out by running <code>git clone /mit/mirrors/git/ mirrors</code>.
+
+## Sites to mirror
+
+* Ubuntu (available!)
+* Debian
+* Fedora
+* kernel.org
+* Project Gutenberg
+* CPAN
+* CTAN
+* LDP
+* Cygwin (available!)
+* PyPi
+* Fink/Todai
+* GNU?
+* Sourceforge
+* Hackage
+* CRAN
+* Rubyforge
+
+## Contact
+
+Wanna help? Email [mirrors@mit.edu](mailto:mirrors@mit.edu).
diff --git a/projects/sipb-afs-sync.mdwn b/projects/sipb-afs-sync.mdwn
new file mode 100644 (file)
index 0000000..2ec7462
--- /dev/null
@@ -0,0 +1,36 @@
+[[!meta title="SIPB AFS-Moira Synchronizer"]]
+
+  The SIPB AFS-Moira Synchronizer allows SIPB cell AFS groups to be
+  automatically synchronized with a related Moira group by adding the
+  Moira list to the Moira list <tt>sipb-afs-sync</tt>.  In theory,
+  this should eliminate most of the need to contact
+  <tt>sipb-afsreq</tt> in order to control ACLs for SIPB project
+  lockers (requests to <tt>sipb-afsreq</tt> are still necessary to get
+  new lockers created).
+
+## Usage
+  Suppose you have a Moira list <tt>super-project</tt> that you
+  want synchronized with the <tt>sipb.mit.edu</tt> cell so that you
+  can use it as the ACL in the <tt>sipb.mit.edu</tt> AFS cell.  To set
+  it up to by synchronized, you first need to make sure that
+  <tt>super-project</tt> is flagged as an AFS group in Moira (so that
+  there is a corresponding <tt>athena.mit.edu</tt> cell group), and
+  add <tt>super-project</tt> to the <tt>sipb-afs-sync</tt> list, as
+  follows:
+
+    blanche super-project -G
+    blanche sipb-afs-sync -a super-project
+
+  The membership of the AFS group <tt>system:super-project</tt>
+  will then be copied from the <tt>athena.mit.edu</tt> cell into the
+  <tt>sipb.mit.edu</tt> cell, creating the group if necessary, and
+  creating sipb cell PTS entries for any Kerberos principals as
+  necessary.
+
+  Currently, the synchronization is run in a cron job that updates
+  every 15 minutes.  Certain special groups (like
+  system:administrators) are in a blacklist that will not be
+  synchronized.  If you want to change the blacklist status of a
+  group, contact <tt>sipb-afsreq</tt>.
+
+  Maintainers: <tt>tabbott</tt>, <tt>nelhage</tt>
diff --git a/projects/talks.mdwn b/projects/talks.mdwn
new file mode 100644 (file)
index 0000000..367a6c4
--- /dev/null
@@ -0,0 +1,3 @@
+From time to time, SIPB invites guests to give lectures at MIT.
+
+* [[projects/talks/2009/Larry Wall]]
diff --git a/projects/talks/2009/larry_wall.mdwn b/projects/talks/2009/larry_wall.mdwn
new file mode 100644 (file)
index 0000000..759c015
--- /dev/null
@@ -0,0 +1,19 @@
+## Larry Wall presents The Art of Ballistic Programming
+4/1/2009 at 4:30 in 34-101
+
+SIPB is inviting Larry Wall, infamous creator of the programming
+language Perl, to MIT for a talk this Wednesday. He'll be presenting
+his unique version of the past, present, and future of Perl and Perl's
+development.
+
+<object CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="854" height="496" codebase="http://www.apple.com/qtactivex/qtplugin.cab";>
+      <param name="SRC" value="http://fredfest.mit.edu/ff08-ctp.mov">
+      <param name="QTSRC" value="rtsp://ten-streaming.mit.edu:554/2009/04/wall.sdp">
+      <param name="AUTOPLAY" value="true" />
+      <param name="controller" value="true" />
+         <param name="scale" value="aspect">
+      <embed src="http://fredfest.mit.edu/ff08-ctp.mov" qtsrc="rtsp://ten-streaming.mit.edu:554/2009/04/wall.sdp" width="854" height="496" controller="true" autoplay="true" scale="aspect" pluginspage="http://www.apple.com/quicktime"> </embed>
+
+</object>
+
+If the player above doesn't work, use your favorite video player to look at [rtsp://ten-streaming.mit.edu:554/2009/04/wall.sdp](rtsp://ten-streaming.mit.edu:554/2009/04/wall.sdp)
diff --git a/projects/www.mdwn b/projects/www.mdwn
new file mode 100644 (file)
index 0000000..2d8c2a7
--- /dev/null
@@ -0,0 +1,92 @@
+[[!meta title="The SIPB Website"]]
+[[!toc ]]
+
+## Design
+
+* The design is equivalent to the old design, just with the design trends of the current time (alternatively, built in the 21st century, but without sufficient design clue)
+* What do we put on the right side?
+* Rectangles and straight lines make it look angular and stark
+* The design is too generic; needs more SIPB personality, so that another website couldn't just be swapped in (Define SIPB personality)
+* Consider rebranding possibilities (e.g. making fuzzball more "internal" like octocat on github, developing new logos, etc.) (publicity opportunities)
+
+## Todo
+
+* git push (scripts-git, or gitosis on an XVM)
+* make style usable for other SIPB sites?
+* make title == alt on images
+* sipb-door widgets
+* other widgets
+* migrate sipb.mit.edu/doc
+* usability tests
+* table of contents doesn't work. Likely to do with the co-opting of h1 
+exclusively for breadcrumbs ... 
+
+### Done
+* commit zephyrs for git (ikiwiki.git)
+* breadcrumbs style
+* add a grumpy fuzzball favicon to replace the ikiwiki one.
+  * feel free to make a better one if you like ~fawkes
+* all those other things we did before putting our todo here...
+
+## How Things Work
+
+
+###When a request comes in:
+ a connection comes in for sipb.mit.edu which via a hack in MIT DNS gets directed instead to PENGUIN-LUST.MIT.EDU. If its on ports 80, (443?), or 444 it gets passed off to scripts (where it's handled by b-m or b-k, whichever).
+
+The DocumentRoot for sipb.mit.edu is `/afs/sipb.mit.edu/project/sipb-www/web_scripts/sipb`.  This directory contains a `.htaccess` file that causes most URIs to be served out of `web_scripts/sipb/_wiki`, a symlink to `../../Scripts/wiki`.  This directory's contents are static files generated by ikiwiki
+after each edit.
+
+###For development's sake:
+
+####How do I make edits?
+If you want to just edit contents, use the web interface (edit links at bottom of page) or "git clone git+ssh://sipb-www@scripts.mit.edu/mit/sipb-www/git/wiki", make your edits in the mdwn, etc.
+
+When you commit, ikiwiki should get automatically republished as HTML.
+
+To work on the code surrounding the wiki in addition to the wikitext, clone the superrepo:
+
+    $ git clone git+ssh://sipb-www@scripts.mit.edu/mit/sipb-www/git/sipb-www
+    $ cd sipb-www
+    $ git submodule update --init
+
+
+####Detailed Locker Layout
+
+    .
+    |-- Scripts
+    |   |-- wiki: the published HTML that you are being served right now
+    |   |-- wiki-cgi: CGI scripts for the wiki
+    |   \-- writable: directory containing files writable by scripts
+    |                 dotfiles such as .bash_history are symlinked here
+    |-- git
+    |   |-- sipb-www.git: the master repo; other repos are submodules
+    |   |-- wiki.git: home of the wiki content as markdown, etc
+    |   \-- ikiwiki.git: the repo for SIPB's local variation on ikiwiki
+    |-- checkout: automatically updated checkout of sipb-www.git
+    |-- arch
+    |   \-- amd64_fedora9_scripts: binaries related to publishing ikiwiki
+    |-- bin, lib, sbin: links into arch
+    |-- man: a link into arch, ikiwiki manpages. 
+    |        add sipb-www to get them into MANPATH
+    |-- share -> arch/amd64_fedora9_scripts/share
+    |   |-- ikiwiki: where some basic things are pulled from during build
+    |   |-- locale: i18n things we aren't using
+    |   `-- man: where the manpages really live
+    |-- ikiwiki: think of it as like a mix of etc and build
+    |   |-- cgitrc : configuration for cgit
+    |   |-- ikiwiki.setup: configuration for ikiwiki
+    |   `-- src: where ikiwiki checks out wiki.git for building
+    |-- src
+    |   \-- cgit: where cgit was built from (not actively changed)
+    |-- web_scripts
+    |   |-- cgit: what you look at when you click on "History"
+    |   |-- doc: the old Trac wiki
+    |   |-- radiant: old and irrelevant
+    |   |-- rtfm: contains an index.html identical to rtfm.html below
+    |   `-- sipb: the document root for sipb.mit.edu
+    |       |-- _wiki -> ../../Scripts/wiki
+    |       `-- _wiki-cgi -> ../../Scripts/wiki-cgi
+    \-- web_scripts_tmp: old directory around to keep trac up-to-date. Should
+                         vanish sooner or later
+
diff --git a/sandbox.mdwn b/sandbox.mdwn
new file mode 100644 (file)
index 0000000..b5ec5ff
--- /dev/null
@@ -0,0 +1,57 @@
+This is the SandBox, a page anyone can edit to learn how to use the wiki.
+
+hi, certs again. Hm. Whoo!
+
+This should cause a zephyr.
+
+what's my name now?
+
+test git push
+
+<?php echo "lulz" ?>
+
+<!-- comment -->
+
+----
+
+Here's a paragraph.
+
+# I'm editing a wiki!
+
+Here's another one with *emphasised* text.
+
+# Header
+
+## Subheader
+
+> This is a blockquote. Foobar
+>
+> This is the first level of quoting.
+>
+> > This is nested blockquote.
+>
+> Back to the first level.
+
+<strong>note</strong>::
+> note 1
+
+<strong>note 2</strong>::
+> note 2
+
+Numbered list 
+
+1. First item.
+   continues
+1. Another.
+1. And another..
+
+Bulleted list
+
+* *item*
+* item
+
+[[ikiwiki/WikiLink]]
+
+`code`
+
+<em>emph</em>
diff --git a/stories.mdwn b/stories.mdwn
new file mode 100644 (file)
index 0000000..82b4131
--- /dev/null
@@ -0,0 +1,5 @@
+<h2>Computer Tours and Stories</h2>
+Meet us in the SIPB office (W20-557) Wednesday September 9th and 5:45 for tours of the machine rooms and stories with Jeff Schiller.
+
+* 6:00: we will get a tour of the W9x buildings. 
+* 7:30 we will head to 4-237 for stories. 
diff --git a/style.css b/style.css
new file mode 100644 (file)
index 0000000..5281a8a
--- /dev/null
+++ b/style.css
@@ -0,0 +1,378 @@
+html{ height:100%; }
+body{
+       height:100%;
+       font-family: Tahoma, Sans, sans-serif;
+       font-size: 80%;
+       color: #333333;
+       line-height: 1.5em;
+       background: url('images/gradientbg.jpg') no-repeat center top #333333;
+       padding:0;
+       margin:0;
+}
+a{
+       text-decoration: none;
+       color:#0066CC;
+}
+a:hover{
+       text-decoration:underline;
+}
+#content-block{
+       width: 867px;
+       min-height:100%;
+       margin:0 auto;
+       background: url('images/gradient.jpg') no-repeat center top #EEEEEE; 
+}
+#content-block h1{
+       float:right;
+       color:#ffffff;
+       font-size:2em;
+       font-family: "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif;
+       font-weight: normal;
+       margin-top:-1em;
+       margin-bottom:0;
+       text-transform: uppercase;
+       padding:0;
+}
+#logo{
+       padding-left: 0px;
+       padding-top:18px;
+       }
+#logo img{
+       display: inline-block;
+       vertical-align: top;
+
+}
+img#sipb-logo{
+       padding-top:23px;
+       padding-left:23px;
+}
+a img{
+       border:none;
+}
+ul#navigation{
+       list-style: none;
+       position:absolute;
+       top:48px;
+       margin-left:423px;
+}
+ul#navigation li{
+       display:block;
+       float:left;
+       width:124px;
+       height:75px;
+       margin-left:-18px;
+}
+ul#navigation li a{
+       font-weight:bold;
+       color:#ffffff;
+       text-decoration: none;
+       text-transform: uppercase;
+       font-size:1.2em;
+       display:block;
+       width:94px;
+       height:47px;
+       padding:0;
+       margin-top:10px;
+       margin-left:10px;
+       position:relative;
+       font-family: "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif; 
+}
+ul#navigation li a:hover{
+       background: url('images/nav-white.png') 0 0 no-repeat;
+       color:#000000;
+}
+ul#navigation .first-navbox{
+       background: transparent url('images/nav-blue.png') 0 0 no-repeat;
+}
+ul#navigation .first-navbox a:hover{
+       color:#1171D2;
+}
+ul#navigation .second-navbox{
+       background: transparent url('images/nav-green.png') 0 0 no-repeat;
+}
+ul#navigation .second-navbox a:hover{
+       color:#62B200;
+}
+ul#navigation .third-navbox{
+       background: transparent url('images/nav-orange.png') 0 0 no-repeat;
+}
+ul#navigation .third-navbox a:hover{
+       color:#FE6D06;
+}
+ul#navigation .fourth-navbox{
+       background: transparent url('images/nav-yellow.png') 0 0 no-repeat;
+}
+ul#navigation .fourth-navbox a:hover{
+       color:#FFA207;
+}
+
+ul#navigation li a span{
+       position:absolute;
+       bottom:8px;
+       padding-left:8px;
+}
+#breadcrumbs{
+       min-height:1em;
+       clear:both;
+       margin:0;
+}
+#breadcrumbs ul{
+       margin:0 1em;
+       float:right;
+       padding:0;
+       list-style: none;
+}
+#breadcrumbs ul li{
+       float:left;
+       line-height:2em;
+       font-size: 1.2em;
+       font-weight: bold;
+       margin-left:0.8em;
+       color: #15447D;
+}
+#breadcrumbs ul li a{
+       color: inherit;
+       font-weight: normal;
+       margin-right:0.8em;
+}
+.first-pagetype #breadcrumbs{ background-color: #4793E4; } 
+.first-pagetype #breadcrumbs ul li { color:#15447D; }
+.second-pagetype #breadcrumbs{ background-color: #60D61E; } 
+.second-pagetype #breadcrumbs ul li { color:#263B08; }
+.third-pagetype #breadcrumbs{ background-color: #F89129; } 
+.third-pagetype #breadcrumbs ul li { color:#6F3F21; }
+.fourth-pagetype #breadcrumbs{ background-color: #FECC28; } 
+.fourth-pagetype #breadcrumbs ul li { color:#6F3F21; }
+
+#featured-block{
+        margin: 1em 3em;
+}
+#featured-block.is-top {
+       margin-top: 3em;
+}
+
+#featured-block h2{
+       font-size:1.5em;
+       font-weight: bold;
+       margin: 1em 0;
+       font-family: "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif;
+}
+#featured-block p{
+       margin: 1em 0;
+}
+#featured-block li{
+        margin: 0.5em 0;
+}
+dl.services{
+       margin:0 33px;
+       padding:0;
+       list-style: none;
+       line-height: 1.5em;
+}
+dl.services dt, dl.services dd{
+       display:inline-block;
+       width:140px;
+       vertical-align:top;
+       margin-bottom:20px;
+}
+dl.services dd{
+       width:170px;
+}
+
+.generic{
+       width: 644px !important;
+}
+
+
+#events-block{
+       width:212px;
+       float:left;
+       margin-left:37px;
+}
+#events-block h3{
+       background-color:#C3C4C9;
+       text-transform: uppercase;
+       color:#666666;
+       font-size:1.2em;
+       font-weight: normal;
+       padding-left:15px;
+       padding-top: 7px;
+       padding-bottom:5px;
+       margin:0;
+       margin-bottom:4px;
+       font-family: "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif;
+}
+#events-block h4{
+       font-size:1.2em;
+       background-color:#EEEEEE;
+       padding-left:16px;
+       padding-top:18px;
+       padding-bottom:8px;
+       margin:0;
+       font-family: Arial, Helvetica, sans-serif;
+}
+#events-block p{
+       line-height: 1.6em;
+       font-size:0.95em;
+       background-color:#EEEEEE;
+       margin:0;
+       padding-left:16px;
+       padding-right:16px;
+       padding-bottom:12px;
+}
+
+#highlights-block{
+       width:180px;
+       float:right;
+       margin-right:35px;
+       font-family: "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif;
+       font-weight: bold;
+       font-size:1.2em;
+}
+#highlights-block div{
+       margin-bottom: 8px;
+}
+.extra-large{
+       font-size:2em;
+       line-height:1em;
+}
+#highlights-block .solid-item{
+       background-color: #EEEEEE;
+       color: #666666;
+       text-transform: uppercase;
+       padding: 12px 20px;
+       font-size:.7em;
+}
+.iap{
+       background: url('images/IAP.png') 120px center no-repeat;
+}
+.cluedump{
+       background: url('images/cluedump.png') 140px center no-repeat;
+}
+.defcon{
+       color: #FFFFFF;
+       height:60px;
+}
+.defcon .status-text{
+       font-size:.8em;
+       font-weight: normal;
+}
+.defcon .status-level{
+       color: #666666;
+       background-color: #EEEEEE;
+       padding:10px 0;
+       text-align:center;
+       font-size:2.2em;
+       line-height:1em;
+       width:56px;
+       float:right;
+}
+.hackathon-note{
+       border:1px solid #EEEEEE;
+       color: #FFFFFF;
+       text-transform: uppercase;
+       
+}
+.hackathon-note span{
+       font-size:1.5em;
+       line-height: 1.5em;
+       padding:8px;
+}
+.hackathon-note .hack-date{
+       background-color: #EEEEEE;
+       color: #333333;
+       font-size: .8em;
+       padding:4px 0;
+       text-align:center;
+}
+.hackathon-note ul{
+       list-style-type: circle;
+       text-transform: none;
+       font-weight: normal;
+       font-size:.8em;
+       padding:0;
+       padding-left:25px;
+       margin:0;
+       margin-bottom:10px;
+       color: #333333;
+}
+.sipb-door{
+       background: url('images/opendoor.png') center no-repeat;
+       text-align:center;
+       padding:5px 0;
+       border:1px solid #FFFFFF;
+       color:#FFFFFF;
+       font-size: .8em;
+}
+.sipb-door span{
+       font-size: 1.4em;
+}
+
+#hidden-title{
+       display:none;
+}
+#prefooter{
+       height: 140px;
+       clear:both;
+}
+#footer{
+       font-size:.8em;
+       clear:both;
+       margin: 0 auto;
+       margin-top:-130px;
+       text-align:center;
+       color: #666666; 
+       width:867px;
+       height:130px;
+       background-color:#1F1F1F;
+       
+}
+#footer p{
+       width:800px;
+       margin:0 auto;
+       padding:1em 0;
+       line-height:1.4em;
+       text-align:left;
+}
+.actions ul{
+       list-style: none;
+       background-color:#696969;
+       padding:0;
+       margin:0;
+}
+.actions ul li{
+       display: inline;
+       padding: 0 .5em;
+       line-height:3em;
+}
+.actions ul li a{
+       text-decoration: none;
+       color: #ffffff;
+}
+.actions ul li a:hover{
+       text-decoration:underline;
+}
+
+
+.cols:after {
+content: "";
+display: block;
+height: 0;
+clear: both;
+}
+.col1 {
+position: relative;
+float: left;
+width: 50%;
+}
+.col2 {
+position: relative;
+float: right;
+align: left;
+width: 50%;
+}
+
+.right {
+float: right;
+margin-left: 2em;
+}
diff --git a/templates/cols.mdwn b/templates/cols.mdwn
new file mode 100644 (file)
index 0000000..a4991d2
--- /dev/null
@@ -0,0 +1,8 @@
+<div class="cols">
+ <div class="col1">
+<TMPL_VAR col1>
+ </div>
+ <div class="col2">
+<TMPL_VAR col2>
+ </div>
+</div>