Next generation recitation assignment tool for 6.033. Modular, scalable, fast

==============
     ra2
==============

Next generation recitation assignment tool for 6.033.
Modular, scalable, fast. Designed to be iterated on by
future years.

Features:
- strategies: a unit of computation and an intermediate
	step in the process of mapping students to
	recitations. these share a common interface and
	execute in sequence. additional strategies can
	be added at will to perform logging, optimize
	placements according to various preferences, or
	flat out change the entire core ra2 algorithm.
	sort of like a meta-programming language - the
	full potential of strategies is unexplored.

- afg: a powerful max-flow algorithm that finds =optimal=
	times for students to attend recitation and tutorial.
	100% of students are assigned a compatible recitation,
	and 95% or so are given one of their top two choices.
	non-deterministic: simply re-run to get a different
	mapping if you don't like your current result.

- teams: optimized team placement + recitation swapping achieves
	>50% student satisfaction while still conforming to
	aggressive scheduling constraints + guidelines set forth
	by WRAP.

- speed: the afg binary executes in 0.01s and is largely
	held up by file I/O rather than execution proper.

- server: a sh script to prepare ra2 outputs to be served
	over http. tells your friends / fellow students
	your progress + a copy of the latest outputs from
	all strategies + statistics from the stats strategy
	so that they don't have to keep asking you (:

This tool is written in Go. Download the go distribution
for your platform, and type 'go build' to compile the
ra2 distribution. Then simply execute with ./ra2.
You'll probably need to `mkdir -p data/` so that the
default config works, and make sure that ra2 can pick
up your Google Form outputs.

See config.go for how to use / documentation, or to
change the behavior of ra2, edit the values in config.go
If you're working with a different form, you probably
have to edit additional files (mainly csvin.go) to
ensure everything works properly.

Owner
Jay Lang
Kernel hacker, CS contrarian, and pasta enthusiast. MIT Class of '22
Jay Lang
Similar Resources

Tigris is a modern, scalable backend for building real-time websites and apps.

Tigris Data Getting started These instructions will get you through setting up Tigris Data locally as Docker containers. Prerequisites Make sure that

Dec 27, 2022

Example goreleaser + github actions config with keyless signing and SBOM generation

supply-chain-example GoReleaser + Go Mod proxying + Cosign keyless signing + Syft SBOM generation example. How it works GoReleaser manages the entire

Nov 15, 2022

Chai - type safe http handlers with automatic swagger generation

Chai - type safe http handlers with automatic swagger generation

chai Description chai is an extension for a few popular http routers that adds s

Feb 25, 2022

Fast cross-platform HTTP benchmarking tool written in Go

bombardier bombardier is a HTTP(S) benchmarking tool. It is written in Go programming language and uses excellent fasthttp instead of Go's default htt

Jan 2, 2023

Nycmesh-tool - nycmesh-tool CLI

nycmesh-tool nycmesh-tool CLI Features At the moment, the tool is pretty sparse. It provides the top level nycmesh-tool command, with subcommands for:

Jun 17, 2022

Terraform-equinix-migration-tool - Tool to migrate code from Equinix Metal terraform provider to Equinix terraform provider

Equinix Terraform Provider Migration Tool This tool targets a terraform working

Feb 15, 2022

Fast, concurrent, streaming access to Amazon S3, including gof3r, a CLI. http://godoc.org/github.com/rlmcpherson/s3gof3r

s3gof3r s3gof3r provides fast, parallelized, pipelined streaming access to Amazon S3. It includes a command-line interface: gof3r. It is optimized for

Dec 26, 2022

Automatically deploy from GitHub to Replit, lightning fast ⚡️

repl.deploy Automatically deploy from GitHub to Replit, lightning fast ⚡️ repl.deploy is split into A GitHub app, which listens for code changes and s

Dec 22, 2022

Fast docker image distribution plugin for containerd, based on CRFS/stargz

Fast docker image distribution plugin for containerd, based on CRFS/stargz

[ ⬇️ Download] [ 📔 Browse images] [ ☸ Quick Start (Kubernetes)] [ 🤓 Quick Start (nerdctl)] Stargz Snapshotter Read also introductory blog: Startup C

Dec 29, 2022
Related tags
Assignment aggregation system

Assignment aggregation system . Assignment Build aggregation system. You need create an endpoint to receive the events, and an endpoint to get each

Nov 4, 2021
Implied Role Assignment for Kubernetes
Implied Role Assignment for Kubernetes

Implied Role Assignment for Kubernetes 1. Vision and Goals of the Project The RBAC (role-based access control) model needs to support improved delegat

Nov 6, 2021
This is an assignment for Intern-Software Engineer, Backend Go from LINE MAN Wongnai. It is create with Go and GIN framework

COVID-19-API-Assignment Create by Chayaphon Bunyakan, Email: [email protected] Run the API by typing the following command go run main.go Run t

Jan 9, 2022
Assignment - make a billing machine for the XYZ Cafe

Assignment In this assignment, you have to make a billing machine for the XYZ Cafe. The machine consist of a group of buttons each representing a uniq

Feb 9, 2022
FaaSNet: Scalable and Fast Provisioning of Custom Serverless Container Runtimes at Alibaba Cloud Function Compute (USENIX ATC'21)

FaaSNet FaaSNet is the first system that provides an end-to-end, integrated solution for FaaS-optimized container runtime provisioning. FaaSNet uses l

Jan 2, 2023
Modular Kubernetes operator to manage the lifecycle of databases

Ensemble Ensemble is a simple and modular Kubernetes Operator to manage the lifecycle of a wide range of databases. Infrastructure as code with Kubern

Aug 12, 2022
Substation is a cloud native toolkit for building modular ingest, transform, and load (ITL) data pipelines

Substation Substation is a cloud native data pipeline toolkit. What is Substation? Substation is a modular ingest, transform, load (ITL) application f

Dec 30, 2022
A Golang based high performance, scalable and distributed workflow framework
A Golang based high performance, scalable and distributed workflow framework

Go-Flow A Golang based high performance, scalable and distributed workflow framework It allows to programmatically author distributed workflow as Dire

Jan 6, 2023
Resilient, scalable Brainf*ck, in the spirit of modern systems design

Brainf*ck-as-a-Service A little BF interpreter, inspired by modern systems design trends. How to run it? docker-compose up -d bash hello.sh # Should p

Nov 22, 2022
Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus.
Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus.

Grafana Mimir Grafana Mimir is an open source software project that provides a scalable long-term storage for Prometheus. Some of the core strengths o

Jan 3, 2023