What are the requirements to ensure being selected for the GSOC17

Hi,

My name is Kevin Avignon. I’m finishing my undergrad in software engineering. This summer, I’ll have one class occurring once a week for managing software projects. It’s not a class that requires a lot of attention.

A quick look into my background. I’ve done three internships in .NET; one where I did a csv parsing tool to generate performance reports in Excel with summary tables and charts to explain what occurred during the execution of web requests.

In the second one, I worked closely with Roslyn (the .NET compiler) to perform code analysis on source code. With Roslyn, it’s possible to analyze and refactor code through analyzers and code fix providers; I’ve done both. This line of work continued in the GSOC15 with Mono Project where I ported code analysis done with FxCop which was then deprecated.

In my last internship, I did code code architecture re-design to reduce coupling in 5 libraries for unit access control (security company). Through that internship, that first started as full-time for four months and then moved to a part-time position, I got to work with functional programming with F# for 8 months. I had to integrate a license plate hardware camera into a our software product used for remote access control to grant access to known license plates.

My last real project I worked with was last fall when I designed and implemented (not fully) a tactical role playing game library in functional programming with F# and Akka.NET where you can find a merchant system, a shared inventory amongst the members of a team, the AI of the units (implemented with Q-Learning) and an “exhaustive” domain model for the arsenal. You can take a peek on my GitHub account under the username Kavignon and organization(GameOfLightAndShadows). The project’s name is SmarTac.

Other than that, I have my blog where I talk about software development and I try to be as active as possible on stackoverflow.

Looking at the projects that here for the summer program, I’m looking forward to it; I’d love the occasion to leverage what I’ve learned about FP in F# to move to Scala and get to know more. Right now, I’m interested by the following projects :

  1. Reimplement the JDK in Scala-Native

  2. Slick bug and feature hunt

  3. Dotty Documentation Compiler

I’d like to know, based on the profile I gave, for which project(s) I should focus more on to be sure to be selected this coming summer! Thanks !

Hi Kevin,

I’m mentoring the project “Re-implement the JDK in Scala-Native”. It look like you have a solid experience in F#. Having experience in a functional programming language is a big plus.

I would recommend learning some Scala first. Here are the top resources in my opinion:

  1. Coursera
  2. Stair Book
  3. Red Book

Another good idea would be to try Scala-Native. Start by installing the required software and compile a Hello World:

http://scala-native.readthedocs.io/en/latest/user/sbt.html#building-projects-with-sbt

For this project, we will have to inter-op with c code alot. Read the inter-op guide:

http://scala-native.readthedocs.io/en/latest/user/interop.html

We already started the implementation of the JDK. When the project starts we will define the classes and methods to implement.

You can also ask questions in the gitter channels: