+Scripts
[wiki.git] / hackathons / great-hacksby / projects.mdwn
1 [Scripts](http://scripts.mit.edu)
2 =================================
3 talk to:
4 --------
5 - [Edward Z. Yang](mailto:ezyang@mit.edu)
6 - [Geoffrey Thomas](mailto:geofft@mit.edu)
7 - [Alex Chernyakhovsky](mailto:achernya@mit.edu)
8 - [Quentin Smith](mailto:quentin@mit.edu)
9
10 Scripts is SIPB's shared webhosting service for the rest of MIT.  Even if you don't end up working on the infrastructure backing this project, chances are you will use Scripts to setup a website of your own.
11
12 We have lots of bite-sized projects to attack during this hackathon.  Here are some that we've given some thought to already:
13
14 - **Scripts DNS**.  It is currently possible to request ``*.mit.edu`` hostnames from http://pony.scripts.mit.edu, as well as have an external name provider have its DNS server point to Scripts hosts. However, some domain name sellers only do registration and do not manage DNS servers; we should offer a DNS server to provide the correct records in this case. This project would involve setting up such a nameserver, using the [XVM nameserver]() as a starting point.  There are several technical issues to address: not all *.mit.edu hostnames exist, so you need to modify the source code to query our LDAP server and NXDOMAIN if it doesn't exist, rather than a Postgres database. You will also need to protect against cache poisoning attacks by running two different BINDs (one local and one public). If you're super ambitious, add the capability to take arbitrary zone files from users and serve them.
15
16 [Straversity](http://straversity.com/mit/)
17 ==========================================
18 talk to:
19 --------
20 - [Daniel Stallworth](mailto:danieljs@mit.edu)
21
22 Central Hub for a variety of MIT websites, much more comprehensive than MIT's main site for an easier method of finding desired MIT sites and discovering new ones. 
23
24 To get involved, you should know HTML, JavaScript, jQuery, and CSS. 
25 You'll also want to know a backend language for more, complex, and easier integration. (That will make sense when I talk about it.) Should be very simple to think of something innovative and how to implement it quickly.
26
27
28
29 smiopp
30 ======
31 talk to:
32 -------- 
33 - [Daniel Clark](mailto:djbclark@mit.edu)
34
35 Some MIT living groups have relatively slow internet connections (usually 10/10). As do some small business, etc. It's useful to have a public display showing who is using the most bandwidth (and how much), so they can be asked to throttle their use if they are making the connection slow for everyone else. Also, just knowing that the display exists seems to make people more mindful of their bandwidth use.
36
37 Current technologies used are  argus - http://www.qosient.com/argus/ - ruby, bourne shell. Future work will include SNMP, and the code is simple enough it could be re-written entirely in ruby or python by someone clueful in under an hour (except that for python a feature - the ability to use client-side SSL certificates - may need to be added to a library first).  Also we need to use a very new/untested feature of argus for SNMP integration, so C knowledge would also be useful.
38
39 smiopp is currently set up and being quite useful at http://pika.mit.edu - the display looks like this and updates every five minutes with the average of the previous 5 minutes:
40
41     Peverill, Matthew
42     PIKA-SIXTY-TWO 00241d17d578
43     up 6 KB/s (0%) down 288 KB/s (22%)
44
45     Fernandes, Braulio Pessoa
46     18.214.1.234 e0f8470f190e
47     up 5 KB/s (0%) down 209 KB/s (16%)
48
49     Visit https://nic.mit.edu/dhreg/support/
50     PIKA-ONE-FORTY-FIVE 001e33d26666
51     up 3 KB/s (0%) down 77 KB/s (6%)
52
53     YFNCC
54     HOGGLE 00114305f429
55     up 0 KB/s (0%) down 1 KB/s (0%)
56
57
58 (note that one of the tasks is doing incremental update so the "visit" stanzas go away)
59
60 There is a not actually used yet mostly current dump of code and doc at:
61 http://gitorious.org/smiopp
62
63 The project needs someone who is proficient in either Ruby or Python. In addition, C knowledge would be useful.
64
65 I am able to spend as much time as needed to get someone up-to-speed. After that I'll be spending time making the documentation and packaging not suck, which would also help someone new.