]> sipb.mit.edu Git - wiki.git/commitdiff
add name change tool master
authorGabriel Rodríguez <rgabriel@mit.edu>
Wed, 1 May 2024 00:46:28 +0000 (20:46 -0400)
committerGabriel Rodríguez <rgabriel@mit.edu>
Wed, 1 May 2024 00:46:28 +0000 (20:46 -0400)
36 files changed:
computer_stories.mdwn
computer_tours.mdwn
doc.mdwn
doc/afs-and-you.mdwn [moved from doc/afs-and-you.html with 100% similarity]
doc/moira.mdwn
doc/root-instance.mdwn
doc/summer-reading.mdwn
doc/using-athena.mdwn [new file with mode: 0644]
doc/zephyr-quick.mdwn
documentation.mdwn
hackathons.mdwn
hackathons/HackasaurusRex.mdwn
hackathons/admiral-hackbar.mdwn
hackathons/hackleberry_finn.mdwn
hackathons/pterohacktyl.mdwn
hackathons/velocihacker.mdwn
index.mdwn
join.mdwn
lists/procedures.mdwn
members.mdwn
membership-stories.mdwn [deleted file]
names/code.js [new file with mode: 0644]
names/index.html [new file with mode: 0644]
names/loading.gif [new file with mode: 0644]
names/loading2.gif [new file with mode: 0644]
names/loading3.gif [new file with mode: 0644]
names/pacman.gif [new file with mode: 0644]
names/style.css [new file with mode: 0644]
names/webathena-login.js [new file with mode: 0644]
names/winchan.js [new file with mode: 0644]
office.mdwn
office/zephyrClasses.mdwn
projects.mdwn
projects/www.mdwn
rush.mdwn [new file with mode: 0644]
rush/afs.mdwn [new file with mode: 0644]

index 0abbd6a858f2d6100a79cc453481ff20e4b31242..0a45dc907eb17ba9c688336c2312718a75535df0 100644 (file)
@@ -1,4 +1,4 @@
-#SIPB Computer Tours and Story Time
+# SIPB Computer Tours and Story Time
 
 Ever wonder where MIT's three-headed dog, Kerberos, lives? Have
 you felt the nagging urge to bask in the madness that is Tapethulhu?
index d4dae48a34eb4ca3cb0a326c5ffa3d4a43ac0cec..df0c85d1bef1a4ca24b40a3ffbc8ec96f7733db7 100644 (file)
@@ -1,4 +1,4 @@
-#SIPB Computer Tours
+# SIPB Computer Tours
 
 SIPB runs a computer tour every September. Tour features include
 server rooms around campus and interesting labs in CSAIL.
index b363b8b4b7e55a11bdbaa887c1e289b34e99e123..93bba68a2a485f5f43274c471d0df02f87b799f6 100644 (file)
--- a/doc.mdwn
+++ b/doc.mdwn
@@ -1,5 +1,7 @@
 [[!meta title="SIPB Documentation"]]
 
+**2023 NOTE: A lot of this documentation is outdated, or now pretty obscure. We will get to you some new documentation about tech at MIT and SIPB Projects soon (TM)**
+
 SIPB offers documentation for users at MIT and elsewhere.
 
 Writing and editing this documentation is an [[ongoing project|doc/project]].  Edits and other contributions welcome.
@@ -11,9 +13,6 @@ Writing and editing this documentation is an [[ongoing project|doc/project]].  E
 * [[Using sipbmp3|doc/using-sipbmp3]] <br />
 A guide to queue music to sipbmp3, the gutenbach system SIPB uses to play music in the office.
 
-* [[SIPB Hands-on Assignments|doc/hands-on]] <br />
-Modeled on the [6.033 hands-on assignments], these guides will walk you through concepts and technologies that are core to many SIPB projects. We appreciate contributions!
-
 * [[Summer Reading|doc/summer-reading]] <br />
 Documents and books that various SIPB members recommend reading.
 
@@ -46,6 +45,9 @@ Explains keytabs and how to get one and how that lets you SSH somewhere with Ker
 * [[Root Instance|doc/root-instance]] <br />
 Explains root and extra instances in Kerberos.
 
+* [[Using Athena|doc/using-athena]] <br />
+An introductory guide to Athena and AFS, presented as a tutorial to set up a small web page. Prerequisite: knowledge of how to use the command line.
+
 * [[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 below.
 
similarity index 100%
rename from doc/afs-and-you.html
rename to doc/afs-and-you.mdwn
index cb06a89368d8f536c02e95d086e58ba6949d1aa3..5c2d1bf78d3c88ce10d55bbd565effa4458f3d78 100644 (file)
@@ -4,7 +4,7 @@ Mailing lists at MIT come in two varieties --- Moira and Mailman. Moira lists do
 
 Mailman lists can be administered through the [Mailman web interface](https://mailman.mit.edu/mailman/listinfo/).
 
-For people uncomfortable with the command line, the standard tool for Moira list management is [Webmoira](https://groups.mit.edu/webmoira/). It's reasonably straightforward and has decent built-in help. It doesn't support membership ACLs, though (which allow giving somebody permission to modify a list's membership but nothing else about it).
+For people uncomfortable with the command line, the standard tool for Moira list management is [WebMoira](https://groups.mit.edu/webmoira/). It's reasonably straightforward and has decent built-in help. It doesn't support membership ACLs, though (which allow giving somebody permission to modify a list's membership but nothing else about it).
 
 At the command line, the usual list management tool is `blanche`. Use `blanche listname` to view the members of `listname`, or `blanche listname -i` to see the owner, description, and various other pieces of useful information. Use `man blanche` to see additional documentation.
 
index bb09ffe16636ea0da0da5830250b8bda805a85f7..4017f140a004f780e5a717b4d06891ca590b7efd 100644 (file)
@@ -105,6 +105,8 @@ 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.
 
+**2024 update: You can just email the service desk. They will ask you to send a picture of a photo ID to verify it's you. I went in person and all they did was open a ticket.**
+
 ## Upgrading cryptographic strength
 
 You should change your root instance’s password with a command like this, to upgrade your key from critically weak DES encryption algorithm to strong AES encryption:
index 902a23c330dc60fdf17458eb2f9ba8a185acca0b..56fcef8e1d6f83ce6a028da0e48c52bf6e04b5b5 100644 (file)
@@ -22,7 +22,8 @@ Additions are quite welcome.
 
 ## Books online
 
- * Abelson and Sussman, [Structure and Interpretation of Computer Programs](https://mitpress.mit.edu/sicp/full-text/book/book.html): the classic textbook for the famous 6.001
+ * Steven Levy, [Hackers, Heroes of the Compuer Revolution](http://www.gutenberg.org/ebooks/729): chapter 1 tells the story of the birth of hacking at MIT in the 1950s
+ * Abelson and Sussman, [Structure and Interpretation of Computer Programs](https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/index.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.
diff --git a/doc/using-athena.mdwn b/doc/using-athena.mdwn
new file mode 100644 (file)
index 0000000..f059a1a
--- /dev/null
@@ -0,0 +1,129 @@
+# Using Athena
+
+**Intended Purpose:**
+
+* This article will help you answer the question “how can I have a website with an MIT domain”?
+* The website you’re making is static (otherwise [scripts](scripts.mit.edu) might be a better option!) 
+* To be below the level of [afs-and-you](https://sipb.mit.edu/doc/afs-and-you/)
+
+**Prerequisites:**
+
+* Familiarity with using a terminal (experimented with basic commands like `cd`, `ls`, `mkdir`, etc.)
+
+
+## Connecting to Athena
+
+SSH (Secure Shell) allows a computer to remotely login into another computer/server while making use of adequate security features. Thankfully, most operating systems have an SSH program already built in and no additional installs are needed on your machine. You can SSH into Athena by following these steps.
+
+
+**Note:** If your computer does not have `ssh`, you could also use shellinabox, an online terminal for using Athena that can be found [here](https://athena.dialup.mit.edu/.) Though, it’s not ideal as it will log you off if you’re idle for a few minutes (which is probably not what you want when you’re following a guide like this).
+
+
+First, open your OS’s respective terminal. Then enter
+
+```
+ssh [kerberos]@athena.dialup.mit.edu
+```
+
+
+but replacing `[kerberos]` with your kerberos/Athena username. So, for example, if your username is `aphacker`, you would type into the terminal `ssh aphacker@athena.dialup.mit.edu`.
+
+If successful, ssh will tell you (on your _first_ connection):
+
+```
+Host key not found from the list of known hosts.  
+Are you sure you want to continue connecting (yes/no)?
+```
+
+Type `yes', and now it will respond:
+
+ ```
+Host 'athena.dialup.mit.edu' added to the list of known hosts.  
+aphacker's password:
+```
+
+Type your password and press Enter. Note, you will not see any characters appear as you type your password; this is a security feature.
+
+Now you’ll be prompted to complete two-factor authentication via Duo.  
+
+```
+Enter a passcode or select one of the following options:  
+ 1. Duo Push to XXX-XXX-1234  
+ 2. Phone call to XXX-XXX-1234  
+ 3. SMS passcodes to XXX-XXX-1234  
+Passcode or option (1-3):
+```
+
+Type an option number and press Enter. Complete your two-factor authentication. With luck, the terminal will print a series of startup text, finally ending with a line that reads
+
+```
+aphacker@scrubbing-bubbles:~$
+```
+
+You have now been dropped into Athena! Like the terminal on your computer, you can type commands and they will execute. For example, you can type `pwd` and see
+
+```
+aphacker@scrubbing-bubbles:~$ pwd  
+/afs/athena.mit.edu/user/a/p/aphacker
+```
+
+## Serving a website from AFS
+
+Now that you’re in Athena, you can access the files in MIT’S AFS. Right now, you are in your home directory for MIT’s AFS. There are several subdirectories in your home directory, but the important one to focus on right now is `~/www`.
+
+Files in your `~/www` directory are available on the internet through a URL, specifically via the form factor of `https://web.mit.edu/aphacker/www/`. If you go to that URL right now though, you won’t see anything (besides an error). We can change that by populating that directory with the content that makes up a small web page.
+
+First, `cd` into the `www` directory.
+
+```
+aphacker@scrubbing-bubbles:~$ cd www  
+aphacker@scrubbing-bubbles:~/www$
+```
+
+Then, run the following command to make a file named `index.html` with a simple HTML5 template like so
+
+```
+aphacker@scrubbing-bubbles:~/www$ echo '<!DOCTYPE html><title>Hello World!</title>' > index.html
+```
+
+If you now visit your URL at `https://web.mit.edu/aphacker/www/`, you will see the web page you made! It’s a blank page with the title “Hello World!”. Note, this change is sometimes not immediate and will take a few minutes, but never hours.
+
+You can edit the webpage you just made by running a text editor like [nano or Vim](https://xkcd.com/378/).
+
+```
+aphacker@scrubbing-bubbles:~/www$ nano index.html
+```
+
+This should bring up a screen with the current contents of `index.html`, which you can now edit. You can read more about how to use nano elsewhere, and edit your file as you wish.
+
+## Using SCP
+
+If you feel unready to strictly edit files via the remote shell, using a package called SCP (Secure Copy), which is bundled with SSH, might be of interest. It allows you to copy files from your computer to AFS and vice-versa.
+
+To copy a file from your computer to AFS, open your terminal and enter a command like
+
+```
+scp file.txt aphacker@athena.dialup.mit.edu:~
+```
+
+This will copy a file called `file.txt` to your home directory in AFS. You’ll have to do two-factor authentication with Duo, similar to SSH.
+
+You can read SCP’s man page (on the terminal via `man scp` or online at [man7](https://man7.org/linux/man-pages/man1/scp.1.html)) or other reference sheets (like [tldr-pages](https://tldr.ostera.io/scp) for more information about how to use SCP.
+
+## What next?
+
+### Additional readings
+
+For more information about what AFS is, visit:
+
+* [AFS at MIT - An Introduction](http://kb.mit.edu/confluence/display/istcontrib/AFS+at+MIT+-+An+Introduction)
+* [AFS and You](https://sipb.mit.edu/doc/afs-and-you/)
+* [AFS Locker Maintenance Guide](http://kb.mit.edu/confluence/display/istcontrib/AFS+Locker+Maintenance+Guide)
+
+### Tips/tricks
+
+To use Visual Studio Code (VSC) to interact with Athena, follow these steps:
+
+1. In your machine’s VSC, install the [“official” ssh extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh)
+2. SSH into Athena and use your text editor to edit into `~\.bashrc`. Then, append this command at the end of the file (in a new line): `find ~/.vscode-server/ -name 'vscode-remote-lock.{kerberos}.*' -delete`. Here, you replace `{kerberos}` with your kerberos.
+3. Follow the extension’s steps for establishing a SSH connection.
index 5688eb6f8651e73d411ce67e4c3af3f703148cad..76864033a9abbc034e78da8b75ca96d365157ed9 100644 (file)
@@ -1,6 +1,6 @@
 [[!meta title="Zephyr for the Impatient"]]
 
-##Zephyr for the Impatient
+## Zephyr for the Impatient
 
 This is a short and efficient guide for quickly getting on Zephyr. It'll explain everything you need to know to start zephyring as quickly, and reliably, as possible. Zephyr is a fairly old piece of technology, so it can be a little intimidating at first.
 
index 55a1db8b1462f4af007c4f5bdaa4bbc4732c6ba8..9b6059700d272861d4525c83c4aa577dfc64159b 100644 (file)
@@ -1,3 +1,3 @@
-[[!meta title="SIPB Documentation"]]
+[[!meta redir=doc]]
 
 Probably you want [[our documentation page|doc]].
index edfc0b3eb62b1dc454f9a37c7cf9ae8aa4cb65bf..feaed388727368a76b7b244d9518a2d17e112fb0 100644 (file)
@@ -1,8 +1,8 @@
-#SIPB Hackathons
+# SIPB Hackathons
 
 ![[hackathon|photos/hackathon-2.240.jpg]]
 
-We hold a hackathon about one Saturday or Sunday a month in the SIPB
+We hold a hackathon about one Friday 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.  A recent hackathon, [[Hackasaurus Rex|hackathons/HackasaurusRex]], drew over 50 people to the office and spawned several exciting new projects.  In the past, we have had hackathons such as our [[Bug Squashathon|projects/lenny-bugs]], which was dedicated to
 squashing release-critical bugs in Debian.  Sometimes we run also run
index 47a3f77bc843ae4854313561d35be4553ec2394b..2428480cca762b6d7c9165b9cb5c7a0c60041336 100644 (file)
@@ -2,13 +2,13 @@
 # Welcome to Hackasaurus Rex, king of the hackathons!
 
 <div class="rex right">
-[[hackasaurusTop.png]]
+<img src="hackasaurusTop.png">
 </div>
 <div class="rex right">
-[[hackasaurusMid.png]]
+<img src="hackasaurusMid.png">
 </div>
 <div class="rex right">
-[[hackasaurusBot.png]]
+<img src="hackasaurusBot.png">
 </div>
 
 A [[hackathon|hackathons]] is one of SIPB's time-honored traditions, where people gather in the office and hack on awesome projects.  Hackasaurus will be running on March 20th from 1pm until arbitrarily late.  Feel free to [contact](#contact) us at any time, for pretty much any [reason](#reason).
index d71fcb3aa043cf7ded5c31a57b3f4dadfa004d3b..3db530abbf16060d7f12a0a7a0e33a2100140cd2 100644 (file)
@@ -5,7 +5,7 @@
 [[admiral-hackbar.png]]
 </div>
 
-##[[Projects Currently Being Worked On|admiral-hackbar/projects]]
+## [[Projects Currently Being Worked On|admiral-hackbar/projects]]
 
 A [[hackathon|hackathons]] is one of SIPB's time-honored traditions, where people gather in the office and hack on awesome projects.  Admiral Hackbar will be running on September 11th from 1pm until about 11PM.  Feel free to [contact](#contact) us at any time, for pretty much any [reason](#reason).
 
index 5e1e27372e1a9eb6cc8d918aff718578f6553329..4af31917be6637eb0ad70fc21297c7891948dcdf 100644 (file)
@@ -1,7 +1,7 @@
 [[!meta title="Hackleberry Finn"]]
 # Welcome to Hackleberry Finn!
 
-##[[Projects Currently Being Worked On|hackathons/velocihacker/projects]]
+## [[Projects Currently Being Worked On|hackathons/velocihacker/projects]]
 
 A [[hackathon|hackathons]] is one of SIPB's time-honored traditions, where people gather in the office and hack on awesome projects.  Hackleberry Finn will be running on Saturday June 11th from 1pm PST on into the night.  Feel free to [contact](#contact) us at any time, for pretty much any [reason](#reason).
 
index 1ec11f3419906c74020c900cd115483ee6ea4c88..5a0b71eaba74267f2274db53d6561060b6fabf1f 100644 (file)
@@ -8,7 +8,7 @@
 <small>by https://www.blogger.com/profile/14768818577459237097</small>
 </div>
 
-##[[Projects Currently Being Worked On|hackathons/pterohacktyl/projects]]
+## [[Projects Currently Being Worked On|hackathons/pterohacktyl/projects]]
 
 A [[hackathon|hackathons]] is one of SIPB's time-honored traditions, where people gather in the office and hack on awesome projects.  Pterohacktyl will be running on June 26th from 1pm until about 11PM.  Feel free to [contact](#contact) us at any time, for pretty much any [reason](#reason).
 
index 008b0ebc45d04445f6ac8f417a2163778e469836..1ffdbca530b0b533550e1df9a2599decb92d5b55 100644 (file)
@@ -8,7 +8,7 @@
 <small>by xkcd</small>
 </div>
 
-##[[Projects Currently Being Worked On|hackathons/velocihacker/projects]]
+## [[Projects Currently Being Worked On|hackathons/velocihacker/projects]]
 
 A [[hackathon|hackathons]] is one of SIPB's time-honored traditions, where people gather in the office and hack on awesome projects.  Velocihacker will be running on April 24th from 1pm until about 11PM.  Feel free to [contact](#contact) us at any time, for pretty much any [reason](#reason).
 
index 67eecf32add062d900e5a986630d642cd53e094f..18e34a48ed97a1d7b3f1697bfa49bf168b3af2ee 100644 (file)
@@ -1,18 +1,15 @@
 [[!meta title="MIT Student Information Processing Board"]]
 
+<!-- The website root is at /afs/sipb/project/sipb-www/. -->
+
 <a href="http://sipb-door.mit.edu">
-   <img class="right" src="//sipb-door.scripts.mit.edu/widget-3d/door.sh" /></a>
+    <img class="right" src="//sipb-door.scripts.mit.edu/widget-3d/door.sh" /></a>
+
+## About us
 
-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]].
-We have [meetings](https://stuff.mit.edu/afs/sipb/admin/minutes/) every Monday at 19:30 (now on zoom!).
-You can find out what's abuzz in the SIPB community at [Planet SIPB](https://sipb.mit.edu/planet).  We host a number of events, which are enumerated on our [[calendar]].
+We are MIT's volunteer student computing group, improving computing at MIT [[since 1969|history]].  Today, [SIPB projects](https://sipb-projectdb.scripts.mit.edu/projectlist.py) provide innovative services and special expertise to the MIT community.  We have [[an office|office]] just outside the Athena cluster in the [student center W20](https://whereis.mit.edu/?go=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]].  We have [meetings](https://stuff.mit.edu/afs/sipb/admin/minutes/) every Monday at 19:30 (now also on Zoom!).  You can find out what's abuzz in the SIPB community at [Planet SIPB](https://sipb.mit.edu/planet).  We host a number of events, which are enumerated on our [[calendar]].
 
-**If you want to get involved with SIPB / be part of the discussion please [join Mattermost](https://mattermost.xvm.mit.edu/signup_user_complete/?id=pnfpw5qkpjnxxrq319ynh94eke).**
+If you want to [get involved with SIPB](https://sipb.mit.edu/join/) / be part of the discussion, please [join the Mattermost](https://mattermost.xvm.mit.edu/signup_user_complete/?id=pnfpw5qkpjnxxrq319ynh94eke).
 
 ## SIPB Projects and Services
 What does SIPB do for you?
@@ -23,14 +20,18 @@ Get your own blog or wiki, or run any web app!  The SIPB scripts server runs CGI
 Your own virtual server.  Reliable, easy, and flexible. ([Launchpad](https://launchpad.net/invirt), [Launchpad](https://launchpad.net/xvm), [Trac](https://xvm.scripts.mit.edu/))
 * [debathena.mit.edu](https://debathena.mit.edu/)<br/>
 Bringing MIT's Athena environment to Debian and Ubuntu, first for our laptops, and then back to the clusters. ([Trac](https://debathena.mit.edu/trac/))
+* [Hydrant](https://hydrant.mit.edu/) <br/>
+Class planner for MIT students.
 * [[Your project here!|join]]
 """ col2="""
-* [linerva.mit.edu](http://linerva.mit.edu/)<br/>
-Linerva has been retired, effective 2014-01-29. Please connect to IS&T's athena.dialup.mit.edu (available via ssh or [web](https://athena.dialup.mit.edu/)).
 * [[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.
+* [Interstellar](https://sipb-projectdb.scripts.mit.edu/projectlist.py) <br/>
+Students simply list (or upload a courseroad for) the classes they are registering for to discover other students in those classes.
+* [dormdigest](https://sipb-projectdb.scripts.mit.edu/projectlist.py) <br/>
+Eats [dormspam](https://how-to-dormspam.mit.edu/) emails and aggregates them into a single calendar for students. (in progress)
 * [[...and many more|projects]]
 """]]
 
@@ -47,15 +48,19 @@ Every year, SIPB hosts a number of computer-related technical talks on a variety
 Teach or learn.  Knowledge is power.
 * [[SIPB Computer Tours and Stories|computer_stories]]<br />
 At the beginning of each school year, SIPB offers tours of the MIT computing infrastructure, including Athena server rooms, interesting labs. Stay after the tour to hear interesting computer stories about MIT.
-* [[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, start your own, or learn about more potential projects by coming to a meeting.  Learn more about [[getting_involved|join]].
+SIPB is always open to new contributors. You can join one of the projects above, start your own, or learn about more potential projects by coming to a meeting.
+
+If you want to join, be sure to:
+<ol>
+<li>Join <a href="https://mattermost.xvm.mit.edu/signup_user_complete/?id=pnfpw5qkpjnxxrq319ynh94eke">Mattermost</a> to chat with other SIPB members</li>
+<li>Swing by the weekly meetings Mondays 19:30-20:00 at the [[SIPB office|office]]
+<li>Attend a [[SIPB event or project meeting|calendar]]</li>
+<li>Check out the <a href="https://sipb-projectdb.scripts.mit.edu/projectlist.py">projects</a>! You can join an existing project or start your own!</li>
+</ol>
 
 ## 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.
-
-We are currently performing an experiment to see how much viral spam we can receive. So, if you're a web crawler, please enjoy sending us mail at [bill@boredsippy.com](mailto:bill@boredsippy.com). Do NOT send any mail to this address if you do not want us to consider you a spammer.
index 334e00e5ccb8f6f7a48136a42ab8db4f7e864a8e..302587388386ed522c362f4a21a91186268ac400 100644 (file)
--- a/join.mdwn
+++ b/join.mdwn
@@ -2,8 +2,12 @@
 
 ## Becoming a Member
 
-If you are interested in contributing to SIPB's computing services and in
-helping users with unusual computing questions, consider becoming a member!
+If you are interested in any of our projects, starting a project with us, or simply hanging out and getting to know a bit more about computers, you can become a member by attending one of our meetings on Mondays at 7:25 pm MIT time. You just need to tell us your kerb and we will memberize you.
+
+## Becoming a keyholder
+
+If you are an actively involved member, we will trust you with the key to the office!
+
 [[Keyholding status|members]] in SIPB is granted to a member after becoming **socially
 integrated** and "**Furthering the Goals of SIPB**" for a sustained period.
 
@@ -84,7 +88,7 @@ projects, homework, or anything else by providing an array of amenities:
 * Music: ours (CDs or [LAMP](https://lamp.mit.edu/)) or yours (via a certain [["printer"|doc/using-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
+* Soda and snacks for late-night sessions, cheaper, closer, and more existent than Verde's
 
 ## Questions?
 
index 156494df713a5f0857e9f3a97913cd58f8ceeb75..d2b2b6e41ff139a72bd8033435a76bdb7c512250 100644 (file)
@@ -10,8 +10,16 @@ List descriptions
  * _sipb-machine-room-access_: Reflects who has card access to SMR. Maintained by the Vice-Chair. Generally, email before granting card access to give people a chance to object before you do so.
  * _sipb-ec_: reflects the current members of the EC, plus [an archive visible to all SIPB members](https://diswww.mit.edu/charon/sipb-ec/). 
  * _sipb-ec-people_: Is a non-archived version of _sipb-ec_ that is solely for emergencies and for use by the EC for discussing sensitive issues.
+ * _sipb-members_: sipb keyholders.
+ * _sipb-staff_: sipb keyholders who are "actively involved in day-to-day operations".
+ * _sipb-private_: sipb keyholders, unarchived list.
+ * _gsipb_: sipb keyholders with athena accounts.
+ * _sipb-prospectives_: list of non-keyholder sipb members.
+ * _sipb-office_: The general sipb list. Most sipb business is mailed here. Is the union of sipb-prospectives and sipb-staff.
+ * _sipb-minutes_: where the minutes taken at each meeting get sent. People get added here directly by the memberization script.
  * _sipb-discussion_: general discussion list. Generally little-used, but a decent place to move contentious discussions to from sipb-office if they continue for a long time. Members should feel free to add themselves. Prospectives should ask a member to be added.
 
+
 When to use list permissions
 ----------------------------
 
index 22c9ff390a8311b074b848a597b74496dc980d2c..0b4dc8ae377399c2bb17fe89c4c745e0cddb361e 100644 (file)
@@ -8,40 +8,33 @@ membership are non-students (alumni, etc).
 
 ## Executive Committee
 
-* **Chair**: Billy Moses
-* **Vice Chair**: Georgia Shay
-* **Treasurer**: Ben Steffen
-* **Secretary**: Miriam Rittenberg
-* Cel Skeggs
-* Emma Batson
-* Josh Noguera
-* Nathan Foss
-* Rihn Hong
+* **Chair**: Inna Voloshchuk
+* **Vice Chair**: Pratyush Venkatakrishnan
+* **Treasurer**: Gabriel Rodriguez Castillo
+* **Secretary**: alwinfy
+* Andres Abreu
+* Arthur Migdal
+* Arjun Barrett
+* Nathaniel Morgan
+* Luis Turino
 
 ## Student Keyholders
 
+* aabreu, Andres Abreu
 * [aathalye](https://www.anishathalye.com/), Anish Athalye
-* aleksejs, Aleksejs Popovs
-* alvareza, Angel Alvarez
-* bds, Ben Steffen
-* cela, Cel Skeggs
-* cvorbach, Charlie Vorbach
-* [dove](http://dove.mit.edu/), Justin Dove
+* alwinfy, A. Y.
+* amigdal, Arthur Migdal
+* arjunjb, Arjun Barrett
+* colclark, Colin Clark
 * emmabat, Emma Batson
-* [gshay](https://georgia.shay.net), Georgia Shay
-* jgross, Jason Gross
-* jnoguera, Josh Noguera
-* mau, Mauri Diaz
-* maximo, Maximo Machado
-* mrittenb, Miriam Rittenberg
-* mtheng, Mark Theng
-* mwnguyen, Alice Nguyen
-* nchinda2, Nchinda^2
-* npfoss, Nate Foss
-* pgriggs, Peter Griggs
-* rihn, Rihn Hong
-* robertch, Robert Henning
-* rsthomp, cAPSLOCK Thompson
-* [wmoses](https://wsmoses.com/), Billy Moses
-* [yczeng](https://czeng.org/), Catherine Zeng
-* [zackpi](https://zackpi.com), Zachary Pitcher
+* huydai, Huy Dai
+* innaavo, Inna Voloshchuk
+* javsolis, Javier Solis
+* jmvidal, Justice Vidal
+* nmorgan, Nathaniel Morgan
+* [psvenk](https://www.psvenk.com/), Pratyush Venkatakrishnan
+* rgabriel, Gabriel Rodriguez Castillo
+* ryang2, Ryan Yang
+* shreyach, Shreya Chaudhary
+* turino14, Luis Turino
+* xy, Anthony Wang
diff --git a/membership-stories.mdwn b/membership-stories.mdwn
deleted file mode 100644 (file)
index 16ebd55..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-[[!meta title="Membership Stories"]]
-
-## Membership Stories
-
-How various members became members.  When they first set foot in the office, how they got to meet more people, when they were membered, and other interesting anecdotes.
-
diff --git a/names/code.js b/names/code.js
new file mode 100644 (file)
index 0000000..fd9cb67
--- /dev/null
@@ -0,0 +1,75 @@
+// Force HTTPS - agnostic of which htaccess to use
+// https://stackoverflow.com/questions/4723213/detect-http-or-https-then-force-https-in-javascript
+if (location.protocol !== 'https:') {
+    location.replace(`https:${location.href.substring(location.protocol.length)}`);
+}
+
+// Temporary host: the non-production VM inside matrix.mit.edu
+const API_HOST = "https://uplink.mit.edu";
+
+document.getElementById("fingerToFull").addEventListener("click", function (ev) {
+    document.getElementById("fingerName").value = moira_user_info.full_name;
+});
+
+async function loadUserInfo() {
+    const response = await fetch(API_HOST + "/users/me/", {
+        headers: {
+            "Authorization": "webathena " + webathena_base64,
+        }
+    });
+    const json = await response.json();
+    console.log(json);
+    document.getElementById("displayName").innerText = json.full_name;
+
+    // Set global variable
+    moira_user_info = json;
+}
+
+async function loadFinger() {
+    const response = await fetch(API_HOST + "/users/me/finger", {
+        headers: {
+            "Authorization": "webathena " + webathena_base64,
+        }
+    });
+    const json = await response.json();
+    document.getElementById("fingerName").value = json.fullname;
+    console.log(json);
+
+    // Set global variable
+    moira_finger = json;
+}
+
+async function onLogin() {
+    document.getElementById("login").hidden = true;
+    await loadUserInfo();
+    await loadFinger();
+    document.getElementById("loading").hidden = true;
+    document.getElementById("names").hidden = false;
+}
+
+document.getElementById("apply").addEventListener("click", async function (ev) {
+    document.getElementById("applied").hidden = true;
+    document.getElementById("loading").hidden = false;
+    document.getElementById("names").hidden = true;
+    const input = {
+        fullname: document.getElementById("fingerName").value,
+    };
+    const response = await fetch(API_HOST + "/users/me/finger", {
+        method: "PATCH",
+        headers: {
+            "Authorization": "webathena " + webathena_base64,
+            "Content-Type": "application/json",
+        },
+        body: JSON.stringify(input),
+    });
+    console.log(response);
+    if (response.status === 200) {
+        await onLogin();
+        document.getElementById("applied").hidden = false;
+    } else {
+        const json = await(response.json());
+        console.log(json);
+        document.getElementById("loading").hidden = false;
+        alert(`An error occured: ${json.name}`);
+    }
+});
\ No newline at end of file
diff --git a/names/index.html b/names/index.html
new file mode 100644 (file)
index 0000000..ed7417c
--- /dev/null
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Names</title>
+    <!-- From simplecss.org -->
+    <link rel="stylesheet" href="https://cdn.simplecss.org/simple.min.css">
+  </head>
+  <body>
+    <h3>Finger/Hesiod name change</h3>
+    <p>
+      
+      <details>
+        <summary>
+        What is this? (click for more info)
+        </summary>
+
+        <ul>
+          <li>The "finger" name is used as the <code>/etc/passwd</code> entry for Athena. You don't need to know what this is, but if you ever log into one of the few remaining Athena workstations, that is the name it will use to identify you.</li>
+          <li>Some old software may use this to display your name.</li>
+          <li>This name is also publicly available via some <strong>public</strong> but little-known DNS entries.</li>
+        </ul>
+        
+      </details>
+    </p>
+    <div id="login">
+      <p>
+        <button id="login">Login with Webathena</button>
+      </p>
+    </div>
+    <div id="loading" hidden="true">
+      <!-- From loading.io -->
+      <img src="pacman.gif">
+    </div>
+    <div id="applied" hidden="true">
+      <p><em>Changes have been applied!</em></p>
+    </div>
+    <div id="names" hidden="true">
+      <p>Your full name is <strong id="displayName"></strong> (to update go to <a href="https://student.mit.edu/cgi-docs/sfprwups.html">WebSIS</a>)</p>
+      <p>Your finger name is <input type="text" id="fingerName" name="fingerName"> <a href="javascript:void(0)" id="fingerToFull">Change to full name</a></a></p>
+      <button id="apply">Apply changes</button>
+    </div>
+    <script src="winchan.js"></script>
+    <script src="code.js"></script>
+    <script src="webathena-login.js"></script>
+  </body>
+</html>
diff --git a/names/loading.gif b/names/loading.gif
new file mode 100644 (file)
index 0000000..c2146b7
Binary files /dev/null and b/names/loading.gif differ
diff --git a/names/loading2.gif b/names/loading2.gif
new file mode 100644 (file)
index 0000000..4219c4f
Binary files /dev/null and b/names/loading2.gif differ
diff --git a/names/loading3.gif b/names/loading3.gif
new file mode 100644 (file)
index 0000000..a0f01dd
Binary files /dev/null and b/names/loading3.gif differ
diff --git a/names/pacman.gif b/names/pacman.gif
new file mode 100644 (file)
index 0000000..0e24b23
Binary files /dev/null and b/names/pacman.gif differ
diff --git a/names/style.css b/names/style.css
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/names/webathena-login.js b/names/webathena-login.js
new file mode 100644 (file)
index 0000000..ece05ab
--- /dev/null
@@ -0,0 +1,40 @@
+(function () {
+    var WEBATHENA_HOST = "https://webathena.mit.edu";
+    var REALM = "ATHENA.MIT.EDU";
+       var PRINCIPAL = ["moira", "moira7.mit.edu"];
+
+    var button = document.getElementById("login");
+    button.addEventListener("click", function (ev) {
+               document.getElementById("loading").hidden = false;
+
+               WinChan.open({
+                       url: WEBATHENA_HOST + "/#!request_ticket_v1",
+                       relay_url: WEBATHENA_HOST + "/relay.html",
+                       params: {
+                               realm: REALM,
+                               principal: PRINCIPAL,
+                       }
+               },
+               function (err, r) {
+                       if (err) {
+                                       console.log(err);
+                                       window.alert(err);
+                                       return;
+                       }
+                               if (r.status !== "OK") {
+                                       console.log(r);
+                                       if (r.code == "BAD_ORIGIN") {
+                                               window.alert("Please use HTTPS to connect to this URL");
+                                       }
+                                       return;
+                               }
+                               console.log(r);
+                               var session = JSON.stringify(r.session);
+
+                               // Store the encoded ticket as a global variable
+                               webathena_base64 = btoa(session);
+
+                               onLogin();
+                       });
+       });
+})();
diff --git a/names/winchan.js b/names/winchan.js
new file mode 100644 (file)
index 0000000..5d66bcc
--- /dev/null
@@ -0,0 +1,271 @@
+;WinChan = (function() {
+  var RELAY_FRAME_NAME = "__winchan_relay_frame";
+  var CLOSE_CMD = "die";
+
+  // a portable addListener implementation
+  function addListener(w, event, cb) {
+    if(w.attachEvent) w.attachEvent('on' + event, cb);
+    else if (w.addEventListener) w.addEventListener(event, cb, false);
+  }
+
+  // a portable removeListener implementation
+  function removeListener(w, event, cb) {
+    if(w.detachEvent) w.detachEvent('on' + event, cb);
+    else if (w.removeEventListener) w.removeEventListener(event, cb, false);
+  }
+
+  // checking for IE8 or above
+  function isInternetExplorer() {
+    var rv = -1; // Return value assumes failure.
+    if (navigator.appName === 'Microsoft Internet Explorer') {
+      var ua = navigator.userAgent;
+      var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
+      if (re.exec(ua) != null)
+        rv = parseFloat(RegExp.$1);
+    }
+    return rv >= 8;
+  }
+
+  // checking Mobile Firefox (Fennec)
+  function isFennec() {
+    try {
+      // We must check for both XUL and Java versions of Fennec.  Both have
+      // distinct UA strings.
+      var userAgent = navigator.userAgent;
+      return (userAgent.indexOf('Fennec/') != -1) ||  // XUL
+             (userAgent.indexOf('Firefox/') != -1 && userAgent.indexOf('Android') != -1);   // Java
+    } catch(e) {};
+    return false;
+  }
+
+  // feature checking to see if this platform is supported at all
+  function isSupported() {
+    return (window.JSON && window.JSON.stringify &&
+            window.JSON.parse && window.postMessage);
+  }
+
+  // given a URL, extract the origin
+  function extractOrigin(url) {
+    if (!/^https?:\/\//.test(url)) url = window.location.href;
+    var m = /^(https?:\/\/[\-_a-zA-Z\.0-9:]+)/.exec(url);
+    if (m) return m[1];
+    return url;
+  }
+
+  // find the relay iframe in the opener
+  function findRelay() {
+    var loc = window.location;
+    var frames = window.opener.frames;
+    var origin = loc.protocol + '//' + loc.host;
+    for (var i = frames.length - 1; i >= 0; i--) {
+      try {
+        if (frames[i].location.href.indexOf(origin) === 0 &&
+            frames[i].name === RELAY_FRAME_NAME)
+        {
+          return frames[i];
+        }
+      } catch(e) { }
+    }
+    return;
+  }
+
+  var isIE = isInternetExplorer();
+
+  if (isSupported()) {
+    /*  General flow:
+     *                  0. user clicks
+     *  (IE SPECIFIC)   1. caller adds relay iframe (served from trusted domain) to DOM
+     *                  2. caller opens window (with content from trusted domain)
+     *                  3. window on opening adds a listener to 'message'
+     *  (IE SPECIFIC)   4. window on opening finds iframe
+     *                  5. window checks if iframe is "loaded" - has a 'doPost' function yet
+     *  (IE SPECIFIC5)  5a. if iframe.doPost exists, window uses it to send ready event to caller
+     *  (IE SPECIFIC5)  5b. if iframe.doPost doesn't exist, window waits for frame ready
+     *  (IE SPECIFIC5)  5bi. once ready, window calls iframe.doPost to send ready event
+     *                  6. caller upon reciept of 'ready', sends args
+     */
+    return {
+      open: function(opts, cb) {
+        if (!cb) throw "missing required callback argument";
+
+        // test required options
+        var err;
+        if (!opts.url) err = "missing required 'url' parameter";
+        if (!opts.relay_url) err = "missing required 'relay_url' parameter";
+        if (err) setTimeout(function() { cb(err); }, 0);
+
+        // supply default options
+        if (!opts.window_name) opts.window_name = null;
+        if (!opts.window_features || isFennec()) opts.window_features = undefined;
+
+        // opts.params may be undefined
+
+        var iframe;
+
+        // sanity check, are url and relay_url the same origin?
+        var origin = extractOrigin(opts.url);
+        if (origin !== extractOrigin(opts.relay_url)) {
+          return setTimeout(function() {
+            cb('invalid arguments: origin of url and relay_url must match');
+          }, 0);
+        }
+
+        var messageTarget;
+
+        if (isIE) {
+          // first we need to add a "relay" iframe to the document that's served
+          // from the target domain.  We can postmessage into a iframe, but not a
+          // window
+          iframe = document.createElement("iframe");
+          // iframe.setAttribute('name', framename);
+          iframe.setAttribute('src', opts.relay_url);
+          iframe.style.display = "none";
+          iframe.setAttribute('name', RELAY_FRAME_NAME);
+          document.body.appendChild(iframe);
+          messageTarget = iframe.contentWindow;
+        }
+
+        var w = window.open(opts.url, opts.window_name, opts.window_features);
+
+        if (!messageTarget) messageTarget = w;
+
+        var req = JSON.stringify({a: 'request', d: opts.params});
+
+        // cleanup on unload
+        function cleanup() {
+          if (iframe) document.body.removeChild(iframe);
+          iframe = undefined;
+          if (w) {
+            try {
+              w.close();
+            } catch (securityViolation) {
+              // This happens in Opera 12 sometimes
+              // see https://github.com/mozilla/browserid/issues/1844
+              messageTarget.postMessage(CLOSE_CMD, origin);
+            }
+          }
+          w = messageTarget = undefined;
+        }
+
+        addListener(window, 'unload', cleanup);
+
+        function onMessage(e) {
+          try {
+            var d = JSON.parse(e.data);
+            if (d.a === 'ready') messageTarget.postMessage(req, origin);
+            else if (d.a === 'error') {
+              if (cb) {
+                cb(d.d);
+                cb = null;
+              }
+            } else if (d.a === 'response') {
+              removeListener(window, 'message', onMessage);
+              removeListener(window, 'unload', cleanup);
+              cleanup();
+              if (cb) {
+                cb(null, d.d);
+                cb = null;
+              }
+            }
+          } catch(err) { }
+        }
+
+        addListener(window, 'message', onMessage);
+
+        return {
+          close: cleanup,
+          focus: function() {
+            if (w) {
+              try {
+                w.focus();
+              } catch (e) {
+                // IE7 blows up here, do nothing
+              }
+            }
+          }
+        };
+      },
+      onOpen: function(cb) {
+        var o = "*";
+        var msgTarget = isIE ? findRelay() : window.opener;
+        if (!msgTarget) throw "can't find relay frame";
+        function doPost(msg) {
+          msg = JSON.stringify(msg);
+          if (isIE) msgTarget.doPost(msg, o);
+          else msgTarget.postMessage(msg, o);
+        }
+
+        function onMessage(e) {
+          // only one message gets through, but let's make sure it's actually
+          // the message we're looking for (other code may be using
+          // postmessage) - we do this by ensuring the payload can
+          // be parsed, and it's got an 'a' (action) value of 'request'.
+          var d;
+          try {
+            d = JSON.parse(e.data);
+          } catch(err) { }
+          if (!d || d.a !== 'request') return;
+          removeListener(window, 'message', onMessage);
+          o = e.origin;
+          if (cb) {
+            // this setTimeout is critically important for IE8 -
+            // in ie8 sometimes addListener for 'message' can synchronously
+            // cause your callback to be invoked.  awesome.
+            setTimeout(function() {
+              cb(o, d.d, function(r) {
+                cb = undefined;
+                doPost({a: 'response', d: r});
+              });
+            }, 0);
+          }
+        }
+
+        function onDie(e) {
+          if (e.data === CLOSE_CMD) {
+            try { window.close(); } catch (o_O) {}
+          }
+        }
+        addListener(isIE ? msgTarget : window, 'message', onMessage);
+        addListener(isIE ? msgTarget : window, 'message', onDie);
+
+        // we cannot post to our parent that we're ready before the iframe
+        // is loaded. (IE specific possible failure)
+        try {
+          doPost({a: "ready"});
+        } catch(e) {
+          // this code should never be exectued outside IE
+          addListener(msgTarget, 'load', function(e) {
+            doPost({a: "ready"});
+          });
+        }
+
+        // if window is unloaded and the client hasn't called cb, it's an error
+        var onUnload = function() {
+          try {
+            // IE8 doesn't like this...
+            removeListener(isIE ? msgTarget : window, 'message', onDie);
+          } catch (ohWell) { }
+          if (cb) doPost({ a: 'error', d: 'client closed window' });
+          cb = undefined;
+          // explicitly close the window, in case the client is trying to reload or nav
+          try { window.close(); } catch (e) { }
+        };
+        addListener(window, 'unload', onUnload);
+        return {
+          detach: function() {
+            removeListener(window, 'unload', onUnload);
+          }
+        };
+      }
+    };
+  } else {
+    return {
+      open: function(url, winopts, arg, cb) {
+        setTimeout(function() { cb("unsupported browser"); }, 0);
+      },
+      onOpen: function(cb) {
+        setTimeout(function() { cb("unsupported browser"); }, 0);
+      }
+    };
+  }
+})();
index 4160013b2fbe928bae6299c9de4e379dfac8f613..c9c42beb2edc979c062ffd7f5750b0b74ece120d 100644 (file)
@@ -1,15 +1,12 @@
 [[!meta title="The SIPB office"]]
 
-<img class="right" src="//sipb-door.scripts.mit.edu/widget-3d/door.sh" />
-
 <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.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.
-
+Questions and visitors are welcome whenever the office door is [open](http://doorpi.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 -->
@@ -30,5 +27,4 @@ anytime it is open.  We strive to make it a fun and comfortable place to work on
 * 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.
+Communicate and socialize with other SIPB members through the [Mattermost](https://mattermost.xvm.mit.edu/signup_user_complete/?id=pnfpw5qkpjnxxrq319ynh94eke).
index 6bec0b492c7da32673d62dbda63422f312c05cdd..f0d4b2871143ffb934154a2e1b7afa94b3d69589 100644 (file)
@@ -5,13 +5,8 @@ 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,
+members. 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.*
index 78b2042db66815e241970a0cf5cceaed0acb8f3f..a67c797129bf933ad074e1c5fa8e29a8ae665306 100644 (file)
@@ -1,5 +1,19 @@
 [[!meta title="Projects and Services"]]
 
+<center>
+<h1>This page is outdated, check the <a href="https://sipb-projectdb.scripts.mit.edu">Project Database</a> instead!</h1>
+</center>
+
+<!-- NOTE from rgabriel: this closest thing I could figure out to hiding away the old projects page. I'm not sure how to redirect "Docs" to the projectsdb, or embed it -->
+
+<!-- ideally, we can update this listing, since it is the public one (whereas the projectdb requires a cert) -->
+
+<details>
+
+<summary>Click here to view the old page anyway...</summary>
+
+---
+
 Getting involved in one of our projects is one of the most common ways to [[join]] SIPB. If you would like to get involved, please email the primary contact for each project.
 
 SIPB has the resources and the expert advice to make your project to
@@ -47,7 +61,7 @@ __Please email the SIPB Vice Chair at [sipb-vice-chair@mit.edu](mailto:sipb-vice
           * __Service Maintainer__: help revise and upgrade the Scripts codebase and deployed server configurations.
                * Prereqs: basic experience with systems administration, previous use of Scripts as a user
 
-     * __Contact: Cel Skeggs, [cela@mit.edu](mailto:cela@mit.edu)__
+     * __Contact: UNKNOWN__
 
 
 * Hyades
@@ -62,7 +76,7 @@ __Please email the SIPB Vice Chair at [sipb-vice-chair@mit.edu](mailto:sipb-vice
           * __Computer Systems Engineer__: help design, implement, test, and review SIPB's cluster management software.
                * Prereqs: previous programming experience in any statically typed language, knowledge of Python and Go or ability to independently learn them, 6.033-level understanding of computer systems, experience with Git, experience with Linux
 
-     * __Contact: Cel Skeggs, [cela@mit.edu](mailto:cela@mit.edu)__
+     * __Contact: Ryan Yang, [ryang2@mit.edu](mailto:ryang2@mit.edu)__
 
 * Hardware Operations (HWOPS)
 
@@ -82,7 +96,7 @@ __Please email the SIPB Vice Chair at [sipb-vice-chair@mit.edu](mailto:sipb-vice
           * __Web Application Developer__: help maintain and upgrade the HWOPS internal and external web application.
                * Prereqs: basic web development experience, knowledge of Python or ability to independently learn Python
 
-     * __Contact: Cel Skeggs, [cela@mit.edu](mailto:cela@mit.edu)__
+     * __Contact: HWOPS Team, [sipb-hwops@mit.edu](mailto:sipb-hwops@mit.edu)__ (Justice Vidal, Benjamin Steffen, Timmy Xiao)
 
 * Mattermost
      * Description: SIPB's Mattermost instance for communication. Mattermost is an open source, private cloud slack alternative hosted on XVM. By the way, a lot of SIPB communication happens on Mattermost - would recommend joining if you haven't already!
@@ -101,7 +115,7 @@ __Please email the SIPB Vice Chair at [sipb-vice-chair@mit.edu](mailto:sipb-vice
           * __App Developer__: work on forking and upgrading the Mattermost mobile apps.
                * Prereqs: previous experience with app development on iOS and Android or ability to learn independently. (We don't know how to do this, so we can't teach you.)
 
-      * __Contact: Cel Skeggs, [cela@mit.edu](mailto:cela@mit.edu)__
+      * __Contact: UNKNOWN__
 
 * SIPB Mastodon
      * Description: https://mastodon.mit.edu is an instance of the Mastodon federated social networking platform, a part of a Twitter-like communications network of independently-run servers. Anyone on any individual server can communicate with the global ecosystem of federated servers, creating a decentralized social network where no one person or corporation has control of everyone’s data.
@@ -123,7 +137,7 @@ __Please email the SIPB Vice Chair at [sipb-vice-chair@mit.edu](mailto:sipb-vice
 
      * Description: SIPB organizes dozens of [IAP classes](https://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. We're also looking for MIT students to [[help keep them running smoothly|join]].
 
-     * __Contact: Emma Batson, [emmabat@mit.edu](mailto:emmabat@mit.edu)__
+     * __Contact: CJ Quines, [cjq@mit.edu](mailto:cjq@mit.edu)__
 
 * SIPB WISP
      * Description: SIPB wants to become a wireless internet service provider! Join if you want to point antennas around and figure out how to make a secure and reliable network. We’re really all learning together on this one.
@@ -140,8 +154,7 @@ Webdev experience preferred but not required (we use Vuejs).
 
      * Links: [courseroad.mit.edu](https://courseroad.mit.edu/)
 
-     * __Contact: [courseroad@mit.edu](mailto:courseroad@mit.edu) or Nate Foss, [npfoss@mit.edu](mailto:npfoss@mit.edu)__
-     * __Backup Contact: Georgia Shay, [gshay@mit.edu](mailto:gshay@mit.edu)__
+     * __Contact: [courseroad@mit.edu](mailto:courseroad@mit.edu) or Georgia Shay, [gshay@mit.edu](mailto:gshay@mit.edu)__
 
 * SIPB Library Project
      * Description: The Library Project aims to provide a web interface for managing the SIPB Library. This includes an administration and cataloguing UI, as well as a book scanner and checkout process. 
@@ -187,25 +200,17 @@ Webdev experience preferred but not required (we use Vuejs).
  
      * __Contact: Josh Noguera, [jnoguera@mit.edu](mailto:jnoguera@mit.edu) and Rihn Hong, [rihn@mit.edu](mailto:rihn@mit.edu)__
 
+* Locker Software
+  * Description: SIPB maintains a variety of software that can be run on all Athena computers (including your own computer, see Macathena and Debathena below!)
+  * whichlocker (`add outland; whichlocker`)
+  * rolodex (`add sipb; rolodex`)
+  * gp (`add gp; ecm`)
 
-* SIPB gp Athena Locker Maintenance
-     * Description: Maintaining the /mit/gp locker on Athena.  This locker 
+      * Description: Maintaining the /mit/gp locker on Athena.  This locker 
 contains a collection of programs for integer factorization.
-     
-     * Requisite experience: shell scripting, maybe C
-
-     * __Contact: [kenta@mit.edu](mailto:kenta@mit.edu)__
+      * __Contact: [kenta@mit.edu](mailto:kenta@mit.edu)__
 
-
-* ExplainMIT
-     * Description: A place where people share explanations for fundamental concepts and hard problems through blackboard videos, so no students have to struggle unnecessarily at MIT. 
-
-     * Links: [explain.mit.edu](explain.mit.edu)
-
-     * Roles
-          * We always welcome anyone who wants to help out! No coding experience is needed, we’ll teach you full-stack using ExplainMIT, so that you can then improve ExplainMIT itself!
-
-     * __Contact: [eltonlin@mit.edu](eltonlin@mit.edu)__
+  * Many, many more (look in `/mit/sipb`, `/mit/outland`, `/afs/sipb/project`, etc.)
 
 <hr>
 
@@ -216,6 +221,10 @@ release of the Athena client software running on the public computer
 labs (clusters) across the MIT campus.
      * Links: ([Bugtracker](https://debathena.mit.edu/trac/query), [hackathon/newbie tickets](https://debathena.mit.edu/trac/wiki/HackathonTopics))
 
+* [Macathena](https://macathena.mit.edu) brings Athena to your macOS system.
+     * Links: ([Source code](https://github.com/macathena/))
+     * __Contact: [macathena@mit.edu](mailto:macathena@mit.edu)__
+
 * [BarnOwl](https://barnowl.mit.edu) is a curses-based IM client with support for Zephyr, AIM, Jabber, and IRC. It is primarily used by the MIT community as a Zephyr client. BarnOwl aims to be easily extensible and customizable through a Perl plugin interface.
      * Links: ([Bugtracker](https://barnowl.mit.edu/query), [straightforward tickets](https://barnowl.mit.edu/wiki/StraightforwardTickets))
 
@@ -250,3 +259,5 @@ some AFS groups in the SIPB cell with Moira groups.
 ## Other Projects
 
 Here's a [[list|projects/ideas]] of some other, smaller projects SIPB members would like to work on.  For (recent-)historical interest, a list of some [past projects](https://stuff.mit.edu/sipb/project-list.html) circa 2000-2007 also exists.  On December 13, 2008, [[we squashed|projects/lenny-bugs]] a [[bunch of bugs|projects/lenny-bugs-all]] in Debian Lenny.
+
+</details>
index d8caac1dd9146f0c5a0a65043262fc4c2f5af74e..b51bddf1d67ab96d97a7de53e48ae79473c8f997 100644 (file)
@@ -31,15 +31,15 @@ exclusively for breadcrumbs ...
 ## How Things Work
 
 
-###When a request comes in:
+### 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 it's 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:
+### For development's sake:
 
-####How do I make edits?
+#### 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.
diff --git a/rush.mdwn b/rush.mdwn
new file mode 100644 (file)
index 0000000..629cd61
--- /dev/null
+++ b/rush.mdwn
@@ -0,0 +1,21 @@
+Come to SIPB's events to eat food and learn about computers! We have events every day this week:
+
+**Board Game Party with SIPB**  
+Monday, August 29 from 4:00 PM to 7:30 PM in the SIPB office (W20-557)  
+Spend your first MIT Monday afternoon with SIPB! We will have board games and a nice atmosphere for the computing-inclined. Plus we also have a VR setup!
+
+**Cereal in Parallel**  
+Tuesday, August 30 from 10:00 AM to 11:30 AM in the SIPB office (W20-557)  
+RUSH got you beat? Come eat breakfast at the SIPB office where you can taste our fuzzball-branded toast, try to eat cereal (serial) in parallel with SIPB members, and figure out an optimal algorithm to toast bread.
+
+**How to Get a Website on mit.edu: An AFS Cluedump**  
+Wednesday, August 31 from 6:00 PM to 7:00 PM in 4-231  
+Do you want to learn how to set up your own website with an .mit.edu? In this cluedump hosted by SIPB, we’ll be teaching you to harness the powers of AFS to host your own website. Bring a laptop!
+
+**Server Room Tour and Stories**  
+Thursday, September 1 from 2:00 PM to 3:00 PM in the SIPB office (W20-557)  
+Have you ever wanted to see some of the servers running iconic™ MIT computer services like Scripts, AFS, and XVM? Now's your chance! Come and enjoy the blinkenlights on a tour of the SIPB Machine Room! We will meet in the SIPB office, then walk over to the Machine Room next door.
+
+**Activities Midway**  
+Friday, September 2 from 2:30 PM to 4:30 PM in the Johnson Rink  
+Come to the midway to learn more about what SIPB does, and grab some stickers!
diff --git a/rush/afs.mdwn b/rush/afs.mdwn
new file mode 100644 (file)
index 0000000..3dc3d72
--- /dev/null
@@ -0,0 +1 @@
+[Link to slides](https://docs.google.com/presentation/d/1-SqNuJWJU6roZhxwkYOuX3HAg8ahTtzZ0x_0z1HzT6U/edit?usp=sharing)