diff options
author | ng0 <ng0@n0.is> | 2019-03-22 12:30:10 +0000 |
---|---|---|
committer | ng0 <ng0@n0.is> | 2019-03-22 12:30:10 +0000 |
commit | b9d3f0a1f804ab6a5863014ab5a7353a894335da (patch) | |
tree | 3e0798361fe9929c259532913740de228d2d87b5 | |
parent | 5867aa933ae5f1a73d41a210b94de6359f280edd (diff) | |
download | www-b9d3f0a1f804ab6a5863014ab5a7353a894335da.tar.gz www-b9d3f0a1f804ab6a5863014ab5a7353a894335da.zip |
Import older gsoc
-rw-r--r-- | template/gsoc.html.j2 | 331 |
1 files changed, 321 insertions, 10 deletions
diff --git a/template/gsoc.html.j2 b/template/gsoc.html.j2 index 7d4a19ea..312d6153 100644 --- a/template/gsoc.html.j2 +++ b/template/gsoc.html.j2 | |||
@@ -23,7 +23,10 @@ | |||
23 | It is time for GNUnet to run properly on Android. Note that | 23 | It is time for GNUnet to run properly on Android. Note that |
24 | GNUnet is written in C, and this is not about rewriting | 24 | GNUnet is written in C, and this is not about rewriting |
25 | GNUnet in Java, but about getting the C code to run on Android. | 25 | GNUnet in Java, but about getting the C code to run on Android. |
26 | <br> | 26 | {% endtrans %} |
27 | </p> | ||
28 | <p> | ||
29 | {% trans %} | ||
27 | Mentor: <a href="https://www.goebel-consult.de/">Hartmut Goebel</a> | 30 | Mentor: <a href="https://www.goebel-consult.de/">Hartmut Goebel</a> |
28 | {% endtrans %} | 31 | {% endtrans %} |
29 | </p> | 32 | </p> |
@@ -41,7 +44,10 @@ | |||
41 | regression analysis. Running jobs only when dependencies have changed | 44 | regression analysis. Running jobs only when dependencies have changed |
42 | and scripting more granular triggers or ideally automatic dependency | 45 | and scripting more granular triggers or ideally automatic dependency |
43 | discovery (as done by the autotools) is also important. | 46 | discovery (as done by the autotools) is also important. |
44 | <br> | 47 | {% endtrans %} |
48 | </p> | ||
49 | <p> | ||
50 | {% trans %} | ||
45 | Mentor: TBD | 51 | Mentor: TBD |
46 | {% endtrans %} | 52 | {% endtrans %} |
47 | </p> | 53 | </p> |
@@ -158,16 +164,321 @@ | |||
158 | {% endtrans %} | 164 | {% endtrans %} |
159 | </p> | 165 | </p> |
160 | </section> | 166 | </section> |
167 | <!-- Past projects: Previously proposed, but left unfinished. Inspiration for students. --> | ||
168 | <h2>{{ _("Past projects") }}</h2> | ||
169 | <section> | ||
170 | <h4>Rust APIs for GNUnet services</h4> | ||
171 | <p> | ||
172 | {% trans %} | ||
173 | There are a variety of GNUNet APIs that should be | ||
174 | exposed in the Rust wrappers. Implementing these will | ||
175 | require extending the port of GNUNet utils written by | ||
176 | Andrew Cann and Kelong Cong. | ||
177 | {% endtrans %} | ||
178 | </p> | ||
179 | <p> | ||
180 | {% trans %} | ||
181 | As an introduction to the code base, we suggest that the | ||
182 | student and Jeff Burdges together update the | ||
183 | asynchronous IO system from gjio to futures-rs or | ||
184 | another layer built upon it. Jeff Burdges is expected | ||
185 | to concurrently be implementing a GNUNet API for his own | ||
186 | mix network work. | ||
187 | {% endtrans %} | ||
188 | </p> | ||
189 | <p> | ||
190 | {% trans %} | ||
191 | Mentors: Jeff Burdges | ||
192 | {% endtrans %} | ||
193 | </p> | ||
194 | <p> | ||
195 | {% trans %} | ||
196 | Required Skills: Rust | ||
197 | {% endtrans %} | ||
198 | </p> | ||
199 | <p> | ||
200 | {% trans %} | ||
201 | Difficulty level: low | ||
202 | {% endtrans %} | ||
203 | </p> | ||
204 | </section> | ||
205 | <section> | ||
206 | <h3>Tor compatibility for GNUnet</h3> | ||
207 | <p> | ||
208 | {% trans %} | ||
209 | Implement the AnycastExit spec to enable GNUnet clients | ||
210 | to connect over Tor. | ||
211 | {% endtrans %} | ||
212 | </p> | ||
213 | <p> | ||
214 | {% trans %} | ||
215 | Mentor: Jeff Burdges | ||
216 | {% endtrans %} | ||
217 | </p> | ||
218 | <p> | ||
219 | {% trans %} | ||
220 | Note: There was a Special TLDs spec to allow Tor to | ||
221 | resolve domain names using GNS over Tor too, but | ||
222 | currently that's on hold until folks think more about | ||
223 | how names should be moved around the local system. We're | ||
224 | calling this more collaborative approach NSS2 for now. | ||
225 | {% endtrans %} | ||
226 | </p> | ||
227 | <p> | ||
228 | {% trans %} | ||
229 | Required Skills: C | ||
230 | {% endtrans %} | ||
231 | </p> | ||
232 | <p> | ||
233 | {% trans %} | ||
234 | Difficulty level: medium | ||
235 | {% endtrans %} | ||
236 | </p> | ||
237 | </section> | ||
238 | <section> | ||
239 | <h3>Android compatibility for GNUnet</h3> | ||
240 | <p> | ||
241 | {% trans %} | ||
242 | Implement rudimentary Android compatibility for GNUnet, | ||
243 | in part by porting the GNUnet utils scheduler to act as | ||
244 | a thin wrapper over libuv. | ||
245 | {% endtrans %} | ||
246 | </p> | ||
247 | <p> | ||
248 | {% trans %} | ||
249 | Mentors: Jeff Burdges and Christian Grothoff | ||
250 | {% endtrans %} | ||
251 | </p> | ||
252 | </section> | ||
253 | <section> | ||
254 | <h3>Implementation of a replacement for PANDA</h3> | ||
255 | <p> | ||
256 | {% trans %} | ||
257 | Implementation of a replacement for PANDA (see Pond) | ||
258 | with better security, and maybe integration with the GNU | ||
259 | Name System for key exchange. | ||
260 | {% endtrans %} | ||
261 | </p> | ||
262 | <p> | ||
263 | {% trans %} | ||
264 | Mentor: Jeff Burdges | ||
265 | {% endtrans %} | ||
266 | </p> | ||
267 | <p> | ||
268 | {% trans %} | ||
269 | Required Skills: Rust or C, crypto | ||
270 | {% endtrans %} | ||
271 | </p> | ||
272 | <p> | ||
273 | {% trans %} | ||
274 | Difficulty level: high | ||
275 | {% endtrans %} | ||
276 | </p> | ||
277 | </section> | ||
278 | <section> | ||
279 | <h3>GNUnet Web-based User Interface</h3> | ||
280 | <p> | ||
281 | {% trans %} | ||
282 | Implementation of a Web-based UI for GNUnet similar to | ||
283 | GNUnet-Gtk with a yet to be determined framework such as | ||
284 | Angular2. This includes the design and implementation of | ||
285 | not yet existing <a href="http://jsonapi.org/">REST APIs</a> | ||
286 | that expose the | ||
287 | <a href="https://gnunet.org/doxygen/modules.html">GNUnet API</a>. | ||
288 | {% endtrans %} | ||
289 | </p> | ||
290 | <p> | ||
291 | {% trans %} | ||
292 | Mentor: Martin Schanzenbach | ||
293 | {% endtrans %} | ||
294 | </p> | ||
295 | <p> | ||
296 | {% trans %} | ||
297 | Required Skills: C, JavaScript, CSS | ||
298 | {% endtrans %} | ||
299 | </p> | ||
300 | <p> | ||
301 | {% trans %} | ||
302 | Difficulty level: medium | ||
303 | {% endtrans %} | ||
304 | </p> | ||
305 | </section> | ||
306 | <section> | ||
307 | <h3>secushare: Implement social networking features on top of pubsub channels</h3> | ||
308 | <p> | ||
309 | {% trans %} | ||
310 | Implement different place types and file sharing by | ||
311 | creating a new place for the shared content. | ||
312 | {% endtrans %} | ||
313 | </p> | ||
314 | <p> | ||
315 | {% trans %} | ||
316 | Place types to be implemented: | ||
317 | {% endtrans %} | ||
318 | </p> | ||
319 | {% trans %} | ||
320 | <ul> | ||
321 | <li>File: generic file with comments</li> | ||
322 | <li>Image: display an image with comments referencing a region of the image</li> | ||
323 | <li>Sound: play a sound file with comments referencing a timestamp</li> | ||
324 | <li>Directory/Album: pointers to File / Image / Sound places</li> | ||
325 | <li>Event: with RSVP</li> | ||
326 | <li>Survey: ask your social neighborhood questions in a structured form</li> | ||
327 | </ul> | ||
328 | {% endtrans %} | ||
329 | <p> | ||
330 | {% trans %} | ||
331 | Also provide the following UI functionality: | ||
332 | {% endtrans %} | ||
333 | </p> | ||
334 | {% trans %} | ||
335 | <ul> | ||
336 | <li>Fork existing channels, reorganize people into new chatrooms or channels.</li> | ||
337 | <li>Share a post (edit and repost something elsewhere, on a fan page for example).</li> | ||
338 | <li>Edit a previously published post + offer edit history to readers.</li> | ||
339 | <li>Control expiry of channel history.</li> | ||
340 | </ul> | ||
341 | {% endtrans %} | ||
342 | <p> | ||
343 | {% trans %} | ||
344 | See also <a href="http://secushare.org/features">http://secushare.org/features</a> | ||
345 | {% endtrans %} | ||
346 | </p> | ||
347 | <p> | ||
348 | {% trans %} | ||
349 | Mentors: lynX | ||
350 | {% endtrans %} | ||
351 | </p> | ||
352 | <p> | ||
353 | {% trans %} | ||
354 | Required Skills: C/C++ | ||
355 | {% endtrans %} | ||
356 | </p> | ||
357 | <p> | ||
358 | {% trans %} | ||
359 | Difficulty level: high | ||
360 | {% endtrans %} | ||
361 | </p> | ||
362 | </section> | ||
363 | <section> | ||
364 | <h4>secushare: Implement a Social Graph API for adoption and more</h4> | ||
365 | <p> | ||
366 | {% trans %} | ||
367 | Implement aggregation of distributed state from | ||
368 | various channels | ||
369 | in order to provide for a powerful social graph API capable of | ||
370 | producing social network profiles, dashboards, | ||
371 | a calendar out of | ||
372 | upcoming event invitations (if available), | ||
373 | social search functionality | ||
374 | and most of all to make it easy for users to | ||
375 | adopt cryptographic | ||
376 | identities of their contacts/friends simply by finding | ||
377 | them in the | ||
378 | social graph of their | ||
379 | existing contacts ("This is Linda. You have 11 | ||
380 | contacts in common with her. [ADD]"). | ||
381 | {% endtrans %} | ||
382 | </p> | ||
383 | <p> | ||
384 | {% trans %} | ||
385 | Related to | ||
386 | <a href="http://secushare.org/rendezvous">secushare.org/rendezvous</a> | ||
387 | {% endtrans %} | ||
388 | </p> | ||
389 | <p> | ||
390 | {% trans %} | ||
391 | Mentors: t3sserakt, lynX | ||
392 | {% endtrans %} | ||
393 | </p> | ||
394 | <p> | ||
395 | {% trans %} | ||
396 | Required Skills: C | ||
397 | {% endtrans %} | ||
398 | </p> | ||
399 | <p> | ||
400 | {% trans %} | ||
401 | Difficulty level: high | ||
402 | {% endtrans %} | ||
403 | </p> | ||
404 | </section> | ||
405 | <section> | ||
406 | <h4>secushare: Implement integration with tradition e-mail</h4> | ||
407 | {% trans %} | ||
408 | <ul> | ||
409 | <li> | ||
410 | Emulate IMAP/SMTP protocols as necessary to transform | ||
411 | traditional mail clients into secushare user | ||
412 | interfaces. | ||
413 | </li> | ||
414 | <li> | ||
415 | Think of ways to map e-mail addresses to secushare | ||
416 | identities. | ||
417 | </li> | ||
418 | <li> | ||
419 | Encode or translate various e-mail features into | ||
420 | secushare equivalents. | ||
421 | </li> | ||
422 | <li> | ||
423 | Parts of secushare are currently written in Rust, | ||
424 | therefore Rust is preferred for this task but it is | ||
425 | not an requirement. | ||
426 | </li> | ||
427 | </ul> | ||
428 | {% endtrans %} | ||
429 | <p> | ||
430 | {% trans %} | ||
431 | Mentors: t3sserakt, lynX | ||
432 | {% endtrans %} | ||
433 | </p> | ||
434 | <p> | ||
435 | {% trans %} | ||
436 | Required Skills: C | ||
437 | {% endtrans %} | ||
438 | </p> | ||
439 | <p> | ||
440 | {% trans %} | ||
441 | Difficulty level: high | ||
442 | {% endtrans %} | ||
443 | </p> | ||
444 | </section> | ||
445 | <section> | ||
446 | <h4>GNUnet auction</h4> | ||
447 | <p> | ||
448 | {% trans %} | ||
449 | Implementation of the GNUnet auction system described in | ||
450 | Chapter 3 of | ||
451 | <a href="https://gnunet.org/libbrand-thesis">this thesis</a>. | ||
452 | Specific tasks are adding smart | ||
453 | contract creation and round time enforcement to | ||
454 | libbrandt as well as creating the | ||
455 | GNUnet auction service, library and the three user interface | ||
456 | programs create, info and join. | ||
457 | {% endtrans %} | ||
458 | </p> | ||
459 | <p> | ||
460 | {% trans %} | ||
461 | Mentors: mate, cg | ||
462 | {% endtrans %} | ||
463 | </p> | ||
464 | <p> | ||
465 | {% trans %} | ||
466 | Required Skills: C | ||
467 | {% endtrans %} | ||
468 | </p> | ||
469 | <p> | ||
470 | {% trans %} | ||
471 | Difficulty level: medium | ||
472 | {% endtrans %} | ||
473 | </p> | ||
474 | </section> | ||
161 | <!-- | 475 | <!-- |
162 | Past projects: Previously proposed, but left | 476 | <h2>{{ _("Finished projects") }}</h2> |
163 | unfinished. Inspiration for students. | 477 | --> |
164 | --> | ||
165 | <!-- <h2>{{ _("Past projects") }}</h2> --> | ||
166 | <!-- | 478 | <!-- |
167 | Commentary: Finished projects, descriptions and | 479 | Commentary: Finished projects, descriptions and |
168 | Links to write-ups about them. | 480 | Links to write-ups about them. |
169 | --> | 481 | --> |
170 | <!-- <h2>{{ _("Finished projects") }}</h2> --> | ||
171 | </div> | 482 | </div> |
172 | </article> | 483 | </article> |
173 | {% endblock body_content %} | 484 | {% endblock body_content %} |