on master help sign in
Tm/runtime apprenticeships (#664)
42c9489~timluc-miptev
.gitignore+1
@@ -1,6 +1,7 @@
1# intermediate
1# intermediate
2*.swo
2*.swo
3*.swp
3*.swp
4+*~undo-tree~
4*.o
5*.o
5/outside/**/*.a
6/outside/**/*.a
6/outside/re2/obj
7/outside/re2/obj
content/grants/apprenticeships/contacts.md+1−1
@@ -1,5 +1,5 @@
1+++
1+++
2−title = "Apprenticeship: Contacts App"
2+title = "Userspace Apprenticeship: Contacts App"
3date = 2021-06-17
3date = 2021-06-17
4[taxonomies]
4[taxonomies]
5grant_type = ["apprenticeships"]
5grant_type = ["apprenticeships"]
content/grants/apprenticeships/ra-page-tracking.mdnew file+31
@@ -0,0 +1,31 @@
1++++
2+title = "Runtime Apprenticeship: Improve Page Tracking"
3+date = 2021-06-24
4+[taxonomies]
5+grant_type = ["apprenticeships"]
6+grant_category = ["App Dev: Arvo"]
7+[extra]
8+image = ""
9+description = "Improve Page Tracking"
10+reward = 1
11+mentor = "~silsyn-wathep"
12+assignee = ""
13+completed = false
14+work_request_link = ""
15++++
16+
17+### Improve Page Tracking
18+
19+Skill level: competent C programmer.
20+
21+Time estimate: 4-8 weeks, including onboarding, weekly check-ins by video call, and chat check-ins as needed.
22+
23+We track dirty pages uniformly across the loom, regardless of road nesting depth. But we can only use the metadata on the home road. We want to align inner roads to (native) pages, and only protect the home road.
24+
25+potentially related aligment issues:
26+https://github.com/urbit/urbit/issues/979
27+https://github.com/urbit/urbit/pull/983
28+
29+Final work product:
30+* come up with a plan to align inner roads to pages
31+* implement the alignment, only protecting the home road
content/grants/apprenticeships/ra-segfaults.mdnew file+27
@@ -0,0 +1,27 @@
1++++
2+title = "Runtime Apprenticeship: Segfaults"
3+date = 2021-06-24
4+[taxonomies]
5+grant_type = ["apprenticeships"]
6+grant_category = ["App Dev: Arvo"]
7+[extra]
8+image = ""
9+description = "Segfaults"
10+reward = 1
11+mentor = "~silsyn-wathep"
12+assignee = ""
13+completed = false
14+work_request_link = ""
15++++
16+
17+### Segfaults
18+Skill level: competent C programmer.
19+
20+Time estimate: 8-12 weeks, including onboarding, weekly check-ins by video call, and chat check-ins as needed.
21+
22+We currently trap segfaults for dirty page tracking using libsigsegv. libsigsegv is a general-purpose but somewhat slow solution; various platforms have their own platform-specific equivalents that are said to be faster.
23+Related to this, it would be useful to find another solution for handling (native) stack overflow.
24+
25+Final work product:
26+* determine best platform-specific replacements for libsigsegv
27+* integrate those replacements
content/grants/apprenticeships/ra-stack-overflow.mdnew file+28
@@ -0,0 +1,28 @@
1++++
2+title = "Runtime Apprenticeship: Stack Overflow"
3+date = 2021-06-24
4+[taxonomies]
5+grant_type = ["apprenticeships"]
6+grant_category = ["App Dev: Arvo"]
7+[extra]
8+image = ""
9+description = "Stack Overflow"
10+reward = 1
11+mentor = "~silsyn-wathep"
12+assignee = ""
13+completed = false
14+work_request_link = ""
15++++
16+
17+### Stack Overflow Handling
18+
19+Skill level: competent C programmer with a bit more experience; the contributor should have experience in kernel programming.
20+
21+Time estimate: 8-12 weeks, including onboarding, weekly check-ins by video call, and chat check-ins as needed.
22+
23+In some contexts, we don't check for overflows in road-stacks. This project would involve adding those checks, producing more accurate errors, and protecting against heap corruption.
24+A good starting point for this would be to protect a page at the bottom (top) of the road stack, and move it as appropriate.
25+
26+Final work product:
27+* all protection sites identified
28+* overflow checks implemented at those sites
content/grants/apprenticeships/ua-3rd-party-software-distribution.md+1−1
@@ -1,5 +1,5 @@
1+++
1+++
2−title = "Apprenticeship: 3rd Party Software Distribution"
2+title = "Kernel Apprenticeship: 3rd Party Software Distribution"
3date = 2021-02-01
3date = 2021-02-01
4[taxonomies]
4[taxonomies]
5grant_type = ["apprenticeships"]
5grant_type = ["apprenticeships"]
content/grants/apprenticeships/ua-collaborative-text-editor.md+1−1
@@ -1,5 +1,5 @@
1+++
1+++
2−title = "Apprenticeship: Collaborative text editor and annotator"
2+title = "Userspace Apprenticeship: Collaborative text editor and annotator"
3date = 2021-05-27
3date = 2021-05-27
4[taxonomies]
4[taxonomies]
5grant_type = ["apprenticeships"]
5grant_type = ["apprenticeships"]
content/grants/apprenticeships/ua-filesharer.md+1−1
@@ -1,5 +1,5 @@
1+++
1+++
2−title = "Apprenticeship: Filesharer"
2+title = "[Closed] Userspace Apprenticeship: Filesharer"
3date = 2021-05-27
3date = 2021-05-27
4[taxonomies]
4[taxonomies]
5grant_type = ["apprenticeships"]
5grant_type = ["apprenticeships"]
content/grants/apprenticeships/ua-heads-up-poker.md+1−1
@@ -1,5 +1,5 @@
1+++
1+++
2−title = "Apprenticeship: Heads-up poker"
2+title = "[Closed] Userspace Apprenticeship: Heads-Up Poker"
3date = 2021-05-27
3date = 2021-05-27
4[taxonomies]
4[taxonomies]
5grant_type = ["apprenticeships"]
5grant_type = ["apprenticeships"]
content/grants/apprenticeships/ua-marketplace.md+1−1
@@ -1,5 +1,5 @@
1+++
1+++
2−title = "Apprenticeship: Marketplace"
2+title = "Userspace Apprenticeship: Marketplace"
3date = 2021-05-27
3date = 2021-05-27
4[taxonomies]
4[taxonomies]
5grant_type = ["apprenticeships"]
5grant_type = ["apprenticeships"]