Fix link to explain.mit.edu
[wiki.git] / projects.mdwn
1 [[!meta title="Projects and Services"]]
2
3 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.
4
5 SIPB has the resources and the expert advice to make your project to
6 improve computing at MIT (better, the world) happen!  Come by [[our office at W20-557|office]] and say hello.
7
8 __Please email the SIPB Vice Chair at [sipb-vice-chair@mit.edu](mailto:sipb-vice-chair@mit.edu)__ if you would like to get more information about projects or need help figuring out what to do (she doesn't bite, and would love to help!).
9
10 # Active Projects
11
12 * SIPB Minecraft
13      * Description: Virtual MIT in a Minecraft server!
14
15      * __Contact: [sipb-minecraft-root@mit.edu](mailto:sipb-minecraft-root@mit.edu) or William Moses, [wmoses@mit.edu](mailto:wmoses@mit.edu)__
16      * __Backup Contact: Shayna Ahteck, [asahteck@mit.edu](mailto:asahteck@mit.edu)__
17
18
19 * SIPB Discord
20      * Description: A project that creates discord bots that authenticate against your choice of MIT lists.
21
22      * __Contact: [sipb-discord@mit.edu](mailto:sipb-discord@mit.edu) or Alice Nguyen, [mwnguyen@mit.edu](mailto:mwnguyen@mit.edu)__
23
24 * SIPB Website
25      * Description: Keeping the SIPB website nice-looking and up-to-date
26
27      * Roles 
28           * __Webmaster__: make our website beautiful and update it with the latest SIPB happenings
29                * Prereqs: None
30
31      * __Contact: [sipb-webmaster@mit.edu](mailto:sipb-webmaster@mit.edu)__
32
33      * __Backup Contact: [sipb-secretary@mit.edu](sipb-secretary@mit.edu)__
34
35
36 * Scripts
37      * Description: Scripts is SIPB's most used service, which hosts thousands of websites for the MIT community.  [scripts.mit.edu](https://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 blog, wiki, and other software via the quick-start autoinstallers.
38
39      * Links: [Website](https://scripts.mit.edu), [bugtracker](https://scripts.mit.edu/trac/query), [starter tickets](https://scripts.mit.edu:444/trac/wiki/StarterTickets)
40
41      * Communication Channel: -c scripts on Zephyr.
42
43      * Roles
44           * __Support Tech__: get familiar with MIT's and SIPB's computing infrastructure by helping answer user questions and approve user requests. 
45                * Prereqs: basic experience with the Linux command line
46
47           * __Service Maintainer__: help revise and upgrade the Scripts codebase and deployed server configurations.
48                * Prereqs: basic experience with systems administration, previous use of Scripts as a user
49
50      * __Contact: Cel Skeggs, [cela@mit.edu](mailto:cela@mit.edu)__
51
52
53 * Hyades
54      * Description: The SIPB Hyades project is SIPB's next-generation computing infrastructure service, designed to eventually replace Scripts and XVM with a self-configuring Kubernetes cluster deployed on bare metal servers.  [Hyades](https://docs.google.com/document/d/1Xy-KL2VRPMPvy6fbDbrDnnZWj9euiwxU4D5gT-pW5eM) is a cluster computing management system (SIPB's internal AWS). Whether a user wants to host their website, run code for a class, or work on a side project, our service will give them a container to fit these tasks. Hyades uses exciting open-source tools like Kubernetes, etcd, Bazel, Envoy, and Ceph.  
55
56
57      * Communication Channel: the Hyades Development channel on SIPB Mattermost.
58
59      * Link: [sipb/homeworld](https://github.com/sipb/homeworld).
60
61      * Roles:
62           * __Computer Systems Engineer__: help design, implement, test, and review SIPB's cluster management software.
63                * 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
64
65      * __Contact: Cel Skeggs, [cela@mit.edu](mailto:cela@mit.edu)__
66
67 * Hardware Operations (HWOPS)
68
69      * Description: The HWOPS team maintains the physical server rooms for SIPB: maintaining and upgrading our physical infrastructure, coordinating with IS&T and Facilities, and communicating with other SIPB projects that have or need physical computing resources.  We are responsible for the operation of the machine room in W20-575A, as well as for some operations of SIPB's servers in W91. We provide physical server space, server hardware, and server support services to other SIPB projects.
70
71      * Communication Channel: [sipb-hwops@mit.edu](mailto:sipb-hwops@mit.edu)
72
73      * Links: [hwops.mit.edu](https://hwops.mit.edu/)
74
75      * Roles:
76           * __Machine Room Infrastructure Tech__: help maintain the hardware in the SIPB machine room, including anything from racking servers to ordering hardware to reconfiguring cables to doing hardware archeology.
77                * Prereqs: basic knowledge of the Linux command line
78
79           * __Operations Coordinator__: design and implement organizational systems to help us more effectively manage our hardware. coordinate within the HWOPS team. handle inquiries and requests from external sources.
80                * Prereqs: previous experience coordinating groups of people, consistent ability to get things done on time without external intervention
81
82           * __Web Application Developer__: help maintain and upgrade the HWOPS internal and external web application.
83                * Prereqs: basic web development experience, knowledge of Python or ability to independently learn Python
84
85      * __Contact: Cel Skeggs, [cela@mit.edu](mailto:cela@mit.edu)__
86
87 * Mattermost
88      * 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!
89
90      * Links: [https://mattermost.xvm.mit.edu](https://mattermost.xvm.mit.edu)
91
92      * __Contact: Fisher Jepsen, [efjepsen@mit.edu](mailto:efjepsen@mit.edu)__
93
94 * SIPB Uplink
95      * Description: This up-and-coming SIPB project intends to build a Mattermost-based chat service that integrates with Athena.
96
97      * Roles:
98           * __Service Developer__: work on changes to the Mattermost web application and/or help implement containerized deployment.
99                * Prereqs: basic experience with at least one imperative programming language (such as Python, JavaScript, Java, C, Go, Rust).
100
101           * __App Developer__: work on forking and upgrading the Mattermost mobile apps.
102                * 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.)
103
104       * __Contact: Cel Skeggs, [cela@mit.edu](mailto:cela@mit.edu)__
105
106 * SIPB Mastodon
107      * 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.
108  
109      * Roles
110           * __System Administrator__: Keep mastodon.mit.edu up to date, perform system maintenance as needed, respond to infrequent moderator reports.
111                * Prereqs:
112                       * Comfortable using the command line
113                       * Comfortable maintaining and troubleshooting an Ubuntu web server
114                       * Comfortable using git
115                       * Willing to learn enough SQL to make (very rarely needed) small modifications to a database
116                       * Familiar with Ruby on Rails or willing to learn a little bit about it
117                       * Thoughtful perspective on online community moderation and the limitations of free speech
118
119           * __Contact: [mastodon@mit.edu](mailto:mastodon@mit.edu)__
120
121
122 * IAP Classes and Cluedumps
123
124      * 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]].
125
126      * __Contact: Emma Batson, [emmabat@mit.edu](mailto:emmabat@mit.edu)__
127
128 * SIPB WISP
129      * 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.
130
131      * Roles
132            * __WISP Setup__: Pointing antennas around and doing network/authentication things. 
133                  * Prereqs: None
134
135       * __Contact: [sipb-wisp-root@mit.edu](mailto:sipb-wisp-root@mit.edu)__
136
137 * CourseRoad
138      * Description: a Four-Year Planner for the MIT Undergraduate Community.  We always welcome anyone who wants to help out! More hands === more features.
139 Webdev experience preferred but not required (we use Vuejs).
140
141      * Links: [courseroad.mit.edu](https://courseroad.mit.edu/)
142
143      * __Contact: [courseroad@mit.edu](mailto:courseroad@mit.edu) or Nate Foss, [npfoss@mit.edu](mailto:npfoss@mit.edu)__
144      * __Backup Contact: Georgia Shay, [gshay@mit.edu](mailto:gshay@mit.edu)__
145
146 * SIPB Library Project
147      * 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. 
148
149      * Communication Channel: sipb-library channel on SIPB Mattermost.
150
151      * Links: [MIT GitHub Repository](https://github.mit.edu/sipb/sipb-library)
152
153      * __Contact: Georgia Shay, [gshay@mit.edu](mailto:gshay@mit.edu)__
154
155 * SIPB Publicity Committee
156      * Description: SIPB runs events, which means SIPB needs posters, dormspam, cool swag, and whatever else our publicity committee can imagine -- sometimes even chalking Stata!
157
158      * Roles
159           * __Publicity Committee member__:  provide SIPB events with publicity materials
160                * Prereqs: None
161       
162      * __Contact: Emma Batson, [emmabat@mit.edu](mailto:emmabat@mit.edu)__
163
164 * SIPB Social Committee
165      * Description: SIPB has a lot of cool people and we should hang out outside of meetings! We need people to remind us to do so by scheduling social events
166
167      * Roles
168            * __Social Committee member__: bring the SIPB community together by arranging food mobs, game nights, or other study breaks
169                 * Prereqs: None
170
171      * __Contact: Emma Batson, [emmabat@mit.edu](mailto:emmabat@mit.edu)__
172
173 * SIPB Documentation Project
174
175      * Description: The [[SIPB Documentation Project|doc/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 is not otherwise written down anywhere.
176
177      * __Contact: Angel Alvarez, [alvareza@mit.edu](mailto:alvareza@mit.edu)__
178
179 * CertAssist
180
181      * Description: Download and install your MIT personal certificate using the [CertAssist](https://certassist.mit.edu/) website, even if your browser is not supported by ca.mit.edu.
182
183      * __Contact: Anders Kaseorg, [andersk@mit.edu](mailto:andersk@mit.edu)__
184
185 * SIPB Badges
186      * Description: Recording the achievements of our members
187  
188      * __Contact: Josh Noguera, [jnoguera@mit.edu](mailto:jnoguera@mit.edu) and Rihn Hong, [rihn@mit.edu](mailto:rihn@mit.edu)__
189
190
191 * SIPB gp Athena Locker Maintenance
192      * Description: Maintaining the /mit/gp locker on Athena.  This locker 
193 contains a collection of programs for integer factorization.
194      
195      * Requisite experience: shell scripting, maybe C
196
197      * __Contact: [kenta@mit.edu](mailto:kenta@mit.edu)__
198
199
200 * ExplainMIT
201      * 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. 
202
203      * Links: [explain.mit.edu](//explain.mit.edu)
204
205      * Roles
206           * 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!
207
208      * __Contact: [eltonlin@mit.edu](eltonlin@mit.edu)__
209
210 <hr>
211
212 # Maintained Projects
213
214 * [Debathena](https://debathena.mit.edu)<sup>1</sup> brings Athena to your Debian or Ubuntu system, and is the basis for the current
215 release of the Athena client software running on the public computer
216 labs (clusters) across the MIT campus.
217      * Links: ([Bugtracker](https://debathena.mit.edu/trac/query), [hackathon/newbie tickets](https://debathena.mit.edu/trac/wiki/HackathonTopics))
218
219 * [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.
220      * Links: ([Bugtracker](https://barnowl.mit.edu/query), [straightforward tickets](https://barnowl.mit.edu/wiki/StraightforwardTickets))
221
222 * [XVM](http://xvm.mit.edu) offers virtual machines to the MIT community.  Start with our three-minute Debian or Ubuntu installer, or install an operating system of your choice.  Please e-mail [xvm@mit.edu](mailto:xvm@mit.edu) for help using XVM.  If you'd like to get involved, please email [xvm-team@mit.edu](mailto:xvm-team@mit.edu).
223      * Links: (Bugtrackers: [Trac](https://xvm.scripts.mit.edu/), [Launchpad: XVM](https://bugs.launchpad.net/xvm), [Launchpad: Invirt](https://bugs.launchpad.net/invirt))
224
225      * __Contact: [xvm-root@mit.edu](mailto:xvm-root@mit.edu)__
226
227 * 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
228 some AFS groups in the SIPB cell with Moira groups.
229
230 * [Feed](https://feed.mit.edu/) is a free RSS reader (running [Tiny Tiny RSS](https://tt-rss.org/)) available to MIT account holders.
231
232 * [SIPB Domain Name Service](https://web.mit.edu/afs/sipb/project/zoned/doc/) provides master or slave name service for personal domains of MIT affiliates. With SIPB DNS as a master name server, your domain is generated every hour from a file in your Athena home directory. It can also serve as a slave name server, providing redundancy with existing name servers.
233
234 * [etherpad.mit.edu](http://etherpad.mit.edu) is an MIT-specific installation of Etherpad, a real-time collaborative text editor.  Please email [etherpad@mit.edu](mailto:etherpad@mit.edu) with questions, comments, or suggestions.  If you'd like to get involved, send mail to [etherpad-dev@mit.edu](mailto:etherpad-dev@mit.edu).  We're looking for developers with experience or interest in Java, SQL, and system maintenance, as well as HTML, Javascript, and CSS.
235
236 [1] Debathena is currently looking for someone to take responsibility for it (it really should be an active project). Email [sipb-vice-chair@mit.edu](mailto:sipb-vice-chair@mit.edu) if this is your calling.
237 <hr>
238
239 # Inactive Projects
240
241 * [Gutenbach](http://gutenbach.mit.edu/) is a networked music jukebox implementing the Internet Printing Protocol (IPP). It allows users to queue or "print" music to a remote set of speakers or "printer".  Spawned from the original sipbmp3 (the SIPB office music player), Please email [gutenbach@mit.edu](mailto:gutenbach@mit.edu) with questions, comments, or suggestions.
242      * Links: ([Bugtracker](http://gutenbach.mit.edu/query))
243
244 * MITeX is a web app that lets users edit a TeX document (either source or WYSIWYG), using a template, and then compiles to a PDF (or PS or DVI, etc.).  This way, people can create beautiful documents entirely from the web.  You can see the current version (in development) at [http://mitex.mit.edu](http://mitex.mit.edu).  You can see the newest features that we're trying out at [http://dev.mitex.scripts.mit.edu](http://dev.mitex.scripts.mit.edu).  Please email [mitex@mit.edu](mailto:mitex@mit.edu) with questions, comments, or suggestions.
245
246 * [LAMP](http://lamp.mit.edu) (retired!) 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.
247
248 * 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. 
249
250 ## Other Projects
251
252 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.