@@ -0,0 +1,55 @@
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 = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0160&prefill_Grant+Name=Meld%20Memory%20Usage"
18++++
19+
20+## UF Grant: Reduce memory usage of |meld
21+
22+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.
23+
24+### Deliverables
25+
26+|meld without 10 GB of swap
27+
28+### User Stories
29+
30+Pilots are happily oblivious to the OOM killer
31+
32+### Prequisites
33+
34+- proficiency in C
35+- familiarity with immutable data structures
36+
37+### Educational Outcomes for the Apprentice
38+
39+The apprentice will learn about:
40+
41+- vere/u3
42+- the loom
43+- unifying equality
44+- efficient associate memory
45+
46+### Responsibilities of the Mentor
47+
48+- technical direction
49+- code review
50+- release plan
51+
52+### Duration and Compensation
53+
54+Expected duration is two months.
55+1 star paid at completion of apprenticeship