aboutsummaryrefslogtreecommitdiff
path: root/gsoc
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2019-02-06 19:53:36 +0100
committerHisham Muhammad <hisham@gobolinux.org>2019-02-06 21:10:31 +0100
commit583b13c96e44b8aea08355d791f73d2546dae6bc (patch)
treefd1f8a6b56c30c9267e05c601817d02718d9b24c /gsoc
parentda6a2ff2e2f32ac5a0cc8c570db7b67384814a8b (diff)
downloadluarocks-583b13c96e44b8aea08355d791f73d2546dae6bc.tar.gz
luarocks-583b13c96e44b8aea08355d791f73d2546dae6bc.tar.bz2
luarocks-583b13c96e44b8aea08355d791f73d2546dae6bc.zip
GSoC 2019
Diffstat (limited to 'gsoc')
-rw-r--r--gsoc/apply2019.html74
-rw-r--r--gsoc/ideas2019.html250
2 files changed, 324 insertions, 0 deletions
diff --git a/gsoc/apply2019.html b/gsoc/apply2019.html
new file mode 100644
index 00000000..e311ced1
--- /dev/null
+++ b/gsoc/apply2019.html
@@ -0,0 +1,74 @@
1<!doctype html>
2<html>
3<head>
4<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400italic,400,700" type="text/css"/>
5<link rel="stylesheet" href="../style.css" type="text/css"/>
6<style>
7table {
8 width: 100%;
9}
10td {
11 padding: 5px;
12 background-color: white;
13 border: 1px solid #c1cce4;
14}
15h3 {
16 border-bottom: solid 2px black;
17}
18
19</style>
20</head>
21<body>
22 <div class="content">
23 <div class="header"><div class="header_inner"><div class="user_panel"><a href="https://github.com/keplerproject/luarocks/wiki/Download">Install</a> &middot; <a href="https://github.com/keplerproject/luarocks/wiki/Documentation">Docs</a> &middot; <a href="https://luarocks.org/login">Log In</a> &middot; <a href="https://luarocks.org/register">Register</a></div><a href="https://luarocks.org/"><img alt="LuaRocks" class="text_logo" src="https://luarocks.org/static/header_luarocks_name.svg"/></a><form method="GET" action="https://luarocks.org/search" class="header_search"><input type="text" placeholder="Search modules or uploaders..." name="q"/></form></div></div>
24 <div class="index_page">
25 <div class="main_column">
26
27<h2>Student Application - Google Summer of Code 2019</h2>
28
29<p><i>(Many thanks to LabLua for the student application template on which this one is largely based!)</i></p>
30
31<h3>Basics</h3>
32
33<ol><li>What is your preferred email address?
34</li><li>Do you have a web page / blog / GitHub account?
35</li><li>What is your academic background?
36</li><li>What other time commitments, such as school work, another job (<i>GSoC is a full-time activity!</i>), or planned vacations will you have during the period of GSoC?
37</li></ol>
38
39<h3>Experience</h3>
40
41<ol><li>What programming languages are you fluent in? Which tools do you normally use for development?
42</li><li>Are you familiar with the Lua programming language? Have you developed any projects using Lua?
43</li><li>Have you ever used LuaRocks?
44</li><li>Have you developed software in a team environment before? Any projects with actual users?
45</li><li>What kinds of projects/software have you worked on previously?
46 (anything larger than a class project: academic research,
47 internships, freelance, hobby projects, etc.)
48</li><li>Are you (or have you been) involved with any free software development project? If so, briefly describe the project and the scope of your involvement.
49</li></ol>
50
51<h3>PROJECT</h3>
52
53<ol><li>Did you select a project from our list? If yes, which project did
54 you select? Why did you choose this project?
55 If you are proposing a project, give a description of your proposal,
56 including the expected results.
57</li><li>Please provide a schedule with dates and important milestones/deliverables,
58in two week increments).
59</li><li>What will be showable one month into the project?
60</li><li>What will be showable two months into the project?
61</li></ol>
62
63<h3>GSOC</h3>
64
65<ol><li>Have you participated as a student in GSoC before? If so, How many times, which year, which project?
66</li><li>Have you applied but were not selected? When, and to which organization?
67</li><li>Did you apply this year to any other organizations?
68</li></ol>
69
70 </div>
71 </div>
72 </div>
73</body>
74</html>
diff --git a/gsoc/ideas2019.html b/gsoc/ideas2019.html
new file mode 100644
index 00000000..31aa6c98
--- /dev/null
+++ b/gsoc/ideas2019.html
@@ -0,0 +1,250 @@
1<!doctype html>
2<html>
3<head>
4<title>Ideas List - Google Summer of Code 2019</title>
5<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400italic,400bold,400,700" type="text/css"/>
6<link rel="stylesheet" href="../style.css" type="text/css"/>
7<style>
8table {
9 width: 100%;
10}
11td {
12 padding: 5px;
13 background-color: white;
14 border: 1px solid #c1cce4;
15}
16h3 {
17 border-bottom: solid 2px black;
18}
19h4 {
20 font-style: italic;
21 border-bottom: solid 1px #c0c0c0;
22}
23</style>
24</head>
25<body>
26 <div class="content">
27 <div class="header"><div class="header_inner"><div class="user_panel"><a href="https://github.com/keplerproject/luarocks/wiki/Download">Install</a> &middot; <a href="https://github.com/keplerproject/luarocks/wiki/Documentation">Docs</a> &middot; <a href="https://luarocks.org/login">Log In</a> &middot; <a href="https://luarocks.org/register">Register</a></div><a href="https://luarocks.org/"><img alt="LuaRocks" class="text_logo" src="https://luarocks.org/static/header_luarocks_name.svg"/></a><form method="GET" action="https://luarocks.org/search" class="header_search"><input type="text" placeholder="Search modules or uploaders..." name="q"/></form></div></div>
28 <div class="index_page">
29 <div class="main_column">
30
31<h2>Ideas List - Google Summer of Code 2019</h2>
32
33
34<div class="project">
35<h3>Expression-level coverage analysis for LuaCov</h3>
36
37<h4>Brief explanation</h4>
38
39<p>
40LuaCov only offers line-level coverage analysis, meaning that it can tell if a line executed or not, but not if every possible branch within that line executed. That means, for example, that if a statement like <tt>if x and y > 20 then return 10 end</tt> is written in a single line, we don't have coverage information if it has been tested both with the condition being true and being false. This is due to a limitation in the Lua <tt>debug</tt> library, which only gives traces with at most line granularity. The idea of this project is to patch the Lua VM adding expression-level tracing, and then adjusting LuaCov to make it use it.
41</p>
42
43<h4>Knowledge prerequisites</h4>
44<ul>
45<li>C</li>
46<li>Lua</li>
47</ul>
48
49<h4>Mentor</h4>
50<p>
51<a href="http://hisham.hm/">Hisham Muhammad</a> - <a href="mailto:h@hisham.hm">h@hisham.hm</a>
52</p>
53</div>
54
55<!-- ------------------------------------------- -->
56<hr/>
57
58<div class="project">
59<h3>Lua graphing library</h3>
60
61<h4>Brief explanation</h4>
62
63<p>
64To create a graphical library possibly using IUP extensible by Lua to allow easy creation of software like a schematic editor/flowchart creator/mind maps/block diagrams in Lua. The library needs to create basic mechanisms and graphic checks to create custom blocks and interconnections and provide an API to use these to create complex interactions like hierarchical schematic editors, etc.
65</p>
66
67<h4>Knowledge prerequisites</h4>
68<ul>
69<li>Lua</li>
70</ul>
71
72<h4>Mentor</h4>
73<p>
74Milind Gupta - <a href="mailto:milind.gupta@gmail.com">milind.gupta@gmail.com</a>
75</p>
76</div>
77
78<!-- ------------------------------------------- -->
79<hr/>
80
81<div class="project">
82<h3>Better binary support for LuaRocks on Windows</h3>
83
84<h4>Brief explanation</h4>
85
86<p>
87Goal: have a number of binary basics available (eg. lfs, luasocket, OpenSSL based ones)
88</p>
89<p>
90Things to do:
91</p>
92
93<ul>
94<li>
95Establish a proper naming scheme to identify Windows runtime dependencies, see #786
96</li>
97<li>
98Make LR aware of the runtimes (storing in config), current MSVCRT entry
99</li>
100<li>
101Implement packing binary rocks with new binary tags
102Set up some CI which builds some basic binary rocks as a minimal set for multiple compiler targets (eg. lfs, LuaSocket)
103</li>
104<li>
105Set up some CI which builds some basic binary rocks with external dependencies as a minimal set for multiple compiler targets (eg. OpenSSL based ones)
106</li>
107<li>
108Optional: use pe-parser at LR runtime to validate that created libs adhere to the runtime required
109</li>
110<li>
111Optional: make LR installable without toolchain (just using binary rocks)
112</li>
113<li>
114Optional: integrate toolchain into LR installation
115</li>
116</ul>
117
118<p>
119See <a href="https://github.com/luarocks/luarocks/issues/788">#788</a>.
120</p>
121
122<h4>Knowledge prerequisites</h4>
123<ul>
124<li>Lua</li>
125<li>general knowledge of development on Windows platforms</li>
126</ul>
127
128
129<h4>Mentor</h4>
130<p>
131<a href="http://thijsschreijer.nl/">Thijs Schreijer</a> - <a href="mailto:thijs@thijsschreijer.nl">thijs@thijsschreijer.nl</a>
132</p>
133</div>
134
135<!-- ------------------------------------------- -->
136<hr/>
137
138<div class="project">
139<h3>
140New command line argument handling and auto-completion for luarocks
141</h3>
142
143<p>
144Update the command-line argument handling of
145LuaRocks and add support for Tab auto-completion
146support for popular shells such as bash, fish, zsh.
147</p>
148<p>
149May involve updates to the argparse library.
150</p>
151
152<p>
153See <a href="https://github.com/luarocks/luarocks/issues/879">#879</a>.
154</p>
155
156<h4>Knowledge prerequisites</h4>
157<ul>
158<li>Lua</li>
159<li>some shell scripting</li>
160</ul>
161
162<h4>Mentor</h4>
163<p>
164<a href="http://daurnimator.com/">Daurnimator</a> - <a href="mailto:quae@daurnimator.com">quae@daurnimator.com</a>
165</p>
166</div>
167
168<!-- ------------------------------------------- -->
169<hr/>
170
171<div class="project">
172<h3>
173Prosody plugin installer
174</h3>
175
176<p>
177This project would produce an easy way to install and manage plugins for the Prosody server.
178</p>
179
180<p>
181Prosody has <a href="https://modules.prosody.im">hundreds of community modules</a> that provide additional features and extensions to the core server. Currently installing these is a manual process that currently involves a number of manual steps.
182</p>
183
184<p>
185The goal of this project would be to produce simple commands to install, update and remove community modules. Rather than inventing a new package manager, the project would ideally build on top of the LuaRocks project.
186</p>
187
188
189<p>Deliverables / Expected Results:</p>
190
191<ul>
192<li>
193Commands to install, update, remove and list installed plugins.
194</li>
195<li>
196Scripts to build and manage a repository of plugins.
197</li>
198</ul>
199
200<p>
201Milestones:
202</p>
203
204<ul>
205<li>Implement command to install a plugin from a repository
206</li>
207<li>
208Implement commands to remove and update installed plugins
209</li>
210<li>
211Develop scripts to build a plugin repository.
212</li>
213</ul>
214
215<p>More info:</p>
216
217<ul>
218<li> Website: <a href="https://prosody.im/">https://prosody.im/</a>
219</li>
220<li> Source Code: <a href="https://hg.prosody.im/">https://hg.prosody.im/</a>
221</li>
222<li> Description: Prosody is a lightweight XMPP server that aims to be easy to set up and configure, and efficient with system resources.
223</li>
224<li> Project Contact Person: Matthew Wild @mwild1 <mwild1@gmail.com>
225</li>
226<li> List of Teaser Tasks: <a href="https://issues.prosody.im/?q=state%3Dopen+difficulty%3Deasy">https://issues.prosody.im/?q=state%3Dopen+difficulty%3Deasy</a>
227</li>
228<li> Contact chat: <a href="https://chat.prosody.im/">https://chat.prosody.im/</a>
229</li>
230</ul>
231
232<h4>Knowledge prerequisites</h4>
233<ul>
234<li>Lua</li>
235</ul>
236
237<h4>Mentors</h4>
238<p>
239<a href="http://github.com/mwild1/">Matthew Wild</a> - <a href="mailto:mwild1@gmail.com">mwild1@gmail.com</a>
240<br/>
241<a href="http://github.com/zash/">Kim Alvefur</a>
242</p>
243</div>
244
245
246 </div>
247 </div>
248 </div>
249</body>
250</html>