aboutsummaryrefslogtreecommitdiff
path: root/gsoc
diff options
context:
space:
mode:
authorHisham <hisham@gobolinux.org>2017-02-09 14:36:00 -0200
committerHisham <hisham@gobolinux.org>2017-02-09 14:36:00 -0200
commit6f1e199250c8ccbff6187f2b7ccf917bb8f375c8 (patch)
tree5fdb7c80fa16c726194bfb631bd3de9f40029a6e /gsoc
parentb7d5ed8b5b8d1e525ad553e6e22dcea1635e7271 (diff)
downloadluarocks-6f1e199250c8ccbff6187f2b7ccf917bb8f375c8.tar.gz
luarocks-6f1e199250c8ccbff6187f2b7ccf917bb8f375c8.tar.bz2
luarocks-6f1e199250c8ccbff6187f2b7ccf917bb8f375c8.zip
Add pages for LuaRocks GSoC 2017 org application
Diffstat (limited to 'gsoc')
-rw-r--r--gsoc/apply2017.html74
-rw-r--r--gsoc/ideas2017.html254
2 files changed, 328 insertions, 0 deletions
diff --git a/gsoc/apply2017.html b/gsoc/apply2017.html
new file mode 100644
index 00000000..7046f20d
--- /dev/null
+++ b/gsoc/apply2017.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 2017</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/ideas2017.html b/gsoc/ideas2017.html
new file mode 100644
index 00000000..23701838
--- /dev/null
+++ b/gsoc/ideas2017.html
@@ -0,0 +1,254 @@
1<!doctype html>
2<html>
3<head>
4<title>Ideas List - Google Summer of Code 2017</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 2017</h2>
32
33<ul>
34<li><a href="#social">
35Social enhancements for LuaRocks.org
36</a></li>
37<li><a href="#orgsite">
38Module management enhancements for LuaRocks.org
39</a></li>
40<li><a href="#gui">
41A GUI front-end for LuaRocks
42</a></li>
43<li><a href="#typedlua">
44Port LuaRocks to Typed Lua and make it a library
45</a></li>
46<li><a href="#distro">
47Auto-building distro packages
48</a></li>
49<li><a href="#static">
50Static build support for LuaRocks
51</a></li>
52</ul>
53
54<div class="project">
55<h3 id="social">Social enhancements for LuaRocks.org</h3>
56<h4>Brief explanation</h4>
57
58<p>
59The LuaRocks.org website is where Lua users and developers find and upload Lua modules. Users
60can currently create accounts for uploading modules and also for "following" modules, which
61produces notifications in the top bar when other users follow your modules. There's a lot
62more, however, that we could add to improve the site experience, such as:
63</p>
64
65<ul>
66<li>add the distinction betwen "starring"/following modules, like GitHub</li>
67<li>add the ability to follow developers</li>
68<li>show a feed of updates to modules you star</li>
69<li>send an email digest for modules you follow</li>
70<li>and other ideas!</li>
71</ul>
72
73<h4>Knowledge prerequisites</h4>
74<ul>
75<li>Lua</li>
76<li>web development</li>
77<li>LuaRocks experience is a plus</li>
78<li>MoonScript is a plus (but can be learned for the project)</li>
79</ul>
80
81<h4>Skill level</h4>
82<p>medium</p>
83
84<h4>Mentor</h4>
85<p>
86<a href="http://leafo.net/">Leaf Corcoran</a>
87</p>
88</div>
89
90<div class="project">
91<h3 id="orgsite">Module management enhancements for LuaRocks.org</h3>
92<h4>Brief explanation</h4>
93
94<p>
95The LuaRocks.org website is where Lua users and developers find and upload Lua modules. Users
96can currently create accounts for uploading modules, and each module becomes attached to one
97user account. For organizations with multiple developers, this can prove cumbersome. Also,
98the only ways to upload modules are via the command-line tool or via the web interface.
99This project aims to improve LuaRocks.org support for organizations, via two main goals:
100</p>
101
102<ul>
103<li>Organization accounts/modules shared across accounts, showing module stats on
104module pages</li>
105<li>Better GitHub integration: automatically creating new module
106versions with webhook, automatically syncing readme, showing module popularity
107on GitHub</li>
108</ul>
109
110<h4>Knowledge prerequisites</h4>
111<ul>
112<li>Lua</li>
113<li>web development</li>
114<li>JSON and REST APIs</li>
115<li>LuaRocks experience is a plus</li>
116<li>MoonScript is a plus (but can be learned for the project!)</li>
117<li>experience with the GitHub API would be a major plus</li>
118</ul>
119
120<h4>Skill level</h4>
121<p>medium</p>
122
123<h4>Mentor</h4>
124<p>
125<a href="http://leafo.net/">Leaf Corcoran</a>
126</p>
127</div>
128
129<div class="project">
130<h3 id="gui">A GUI front-end for LuaRocks</h3>
131<h4>Brief explanation</h4>
132
133<p>
134A cross-platform GUI desktop front-end for LuaRocks. It should allow users to
135search for rocks, list installed rocks, install and remove them, view rock
136details, etc. There are some options on portable Lua toolkits for developing
137this front-end (WxLua, TekUI, QtLua, etc.)
138</p>
139
140<p>
141A possible side-result of this project would be to define an API for
142interfacing the LuaRocks backend. The LuaRocks backend is currently accessible
143via the command-line tool, but an API is desired. By making a API wrapper around
144the command-line tool, this project could provide good insights into a design
145for an UI-agnostic API.
146</p>
147
148<h4>Knowledge prerequisites</h4>
149<ul>
150<li>Lua</li>
151<li>LuaRocks experience is a plus</li>
152<li>some previous experience with UI APIs is preferred</li>
153</ul>
154
155<h4>Skill level</h4>
156<p>easy/medium</p>
157
158<h4>Mentor</h4>
159<p>
160<a href="http://thijsschreijer.nl/">Thijs Schreijer</a>
161</p>
162</div>
163
164<div class="project">
165<h3 id="typedlua">Port LuaRocks to Typed Lua and make it a library</h3>
166<h4>Brief explanation</h4>
167
168<p>
169LuaRocks is currently not a reentrant library. We would like to make usable as
170a library, embeddable into applications. This would require a good deal of
171refactoring, and encapsulating all state into a main instance object. Porting
172the code base to Typed Lua would be a great opportunity to make the codebase
173reentrant. Since Typed Lua generates plain Lua, it would not become a new
174dependency for LuaRocks, but instead it would be used as a tool in the
175refactoring process.
176</p>
177
178<h4>Knowledge prerequisites</h4>
179<ul>
180<li>Lua</li>
181<li>LuaRocks experience is recommended</li>
182</ul>
183
184<h4>Skill level</h4>
185<p>medium/hard</p>
186
187<h4>Mentor</h4>
188<p>
189<a href="http://hisham.hm/">Hisham Muhammad</a>
190</p>
191</div>
192
193<div class="project">
194<h3 id="distro">Auto-building distro packages</h3>
195<h4>Brief explanation</h4>
196
197<p>
198Making LuaRocks able to generate packages for Linux distributions. We could
199have a build farm which builds all rocks for, say, Arch Linux, and then a
200repository of binary rocks that can be installed with Pacman, similar to
201<a href="https://wiki.archlinux.org/index.php/ArchHaskell">ArchHaskell</a>.
202</p>
203
204<h4>Knowledge prerequisites</h4>
205<ul>
206<li>Lua</li>
207<li>distro packaging</li>
208<li>LuaRocks is a plus</li>
209</ul>
210
211<h4>Skill level</h4>
212<p>medium</p>
213
214<h4>Mentor</h4>
215<p>
216<a href="http://catwell.info/">Pierre Chapuis</a>
217</p>
218</div>
219
220<div class="project">
221<h3 id="static">Static build support for LuaRocks</h3>
222<h4>Brief explanation</h4>
223
224<p>
225LuaRocks currently builds Lua modules as dynamic libraries. The aim of this
226project is to add support for building static libraries. The local manifest
227format needs to be extended. Also, research if it would be possible to make
228that work beyond the LuaRocks 'builtin' rockspec mode (including a possible
229extension of the rockspec format). Another possibility is adding a command
230that builds a custom interpreter bundling a set of rocks statically. Other
231targets benefitting from static builds could be embedded systems: research how
232to improve LuaRocks support for cross-compiling.
233</p>
234
235<h4>Knowledge prerequisites</h4>
236<ul>
237<li>Lua</li>
238<li>LuaRocks experience is recommended</li>
239</ul>
240
241<h4>Skill level</h4>
242<p>medium</p>
243
244<h4>Mentor</h4>
245<p>
246<a href="http://daurnimator.com/">Daurnimator</a>
247</p>
248</div>
249
250 </div>
251 </div>
252 </div>
253</body>
254</html>