add link to Hackers
[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 Georgia Shay, [gshay@mit.edu](mailto:gshay@mit.edu)__
144
145 * SIPB Library Project
146      * 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. 
147
148      * Communication Channel: sipb-library channel on SIPB Mattermost.
149
150      * Links: [MIT GitHub Repository](https://github.mit.edu/sipb/sipb-library)
151
152      * __Contact: Georgia Shay, [gshay@mit.edu](mailto:gshay@mit.edu)__
153
154 * SIPB Publicity Committee
155      * Description: SIPB runs events, which means SIPB needs posters, dormspam, cool swag, and whatever else our publicity committee can imagine -- sometimes even chalking Stata!
156
157      * Roles
158           * __Publicity Committee member__:  provide SIPB events with publicity materials
159                * Prereqs: None
160       
161      * __Contact: Emma Batson, [emmabat@mit.edu](mailto:emmabat@mit.edu)__
162
163 * SIPB Social Committee
164      * 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
165
166      * Roles
167            * __Social Committee member__: bring the SIPB community together by arranging food mobs, game nights, or other study breaks
168                 * Prereqs: None
169
170      * __Contact: Emma Batson, [emmabat@mit.edu](mailto:emmabat@mit.edu)__
171
172 * SIPB Documentation Project
173
174      * 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.
175
176      * __Contact: Angel Alvarez, [alvareza@mit.edu](mailto:alvareza@mit.edu)__
177
178 * CertAssist
179
180      * 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.
181
182      * __Contact: Anders Kaseorg, [andersk@mit.edu](mailto:andersk@mit.edu)__
183
184 * SIPB Badges
185      * Description: Recording the achievements of our members
186  
187      * __Contact: Josh Noguera, [jnoguera@mit.edu](mailto:jnoguera@mit.edu) and Rihn Hong, [rihn@mit.edu](mailto:rihn@mit.edu)__
188
189 * Locker Software
190   * Description: SIPB maintains a variety of software that can be run on all Athena computers (including your own computer, see Macathena and Debathena below!)
191   * whichlocker (`add outland; whichlocker`)
192   * rolodex (`add sipb; rolodex`)
193   * gp (`add gp; ecm`)
194
195       * Description: Maintaining the /mit/gp locker on Athena.  This locker 
196 contains a collection of programs for integer factorization.
197       * __Contact: [kenta@mit.edu](mailto:kenta@mit.edu)__
198
199   * Many, many more (look in `/mit/sipb`, `/mit/outland`, `/afs/sipb/project`, etc.)
200
201 * ExplainMIT
202      * 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. 
203
204      * Links: [explain.mit.edu](//explain.mit.edu)
205
206      * Roles
207           * 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!
208
209      * __Contact: [eltonlin@mit.edu](eltonlin@mit.edu)__
210
211 <hr>
212
213 # Maintained Projects
214
215 * [Debathena](https://debathena.mit.edu)<sup>1</sup> brings Athena to your Debian or Ubuntu system, and is the basis for the current
216 release of the Athena client software running on the public computer
217 labs (clusters) across the MIT campus.
218      * Links: ([Bugtracker](https://debathena.mit.edu/trac/query), [hackathon/newbie tickets](https://debathena.mit.edu/trac/wiki/HackathonTopics))
219
220 * [Macathena](https://macathena.mit.edu) brings Athena to your macOS system.
221      * Links: ([Source code](https://github.com/macathena/))
222      * __Contact: [macathena@mit.edu](mailto:macathena@mit.edu)__
223
224 * [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.
225      * Links: ([Bugtracker](https://barnowl.mit.edu/query), [straightforward tickets](https://barnowl.mit.edu/wiki/StraightforwardTickets))
226
227 * [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).
228      * Links: (Bugtrackers: [Trac](https://xvm.scripts.mit.edu/), [Launchpad: XVM](https://bugs.launchpad.net/xvm), [Launchpad: Invirt](https://bugs.launchpad.net/invirt))
229
230      * __Contact: [xvm-root@mit.edu](mailto:xvm-root@mit.edu)__
231
232 * 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
233 some AFS groups in the SIPB cell with Moira groups.
234
235 * [Feed](https://feed.mit.edu/) is a free RSS reader (running [Tiny Tiny RSS](https://tt-rss.org/)) available to MIT account holders.
236
237 * [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.
238
239 * [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.
240
241 [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.
242 <hr>
243
244 # Inactive Projects
245
246 * [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.
247      * Links: ([Bugtracker](http://gutenbach.mit.edu/query))
248
249 * 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.
250
251 * [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.
252
253 * 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. 
254
255 ## Other Projects
256
257 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.