@@ -0,0 +1,56 @@
1++++
2+title = "UF Apprenticeship Grant: Reduce memory usage of |meld"
3+date = "2022-05-04"
4+
5+[taxonomies]
6+grant_type = [ "Apprenticeship" ]
7+grant_category = [ "Core Dev" ]
8+
9+[extra]
10+image = ""
11+description = "Reduce memory usage of |meld"
12+reward = "1 star"
13+mentor = "~master-morzod"
14+assignee = "~"
15+completed = false
16+canceled = false
17+work_request_link = "
18+https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0160&prefill_Grant+Name=Meld%20Memory%20Usage"
19++++
20+
21+## UF Grant: Reduce memory usage of |meld
22+
23+This project delivers massive quality-of-life improvement to urbit pilots. Our global deduplicator |meld is currently an essential tool for managing a ship, but it can require unacceptable amounts of memory. Fixing this will involve implementing yet another hashtable (most likely a HAMT), and possibly a new implementation of unifying noun equality. Martians everywhere will sing your praises.
24+
25+### Deliverables
26+
27+|meld without 10 GB of swap
28+
29+### User Stories
30+
31+Pilots are happily oblivious to the OOM killer
32+
33+### Prequisites
34+
35+- proficiency in C
36+- familiarity with immutable data structures
37+
38+### Educational Outcomes for the Apprentice
39+
40+The apprentice will learn about:
41+
42+- vere/u3
43+- the loom
44+- unifying equality
45+- efficient associate memory
46+
47+### Responsibilities of the Mentor
48+
49+- technical direction
50+- code review
51+- release plan
52+
53+### Duration and Compensation
54+
55+Expected duration is two months.
56+1 star paid at completion of apprenticeship