[Interop-dev] GSoC 2017 student application

Nemesis (spam-protected)
Mon Mar 13 12:40:30 CET 2017


Welcome back Xiang,

On 03/10/2017 07:58 PM, GeekPlux wrote:
> I’m so sorry for the late reply, because I’m fighing for a deadline for
> a paper job.

No problem.

>   NetJSON project proposal
> 
> 
>     About me
> 
>   * Name: Xiang Gao (高翔)
>   * Email: (spam-protected) <mailto:(spam-protected)>
>   * Blog: http://geekplux.com/
>   * GitHub: https://github.com/geekplux
>   * Twitter: https://twitter.com/geekplux
>   * LinkedIn: https://www.linkedin.com/in/geekplux/
>   * Country: China
> 
> Please click on the links above to find more information about me.
> 
> /Who are you? What’s the focus of your studies? What makes you the best
> person to work on this project?/
> 
>   * I’m a graduate student studying in Hangzhou Normal university, and
>     graduated from Qiongzhou university in China.
>   * I’m a front-end developer with more than one-year working
>     experience. But now I am interested in the Data Visualization and
>     already made several visualization projects of network structure.
>     Some demos using D3 are listed on my GitHub, I can send you more
>     code fragments if you need.
>   * I use JS and a few Python ordinarily. I’ve used the main trend
>     frameworks like Vue, React and Angular1.x, and recently I usually
>     use D3 to do a visualization work.
> 
> 
>     Experiences in Free Open Source Software
> 
> /What free and/or open source projects have you participated in? Please
> describe your contributions, provide us links to your features and commits./
> 
> If you go to https://opensourcecontributo.rs/user/geekplux, you can see
> my most contributions on GitHub which focused on Front-End and used
> JavaScript. Some contribution like
> https://github.com/CodeFalling/hexo-renderer-org/commits?author=geekplux
> is not find in this page.

If you want to improve the application text, you could mention the two
most important projects you have done and why you think those two are
important to you.

> 
>     Project Proposal
> 
> Thanks for your previous letters, I’ve understood your goal.
> 
>   * Project Title: NetJSON-Vis
>   * Possible Mentor: Nemesis
> 
> 
>       Description
> 
>     netjsongraph.js has attracted quite some interest from around the
>     world, but I couldn’t dedicate much time to it recently. It is also
>     lacking automated tests and a modern build process. Probably it
>     would be better to develop it using ES6 (which have some kind of
>     built-in templating feature) and transpile it with babel.js.
> 
>     Our goals should be the following:
> 
>       * make it faster with large numbers
>       * make it more mobile friendly
>       * use modern tools that are familiar to JS developers, so they can
>         contribute more easily
>       * add automated tests so we can be more confident of introducing
>         changes
>       * get rid of complex features
>       * make it easy to extend, so users can experiment and build their
>         own derivatives
>       * make it easy to redraw/update the graph as new data comes in, at
>         least at the library level we should support this
> 
> I recommend to use the http://sigmajs.org/ . If the performance is
> bottleneck, We can use canvas or WebGL directly to draw a graph.

Sounds good.

Did you mention anything about an optional geographic map?

>       Tasks and Schedule
> 
>   * initial work: (create a new repo?) build a project with yarn,
>     Webpack and Babel. /1~2 days/
>   * draw a demo graph using canvas or WebGL. /1 week/
>   * make a example page to show visualization results. /1~2days/
>   * add test(using Ava and XO) and CI. /1~2days/
>   * discuss and design visualization view /1 week/
>   * visualization implemention. /6 weeks/
>   * beautify the visualization. /1 weeks/
>   * publish to npm. /1 day/
>   * improve visualization and test. /2 weeks/
>   * design interface for plugin /1 week/
> 
> My estimate of time is not accurate and it might be a bit short.

I understand.

> I think our implemention is data-driven, so we should design a data
> store for graph generation. When the data store update, the graph will
> update, too.

Good point, but we want this library to be agnostic in respect to the
datastore. So we should probably allow it to receive input data in the
following ways:

* pass a json object directly
* pass a URL

To redraw the graph, we could simply design a redraw mechanism (eg a
method or a function) if possible, so this method can be called by third
party apps that will use the library.

>     My Availability
> 
>   * /school-related activities/
> 
> Yes. Maybe I should write some code to assist the Phd students to
> complete their paper. But I don’t have a full- or part-time job or
> internship planned for this summer. Because to go to find a
> visualization job is difficult :)
> 
> I might have at least 20 hours every week.

20 hours is not enough. The official GSOC FAQs state:

How much time does GSoC participation take?

You are expected to spend around 30+ hours a week working on your
project during the 3 month coding period. If you already have an
internship, another summer job, or plan to be gone on vacation for more
than a week during that time, GSoC is not the right program for you this
year.

--------

We need students that will work on this project as a kind of full time
job. If it goes well I will make sure to find more collaboration
opportunities for the future, but I'm looking for talented people like
you that also want to put in enough amount of hours and dedication to
make this idea successful.

>     After GSoC
> 
> /Do you have plans to continue with your project within the freifunk
> community after GSoC?/
> 
> It sounds great, I’m love to post a PR, so It’s exciting for me to be a
> long-time maintainer for NetJSON.

Maybe you intended to write "I would love to post a PR"?

> Thanks again.
> 
> Xiang

Let us know what you think about the comments I left in this reply.

Thank you!
Federico



More information about the Interop-dev mailing list